处理审核记录


上一篇 : 提交审核



1 task 控制器中新增


/**
* 处理提交的审核
* status 1 通过 2拒绝
*/
public function check(){
   $user_id = $this->getUserId();
   $validate = new Validate([
       'check_id' => 'require|integer',
       'status'=>'require|integer|in:1,2'
   ]);
   $validate->message([
       'check_id.require' => '请选择任务!',
       'check_id.integer' => '无效参数!',
       'status.require' => '无效参数!',
       'status.integer' => '无效参数!',
   ]);

   $data = $this->request->param();
   if (!$validate->check($data)) {
       $this->error($validate->getError());
   }
   $check_id = $data['check_id'];
   $status = $data['status'];

   $taskCheckModel = TaskCheck::get($check_id);
   if(empty($taskCheckModel)){
       $this->error('没有提交的记录');
   }
   if($taskCheckModel->status != 0){
       $this->error('该记录已处理');
   }
   //状态 0 已接单 1 第一次提交审核 2 第二次提交审核 3第一次审核失败 4 第二次审核失败 5 第一次审核成功 6第二次审核成功
   if($status == 1){
       if($taskCheckModel->step == 1){
           $apply_status = 5;
       }else{
           $apply_status = 6;
       }
   }else if($status == 2){
       if($taskCheckModel->step == 1){
           $apply_status = 3;
       }else{
           $apply_status = 4;
       }
   }else{
       $this->error('参数错误');
   }

   //这里应该还有一些状态之间的关系的判断 严谨的逻辑 才能避免用户的误操和链接外漏带来的不必要的损失,
   // 保持数据的唯一性 安全性


   $applyTaskModel = ApplyTaskModel::get($taskCheckModel->apply_id);
   if(empty($applyTaskModel)){
       $this->error('任务不存在');
   }

   $taskCheckModel->status = $status;
   $taskCheckModel->isUpdate(true)->save();


   $applyTaskModel->status = $apply_status;
   $applyTaskModel->isUpdate(true)->save();

   //表示任务已完成。需要进行账单的结算
   if($apply_status == 6){

       //更新状态
       $taskModel = TaskModel::get($applyTaskModel->task_id);
       $taskModel->is_finish = 1;
       $taskModel->save();


       //TODO  资金的结算 和 流水的记录

   }
   $this->success('成功');

}

2 新增路由


//处理审核
Route::post('task/check','index/Task/check');


上一篇 : 提交审核