Skip to content

Commit

Permalink
loansys
Browse files Browse the repository at this point in the history
  • Loading branch information
522802009 committed Jan 28, 2015
1 parent 6d18dc7 commit 8955590
Show file tree
Hide file tree
Showing 22 changed files with 200 additions and 140 deletions.
2 changes: 2 additions & 0 deletions app/loansys/app/loansys/controllers/Controller.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,11 @@ public function initialize()
'_operator' => self::operator()
]);
}
/*
$this->view->setVars([
'advise' => Advise::getAdvisesByOid($this->getOperatorId())
]);
*/
}

public function isLogin()
Expand Down
78 changes: 42 additions & 36 deletions app/loansys/app/loansys/controllers/LoanController.php
Original file line number Diff line number Diff line change
Expand Up @@ -167,35 +167,21 @@ public function operators()
/**
* 贷款申请
*/
public function applyAction()
public function applyAction($uid = 0)
{
$uid = $this->urlParam();
if ($this->isAjax()) {
$data = $this->request->getPost();
$data['oid'] = $this->getOperatorId();
$data['bid'] = $this->getOperatorBid();

if ($uid and !$this->canLoanEdit(false, $uid)) {
$this->error('无权限修改');
}
$User = new User();
$modelForm = new UserForm('apply');
if ($modelForm->validate($data))
{
if ($uid) {
if ($modelForm->edit($uid)) {
$modelForm = new LoanSketchForm('apply');
if ($modelForm->validate($data) and $modelForm->edit($uid)) {
Log::add($uid, $data['oid'], \App\Config\Log::loanOperate('edit_loan_sketch') . ',uid:' . $uid);
$this->success('修改成功');
}
$this->error('修改失败');
}
$this->error('修改失败');
} else if ($uid = $modelForm->apply()) {
$data['uid'] = $uid;
if ($uid = $modelForm->apply($uid)) {
$modelForm = new LoanSketchForm('apply');
if ($modelForm->validate($data) and $modelForm->apply()) {
if ($modelForm->validate($data) and $modelForm->apply($uid)) {
Log::add($uid, $data['oid'], \App\Config\Log::loanOperate('apply'));
$this->success('操作成功');
} else {
Expand Down Expand Up @@ -289,7 +275,7 @@ public function detailAction()
$this->pageError('param');
$infos['doadvises_url'] = '/loan/doadvises/';
$infos['can_modify_actions'] = $this->canModifyActions($uid, $infos['loansketch']['status']);
$infos['adviseTypes'] = $this->adviseTypes();
$infos['adviseTypes'] = $this->adviseTypes($infos['can_modify_actions']);

$this->view->setVars($infos);
$this->view->pick('loan/detail');
Expand All @@ -304,20 +290,17 @@ public function faceAction($uid, $action = null)
if ($this->isAjax())
{
$data = $this->request->getPost();
if (empty($data['uid']))
$this->error('参数错误');

$data['oid'] = $this->getOperatorId();
$data['addtime'] = time();

$model = new FaceForm('face');
if ($model->validate($data))
{
if ($model->face($uid))
{
//更新状态
LoanSketch::updateStatus($data['uid'], \App\LoanStatus::getStatusFace());
Log::add($data['uid'], $data['oid'], \App\Config\Log::loanOperate('face'));
LoanSketch::updateStatus($uid, \App\LoanStatus::getStatusFace());
Log::add($uid, $data['oid'], \App\Config\Log::loanOperate('face'));
$this->success('操作成功');
}
else
Expand Down Expand Up @@ -363,12 +346,11 @@ public function visitAction($uid, $action = null)
$this->error('参数错误');

$data['oid'] = $this->getOperatorId();
$data['addtime'] = time();

$model = new VisitForm('visit');
if ($model->validate($data))
{
if ($model->visit($action))
if ($model->visit($uid))
{
//更新状态
LoanSketch::updateStatus($data['uid'], \App\LoanStatus::getStatusVisit());
Expand Down Expand Up @@ -555,7 +537,7 @@ public function filesAction($uid, $type)
$files = Files::getFilesByUid($uid, $typeid);
$detail['uid'] = $uid;
$detail['files'] = $files;
$detail['upload_auth'] = $this->authHasAction($type);
$detail['can_modify_actions'] = $this->canModifyActions($uid);
$this->view->setVars($detail);
$this->view->pick('loan/files/'.$type);
}
Expand Down Expand Up @@ -620,9 +602,19 @@ public function uploadAction($type, $uid)
/**
* 获取可以提反馈意见、修改的
*/
private function adviseTypes()
private function adviseTypes($can_modify_actions = '*')
{
return \App\Config\Loan::adviseTypes(['loansketch', 'visit', 'car']);
$adviseTypes = \App\Config\Loan::adviseTypes(['loansketch', 'visit', 'car']);
if ($can_modify_actions === '*')
return $adviseTypes;
if ($can_modify_actions['reface'])
return $adviseTypes;
if ($can_modify_actions['face']) {
unset($adviseTypes['visit'], $adviseTypes['car']);
return $adviseTypes;
}
if ($can_modify_actions['apply'] || $can_modify_actions['visit'] || $can_modify_actions['car'])
return null;
}

/**
Expand Down Expand Up @@ -679,22 +671,36 @@ private function canModifyActions($uid, $status, $type = null)
'reface' => false
];
$advises = Advise::formatByType(Advise::getAdvisesByUid($uid));
if ($apply and ($status == \App\LoanStatus::getStatusSketch() || array_key_exists('loansketch', $advises)))

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 (\App\LoanStatus::needFace($status) || array_key_exists('face', $advises)) and !array_key_exists('loansketch', $advises))
if ($face and $do == 'face')
$actions['face'] = true;
if ($visit and (\App\LoanStatus::needVisit($status) || array_key_exists('visit', $advises)))
$actions['visit'] = true;
if ($car and (\App\LoanStatus::needCarAssess($status) || array_key_exists('car', $advises)))
$actions['car'] = true;
if ($face and (\App\LoanStatus::needReface($status) || array_key_exists('reface', $advises)))
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
'advises' => $advises,
'do' => $do
]);

return $actions;
Expand Down
8 changes: 4 additions & 4 deletions app/loansys/app/loansys/lib/LoanStatus.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ class LoanStatus
static function needFace($status)
{
$status_face = self::getStatusFace();
return $status <= $status_face;
return $status < $status_face;
}

/**
Expand All @@ -23,7 +23,7 @@ static function needVisit($status)
$status_visit = self::getStatusVisit();
$status_reface = self::getStatusReface();
//return $status >= $status_face and $status < $status_checked and $status != $status_visit;
return $status >= $status_face and $status < $status_reface;
return $status >= $status_face and $status < $status_checked;
}

/**
Expand All @@ -36,7 +36,7 @@ static function needCarAssess($status)
$status_face = self::getStatusFace();
$status_reface = self::getStatusReface();
//return $status >= $status_face and $status < $status_checked and $status != $status_car;
return $status >= $status_face and $status < $status_reface;
return $status >= $status_face and $status < $status_checked;
}

static function needRunConfirm($status)
Expand All @@ -53,7 +53,7 @@ static function needReface($status)
{
$status_checked = self::getStatusChecked();
$status_reface = self::getStatusReface();
return $status >= $status_checked and $status <= $status_reface;
return $status == $status_checked;
}

static function needRc($status)
Expand Down
10 changes: 6 additions & 4 deletions app/loansys/app/loansys/models/Car.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,16 @@ public function add($data)
{
$uid = intval($data['uid']);
$info = Car::findFirst("uid=$uid");
$exist = $info ? true : false;
if (!$info) {
$info = new Car();
$info->addtime = time();
$info->uid = $uid;
}
$info->uptime = time();
foreach ($data as $field=>$value)
{
$info->$field = $value;
}
if (!$exist)
$info->addtime = time();
$info->uptime = time();
$result = $info->save();
if (!$result)
{
Expand Down
22 changes: 10 additions & 12 deletions app/loansys/app/loansys/models/Face.php
Original file line number Diff line number Diff line change
Expand Up @@ -38,14 +38,21 @@ public static function refaceInfo($data)
}

//初审
public function add($data)
public function _face($uid, $data)
{
$info = new Face();
$uid = intval($uid);
$info = Face::findFirst("uid=$uid");
if (!$info) {
$info = new Face();
$info->addtime = time();
}
$info->uptime = time();
$info->uid = $uid;
foreach ($data as $field=>$value)
{
$info->$field = $value;
}
$result = $info->create();
$result = $info->save();
if (!$result)
$this->outputErrors($info);
return true;
Expand Down Expand Up @@ -73,13 +80,4 @@ public function reface($uid, $data)
return true;
}

public static function edit($uid, $data)
{
$Face = self::findFirst("uid=$uid");
unset($data['uid']);
foreach ($data as $field=>$value) {
$Face->$field = $value;
}
return $Face->update();
}
}
11 changes: 2 additions & 9 deletions app/loansys/app/loansys/models/FaceForm.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,6 @@ public static function fields()
return [
'face' => [
'oid' => null,
'addtime' => null,
'uid' => [
'type' => 'hidden'
],
'loan_type' => [
'label' => '贷款方式',
'type' => 'radio',
Expand Down Expand Up @@ -141,12 +137,9 @@ public static function fields()
];
}

public function face($uid = false)
public function face($uid)
{
if ($uid)
return Face::edit($uid, $this->data);
else
return (new Face())->add($this->data);
return (new Face())->_face($uid, $this->data);
}

public function reface()
Expand Down
18 changes: 8 additions & 10 deletions app/loansys/app/loansys/models/Loan.php
Original file line number Diff line number Diff line change
Expand Up @@ -40,11 +40,13 @@ public static function deal($uid, $data)
if (!$loanSketch)
return false;

$loan = findFirst("uid=$uid");
$update = false;
$loan = Loan::findFirst("uid=$uid");

if ($loan)
$update = true;
if (!$loan) {
$loan = new Loan();
$loan->addtime = time();
}
$loan->uptime = time();
$loan->gps = 0;
$loan->contract = 0;
$loan->car_key = 0;
Expand All @@ -54,13 +56,9 @@ public static function deal($uid, $data)
$loan->bank_card = '';
$data = array_merge($loanSketch, $data);

if (!$update)
$data['addtime'] = time();
$data['uptime'] = time();

$fields = ['uid', 'oid', 'amount', 'loan_type', 'deadline', 'repay_method', 'loan_type',
'use_type', 'use_type_info', 'deadline_type', 'days', 'apr', 'repay_source', 'description',
'reason', 'remark', 'addtime', 'status'];
'reason', 'remark', 'status'];
foreach ($data as $field=>$value)
{
if (in_array($field, $fields))
Expand Down Expand Up @@ -246,7 +244,7 @@ public static function advise($uid, $foid, $adviseType, $reason, $loan = false)
$isLoanSketch = true;
break;
case 'face':
$status = \App\LoanStatus::getStatusReface();
$status = \App\LoanStatus::getStatusChecked();
$oid = Face::findFirst("uid=$uid")->oid;
$isLoanSketch = true;
break;
Expand Down
14 changes: 10 additions & 4 deletions app/loansys/app/loansys/models/LoanSketch.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,21 @@ public function getSource()
return $config->database->prefix . 'loan_sketch';
}

public static function add($data, $lastInsId = false)
public function add($uid, $data, $lastInsId = false)
{
$Loan = new LoanSketch();
$data['addtime'] = time();
$uid = intval($uid);
$Loan = LoanSketch::findFirst("uid=$uid");
if (!$Loan) {
$Loan = new LoanSketch();
$Loan->addtime = time();
}
$Loan->uid = $uid;
$Loan->uptime = time();
foreach ($data as $field=>$value)
{
$Loan->{$field} = $value;
}
if ($Loan->create())
if ($Loan->save())
{
return $lastInsId ? $Loan->lid : true;
}
Expand Down
13 changes: 2 additions & 11 deletions app/loansys/app/loansys/models/LoanSketchForm.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,6 @@ public static function fields()
{
return [
'apply' => [
'uid' => [
'validator' => [
'required' => 1
]
],
'loan_type' => [
'default' => 1
],
Expand Down Expand Up @@ -60,13 +55,9 @@ public static function fields()
];
}

public function apply()
public function apply($uid)
{
return LoanSketch::add($this->data, true);
return (new LoanSketch)->add($uid, $this->data, true);
}

public function edit($uid)
{
return (new LoanSketch)->edit($uid, $this->data);
}
}
Loading

0 comments on commit 8955590

Please sign in to comment.