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

add - 客咨下单/修改搜索编辑

liugc 1 год назад
Родитель
Сommit
92a22337a8

+ 1 - 1
app/adminapi/lists/external/ExternalConsultationLists.php

@@ -55,7 +55,7 @@ class ExternalConsultationLists extends BaseAdminDataLists implements ListsSearc
      */
     public function lists(): array
     {
-        return ExternalConsultation::where($this->searchWhere)
+        return ExternalConsultation::with(['goods'])->where($this->searchWhere)
             ->field(['*'])
             ->limit($this->limitOffset, $this->limitLength)
             ->order(['id' => 'desc'])

+ 4 - 1
app/adminapi/lists/master_worker/MasterWorkerServiceOrderLists.php

@@ -35,6 +35,9 @@ class MasterWorkerServiceOrderLists extends BaseAdminDataLists implements ListsS
     public function queryWhere()
     {
         $where = [];
+        if (isset($this->params['city']) && !empty($this->params['city'])) {
+            $where[] = ['a.city','=' ,$this->params['city']];
+        }
         if (isset($this->params['real_name']) && !empty($this->params['real_name'])) {
             $where[] = ['a.real_name','like' ,"%".$this->params['real_name']."%"];
         }
@@ -122,7 +125,7 @@ class MasterWorkerServiceOrderLists extends BaseAdminDataLists implements ListsS
     {
         $queryWhere = $this->queryWhere();
         $lists = Db::name('master_worker')->alias('a')->field([
-                'a.id','a.real_name','a.nickname','a.worker_number','a.recruiting_behalf','a.mobile','a.cooperation','a.category_ids','a.labels','a.remark',
+                'a.id','a.real_name','a.nickname','a.area_name','a.worker_number','a.recruiting_behalf','a.mobile','a.cooperation','a.category_ids','a.labels','a.remark',
                 Db::raw("COUNT(b.id) AS all_count"),
                 Db::raw("SUM(CASE WHEN b.service_status = 3 THEN 1 ELSE 0 END) AS success_count"),
                 Db::raw("SUM(CASE WHEN b.service_status = 4 OR b.service_status = 5 THEN 1 ELSE 0 END) AS fail_count"),

+ 15 - 11
app/adminapi/logic/external/ExternalConsultationLogic.php

@@ -116,6 +116,20 @@ class ExternalConsultationLogic extends BaseLogic
         Db::startTrans();
         try {
 
+            // userName mobile goods_id userAddress amount appointment_time lon lat
+            $work_id = ThirdOrderLogic::submitOrders([
+                'userName' => $params['user_name'],
+                'mobile' => $params['mobile'],
+                'goods_id' => $params['goods_id'],
+                'userAddress' => $params['user_address'],
+                'amount' => $params['amount'],
+                'appointment_time' => $params['appointment_time'],
+                'lon' => $params['lon'],
+                'lat' => $params['lat']
+            ]);
+            if($work_id === false){
+                $work_id = 0;
+            }
             ExternalConsultation::where('id', $params['id'])->update([
                 'external_platform_id' => $params['external_platform_id'],
                 'shop_code' => $params['shop_code'],
@@ -131,19 +145,9 @@ class ExternalConsultationLogic extends BaseLogic
                 'amount' => $params['amount'],
                 'lon' => $params['lon'],
                 'lat' => $params['lat'],
+                'work_id' => $work_id,
                 'remark' => $params['remark']
             ]);
-            // userName mobile goods_id userAddress amount appointment_time lon lat
-            ThirdOrderLogic::submitOrders([
-                'userName' => $params['user_name'],
-                'mobile' => $params['mobile'],
-                'goods_id' => $params['goods_id'],
-                'userAddress' => $params['user_address'],
-                'amount' => $params['amount'],
-                'appointment_time' => $params['appointment_time'],
-                'lon' => $params['lon'],
-                'lat' => $params['lat']
-            ]);
             Db::commit();
             return true;
         } catch (\Exception $e) {

+ 10 - 1
app/adminapi/logic/works/ServiceWorkLogic.php

@@ -14,6 +14,7 @@
 
 namespace app\adminapi\logic\works;
 
+use app\adminapi\logic\user\UserLogic;
 use app\common\enum\ThirdTypeEnum;
 use app\common\enum\worker\WorkerAccountLogEnum;
 use app\common\logic\ThirdOrderLogic;
@@ -69,9 +70,17 @@ class ServiceWorkLogic extends BaseLogic
     {
         Db::startTrans();
         try {
-            
+            $userId = UserLogic::getUserIdByMobile($params['mobile']);
             $service_area_id = ServiceArea::serviceAreaId(['lon' => $params['lon'], 'lat' => $params['lat']]);
+            if($params['address'] && (empty($params['lon']) ||  empty($params['lat']))){
+                $lon_lat = get_address_lat_lng($params['address']);
+                $params['lon'] = $lon_lat['lon'];
+                $params['lat'] = $lon_lat['lat'];
+            }
             ServiceWork::where('id', $params['id'])->update([
+                'real_name' => $params['real_name'],
+                'mobile' => $params['mobile'],
+                'user_id' => $userId,
                 'address' => $params['address'],
                 'appointment_time' => strtotime($params['appointment_time']),
                 'estimated_finish_time' => $params['estimated_finish_time'],

+ 4 - 3
app/adminapi/validate/works/ServiceWorkValidate.php

@@ -33,7 +33,7 @@ class ServiceWorkValidate extends BaseValidate
     protected $rule = [
         'id' => 'require',
         'work_sn' => 'require',
-        'mobile' => 'require',
+        'mobile' => 'require|mobile',
         'address' => 'require',
         'title' => 'require',
         'category_type' => 'require',
@@ -59,7 +59,8 @@ class ServiceWorkValidate extends BaseValidate
     protected $field = [
         'id' => 'id',
         'work_sn' => '工单编号',
-        'mobile' => '手机号',
+        'mobile.require' => '手机号',
+        'mobile.mobile' => '手机号错误',
         'address' => '客户地址',
         'title' => '工单名称',
         'category_type' => '服务类别',
@@ -98,7 +99,7 @@ class ServiceWorkValidate extends BaseValidate
      */
     public function sceneEdit()
     {
-        return $this->only(['id','address','appointment_time','lon','lat']);
+        return $this->only(['id','mobile','address','appointment_time']);
     }
 
 

+ 1 - 1
app/common/logic/ThirdOrderLogic.php

@@ -366,12 +366,12 @@ class ThirdOrderLogic extends BaseLogic
                 \app\common\model\recharge\RechargeOrder::create($order_weikuan_data);
             }
             Db::commit();
+            return $service_work['id'];
         } catch (\Exception $e) {
             Db::rollback();
             self::setError($e->getMessage());
             return false;
         }
-        return true;
     }
 
     public static function get_sign($sign_key, $data)