private function searchConditions() { $conditions = []; if (!$this->isNationWideBid()) { $bid = $this->getOperatorBid(); $conditions[] = '{User}.bid=' . $bid; } $post = $this->request->get(); if (isset($post['keyword']) and !empty($post['keyword'])) { $keyword = $post['keyword']; if (preg_match('/^\\d+$/', $keyword)) { $conditions[] = '{User}.uid = ' . intval($keyword); } if (\Util\Validator::isCh($keyword)) { $conditions[] = '{User}.realname = \'' . $keyword . '\''; } } if (isset($post['deal']) and in_array($post['deal'], [1, -1])) { if ($post['deal'] == 1) { $conditions[] = '{Loan}.bank!=\'\''; $conditions[] = '{Loan}.status>=' . \App\LoanStatus::getStatusRcAgree(); } else { $conditions[] = '{Loan}.status=' . \App\LoanStatus::getStatusRcAgree(); } } return $conditions; }
public static function rclist($condition = '', $limit = [10, 0]) { $baseCondition = 'LoanSketch.status=' . \App\LoanStatus::getStatusRc(); $condition = empty($condition) ? $baseCondition : $baseCondition . ' and ' . $condition; $columns = ['U.bid, B.name bname, LoanSketch.uid, LoanSketch.loan_type, LoanSketch.use_type, LoanSketch.amount, LoanSketch.deadline, LoanSketch.deadline_type, LoanSketch.days, LoanSketch.repay_method, LoanSketch.repay_source, LoanSketch.addtime']; $condition = self::formatConditions($condition); $query = self::query()->leftJoin('User', 'U.uid=LoanSketch.uid', 'U')->leftJoin('Branch', 'B.bid=U.bid', 'B')->where($condition)->orderBy('LoanSketch.addtime desc')->columns($columns); $count = $query->execute()->count(); $list = $query->limit($limit[0], $limit[1])->execute(); $list = $list ? $list->toArray() : []; return ['list' => Loan::format($list), 'count' => $count]; }
private function searchConditions() { $conditions = []; if (!$this->isNationWideBid()) { $bid = $this->getOperatorBid(); $conditions[] = '{User}.bid=' . $bid; } $post = $this->request->get(); if (isset($post['keyword']) and !empty($post['keyword'])) { $keyword = $post['keyword']; if (preg_match('/^\\d+$/', $keyword)) { $conditions[] = '{User}.uid = ' . intval($keyword); } if (\Util\Validator::isCh($keyword)) { $conditions[] = '{User}.realname = \'' . $keyword . '\''; } } $conditions[] = '{Loan}.status=' . \App\LoanStatus::getStatusRepay(); if (isset($post['deal']) and in_array($post['deal'], [1, -1])) { $conditions[] = '{Loan}.remit_certify' . ($post['deal'] == 1 ? '!=\'\'' : '=\'0\''); } $conditions[] = '{Loan}.contract=1 and {Loan}.gps=1'; return $conditions; }
public static function advise($uid, $foid, $adviseType, $reason, $loan = false) { $isLoanSketch = false; switch ($adviseType) { case 'loansketch': $status = \App\LoanStatus::getStatusSketch(); $oid = User::findFirst("uid={$uid}")->oid; $isLoanSketch = true; break; case 'visit': $status = \App\LoanStatus::getStatusCarAssess(); $oid = Visit::findFirst("uid={$uid}")->oid; $isLoanSketch = true; break; case 'car': $status = \App\LoanStatus::getStatusVisit(); $oid = Car::findFirst("uid={$uid}")->oid; $isLoanSketch = true; break; case 'face': $status = \App\LoanStatus::getStatusChecked(); $oid = Face::findFirst("uid={$uid}")->oid; $isLoanSketch = true; break; } if (empty($oid)) { return false; } if ($isLoanSketch) { $model = LoanSketch::findFirst("uid={$uid}"); $model->status = $status; $model->update(); } Advise::add($uid, $oid, $foid, $adviseType, $reason); return true; }
private function canModifyActions($uid, $status) { $advises = Advise::formatByType(Advise::getAdvisesByUid($uid)); $actions = ['loansketch' => 0, 'visit' => 0, 'car' => 0, 'face' => 0, 'rc' => 0]; $advises_undo = array_intersect_key($advises, $actions); if ($advises_undo) { $this->view->setVars(['advises' => $advises_undo]); } else { if (\App\LoanStatus::needRc($status)) { $actions['rc'] = true; } } return $actions; }
/** * 获取当前操作者所具有的面审、车评、外访等权限 * 判断是否有待处理任务、和贷款状态 */ private function canModifyActions($uid, $status, $type = null) { $apply = $this->authHasAction('apply'); $face = $this->authHasAction('face'); $visit = $this->authHasAction('visit'); $car = $this->authHasAction('car'); $actions = ['apply' => false, 'face' => false, 'visit' => false, 'car' => false, 'reface' => false]; $advises = Advise::formatByType(Advise::getAdvisesByUid($uid)); if (array_key_exists('loansketch', $advises)) { $do = 'apply'; } else { if (\App\LoanStatus::needVisit($status) || \App\LoanStatus::needCarAssess($status) || array_key_exists('visit', $advises) || array_key_exists('car', $advises)) { $do = ['visit', 'car']; } else { if (\App\LoanStatus::needReface($status) || array_key_exists('face', $advises)) { $do = 'reface'; } else { if (\App\LoanStatus::needFace($status) || array_key_exists('face', $advises)) { $do = 'face'; } else { if (\App\LoanStatus::needRc($status)) { $do = 'rc'; } } } } } if ($apply and $status == \App\LoanStatus::getStatusSketch()) { $actions['apply'] = true; } if ($face and $do == 'face') { $actions['face'] = true; } else { if ($visit || $car and $do == ['visit', 'car']) { $actions['visit'] = $visit; $actions['car'] = $car; } else { if ($face and $do == 'reface') { $actions['reface'] = true; } } } if ($type) { return array_key_exists($type, $actions) ? $actions[$type] : false; } $this->view->setVars(['advises' => $advises, 'do' => $do]); return $actions; }
/** * 确认放款 */ public function confirmAction($uid) { if ($this->isAjax()) { !$uid and $this->error('参数错误'); if (Loan::updateStatus($uid, \App\LoanStatus::getStatusRunConfirm())) { Log::add($uid, $this->getOperatorId(), \App\Config\Log::loanOperate('runconfirm')); $this->success('操作成功'); } $this->error('操作失败'); } $loan = Loan::findByUid($uid); $user = User::findFirst($uid)->toArray(); $this->view->setVars(['loan' => $loan, 'user' => $user]); $this->view->pick('run/detail'); }