Просмотр исходного кода

新增机器人面试结果接口

dongxiaoqin 1 год назад
Родитель
Сommit
2ba9e61edd

+ 8 - 0
app/common/model/master_worker/MasterWorkerInterview.php

@@ -0,0 +1,8 @@
+<?php
+namespace app\common\model\master_worker;
+use app\common\model\BaseModel;
+
+class MasterWorkerInterview extends BaseModel
+{
+    protected $name = 'master_worker_interview';
+}

+ 15 - 1
app/workerapi/controller/MasterWorkerController.php

@@ -13,7 +13,7 @@ use app\workerapi\validate\MasterWokerValidate;
 
 class MasterWorkerController extends BaseApiController
 {
-    public array $notNeedLogin = ['customerPhone'];
+    public array $notNeedLogin = ['customerPhone','interview'];
 
     /**
      * @notes 修改密码
@@ -146,4 +146,18 @@ class MasterWorkerController extends BaseApiController
         }
         return $this->success('操作成功', $result, 1, 1);
     }
+    public function interview()
+    {
+        $params = (new MasterWokerValidate())->post()->goCheck('interview');
+        $result = MasterWorkerLogic::setInterview($params);
+        if (false === $result) {
+            return $this->fail(MasterWorkerLogic::getError());
+        }
+        return $this->success('操作成功', $result, 1, 1);
+    }
+    public function getInterview()
+    {
+        $result = MasterWorkerLogic::getInterview($this->userId);
+        return $this->data($result);
+    }
 }

+ 78 - 8
app/workerapi/logic/MasterWorkerLogic.php

@@ -1,17 +1,19 @@
 <?php
 namespace app\workerapi\logic;
-use app\common\enum\worker\WorkerAccountLogEnum;
+use think\Exception;
+use think\facade\Log;
+use think\facade\Config;
 use app\common\enum\YesNoEnum;
 use app\common\logic\BaseLogic;
+use app\common\service\FileService;
+use app\common\model\works\ServiceWork;
 use app\common\model\bank_account\BankAccount;
+use app\common\enum\worker\WorkerAccountLogEnum;
 use app\common\model\master_worker\MasterWorker;
-use app\common\model\master_worker\MasterWorkerAccountLog;
-use app\common\model\master_worker\MasterWorkerAgree;
 use app\common\model\master_worker\MasterWorkerInfo;
-use app\common\model\works\ServiceWork;
-use app\common\service\FileService;
-use think\Exception;
-use think\facade\Config;
+use app\common\model\master_worker\MasterWorkerAgree;
+use app\common\model\master_worker\MasterWorkerInterview;
+use app\common\model\master_worker\MasterWorkerAccountLog;
 
 /**
  * @author 林海涛
@@ -214,4 +216,72 @@ class MasterWorkerLogic extends  BaseLogic
             return false;
         }
     }
-}
+
+    /**
+     * 查询机器人面试结果
+     */
+    public static function getInterview(int $userId)
+    {
+        $info = MasterWorkerInterview::where('worker_id',$userId)
+                    ->field('id,worker_id,type,status,nickname,create_time')
+                    ->findOrEmpty($userId)
+                    ->toArray();
+        return $info;
+    }
+    /**
+     * 机器人面试结果
+     */
+    public static function setInterview(array $params)
+    {
+        try {
+            
+            Log::write('机器人面试结果:'.json_encode($params));
+
+            if (empty($params['sys_uuid']) || empty($params['worker_id'])) {
+                return false;
+            }
+
+            if (empty($params['answer']) || empty($params['answer1']) || empty($params['answer2']) || !isset($params['class']) || empty($params['answer3']) || empty($params['answer4']) || !isset($params['class1'])) {
+                return false;
+            }
+            if ($params['class1'] == 1) {
+                //维修
+                $type = 1;
+            } else if ($params['class1'] == 2) {
+                //清洗
+                $type = 2;
+            } else if ($params['class1'] == 3) {
+                //安装
+                $type = 3;
+            } else {
+                $type = 0;
+                $type['status'] = 0;
+            }
+
+            $info = MasterWorkerInterview::where('worker_id',$params['worker_id'])->findOrEmpty();
+            if ($info) {
+                return false;
+            }
+            
+            $insertData = [
+                'sys_uuid' => $params['sys_uuid'],
+                'worker_id' => $params['worker_id'],
+                'nickname' => $params['nickname'],
+                'type' => $type,
+                'status' => $params['status'],
+            ];
+            unset($params['sys_uuid']);
+            unset($params['worker_id']);
+            unset($params['nickname']);
+            unset($params['status']);
+            $insertData['content'] = json_encode($params);
+            MasterWorkerInterview::create($insertData);
+            return [];
+        } catch (\Exception $e) {
+            self::$error = $e->getMessage();
+            self::$returnCode = $e->getCode();
+            return false;
+        }
+    }
+    
+}

+ 5 - 0
app/workerapi/validate/MasterWokerValidate.php

@@ -68,4 +68,9 @@ class MasterWokerValidate  extends BaseValidate
     {
         return $this->only(['field', 'value']);
     }
+
+    public function sceneInterview()
+    {
+        return $this->only(['sys_uuid', 'worker_id','nickname','status','start_answer','answer','answer1','answer2','answer3','answer4','answer5','answer6','answer7','answer8','answer9','answer10','class','class1','class2','question','question_answer']);
+    }
 }