dongxiaoqin пре 9 месеци
родитељ
комит
e293163f92

+ 16 - 0
app/adminapi/controller/master_worker/MasterWorkerController.php

@@ -191,4 +191,20 @@ class MasterWorkerController extends BaseAdminController
         }
         return $this->fail(MasterWorkerLogic::getError());
     }
+
+    /** 
+     * @notes 设置特殊技能
+     * @return \think\response\Json
+     * @author likeadmin
+     * @date 2024/07/10 18:17
+     */
+    public function setSkill()
+    {
+        $params = (new MasterWorkerValidate())->post()->goCheck('skill');
+        $result = MasterWorkerLogic::setSkill($params);
+        if (true === $result) {
+            return $this->success('设置成功', [], 1, 1);
+        }
+        return $this->fail(MasterWorkerLogic::getError());
+    }
 }

+ 4 - 4
app/adminapi/lists/master_worker/MasterWorkerOnlineLists.php

@@ -43,7 +43,7 @@ class MasterWorkerOnlineLists extends BaseAdminDataLists implements ListsSearchI
         // 派单搜索条件 - 工程师接单状态
         return [
             '=' => ['mw.real_name', 'mw.mobile', 'mw.accept_order_status','mw.type'],
-            '%like%' => ['sa.service_name'],
+            '%like%' => ['sa.service_name', 'mw.address','mw.skill'],
         ];
     }
     
@@ -63,8 +63,8 @@ class MasterWorkerOnlineLists extends BaseAdminDataLists implements ListsSearchI
             $period_ids = MasterWorker::where('category_ids','<>', '')->whereRaw($query_sql)->column('id');
             $where[] = [ 'mw.id','IN',$period_ids?:[0]];
         }
-        if(isset($this->params['address']) && $this->params['address']){
-            $lon_lat = get_address_lat_lng($this->params['address']);;
+        if(isset($this->params['user_address']) && $this->params['user_address']){
+            $lon_lat = get_address_lat_lng($this->params['user_address']);;
             $this->lon = $lon_lat['lon'];
             $this->lat = $lon_lat['lat'];
             
@@ -82,7 +82,7 @@ class MasterWorkerOnlineLists extends BaseAdminDataLists implements ListsSearchI
      */
     public function lists(): array
     {
-        $fields = ['mw.id,mw.avatar,mw.real_name,mw.mobile,mw.work_total,mw.distance,mw.accept_order_status,mw.address,mw.service_area_id,mw.type,mw.remark,mws.comprehensive_score, mws.weight_score,sa.service_name,mwr.credential_images'];
+        $fields = ['mw.id,mw.avatar,mw.real_name,mw.mobile,mw.work_total,mw.distance,mw.accept_order_status,mw.address,mw.service_area_id,mw.type,mw.remark,mw.skill,mws.comprehensive_score, mws.weight_score,sa.service_name,mwr.credential_images'];
         $orders = ['mw.id' => 'desc'];
         $queryWhere = $this->queryWhere();
         // 根据位置排序

+ 15 - 0
app/adminapi/logic/master_worker/MasterWorkerLogic.php

@@ -366,4 +366,19 @@ class MasterWorkerLogic extends BaseLogic
             return false;
         }
     }
+
+    /** 
+     * 设置工程师特殊技能
+     * @param $params
+     * @return false|string
+     */
+    public static function setSkill($params){
+        try{
+            MasterWorker::where('id', $params['id'])->update(['skill' => $params['skill']]);
+            return true;
+        } catch (\Exception $e){
+            self::setError($e->getMessage());
+            return false;
+        }
+    }
 }

+ 8 - 0
app/adminapi/validate/master_worker/MasterWorkerValidate.php

@@ -50,6 +50,7 @@ class MasterWorkerValidate extends BaseValidate
         'start_time' =>'require',
         'end_time' =>'require',
         'remark' => 'require',
+        'skill' =>'require',
 
     ];
 
@@ -78,6 +79,7 @@ class MasterWorkerValidate extends BaseValidate
         'start_time' => '停单开始时间',
         'end_time' => '停单结束时间',
         'remark' => '备注',
+        'skill' => '特殊技能',
     ];
 
 
@@ -143,4 +145,10 @@ class MasterWorkerValidate extends BaseValidate
         return $this->only(['id', 'remark']);
 
     }
+
+    public function sceneSkill()
+    {
+        return $this->only(['id', 'skill']);
+
+    }
 }