whitefang 1 рік тому
батько
коміт
24699bf939

+ 17 - 0
app/workerapi/controller/IssueWorkController.php

@@ -35,4 +35,21 @@ class IssueWorkController extends BaseApiController
         }
         return $this->data($result);
     }
+
+    /**
+     * 投诉单提交申述申请
+     * @return \think\response\Json
+     */
+    public function submitApproval()
+    {
+        $params = (new IssueWorkValidate())->post()->goCheck('approval', [
+            'user_id' => $this->userId,
+            'user_info' => $this->userInfo
+        ]);
+        $result = IssueWorkLogic::submitApproval($params);
+        if (false === $result) {
+            return $this->fail(IssueWorkLogic::getError());
+        }
+        return $this->success('已提交申述', [], 1, 1);
+    }
 }

+ 24 - 0
app/workerapi/logic/IssueWorkLogic.php

@@ -3,6 +3,7 @@ namespace app\workerapi\logic;
 use app\common\model\dict\DictData;
 use app\common\model\works\IssueWork;
 use app\common\logic\BaseLogic;
+use think\Exception;
 use think\facade\Db;
 
 
@@ -28,4 +29,27 @@ class IssueWorkLogic extends BaseLogic
         }
         return $works;
     }
+
+    /**
+     * 提交申述申请
+     * @param $params
+     * @return false|void
+     */
+    public static function submitApproval($params)
+    {
+        try {
+            $works = IssueWork::where(['id'=>$params['id'],'master_worker_id'=>$params['user_id']])->findOrEmpty();
+            if(empty($works)){
+                throw new Exception('工单不存在');          }
+            if($works->issue_approval == 2){
+                throw new Exception('您已提交申述申请,请等待定责');
+            }
+            $works->issue_approval = 2;
+            $works->save();
+        }catch (\Exception $e) {
+            Db::rollback();
+            self::setError($e->getMessage());
+            return false;
+        }
+    }
 }

+ 11 - 0
app/workerapi/validate/IssueWorkValidate.php

@@ -52,4 +52,15 @@ class IssueWorkValidate extends BaseValidate
         return $this->only(['id']);
     }
 
+    /**
+     * @notes 详情场景
+     * @return IssueWorkValidate
+     * @author whitef
+     * @date 2024/07/10 15:06
+     */
+    public function sceneApproval()
+    {
+        return $this->only(['id']);
+    }
+
 }