Преглед изворни кода

add - 客资跟进与多订单

liugc пре 11 месеци
родитељ
комит
6cce85140d

+ 13 - 0
app/adminapi/controller/external/ExternalConsultationController.php

@@ -85,6 +85,19 @@ class ExternalConsultationController extends BaseAdminController
         }
         return $this->fail(ExternalConsultationLogic::getError());
     }
+
+
+    public function followLog()
+    {
+        $params = (new ExternalConsultationValidate())->post()->goCheck('edit');
+        $result = ExternalConsultationLogic::followLog($params);
+        if (true === $result) {
+            return $this->success('添加成功', [], 1, 1);
+        }
+        return $this->fail(ExternalConsultationLogic::getError());
+    }
+
+
     /**
      * @notes 删除
      * @return \think\response\Json

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

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

+ 38 - 0
app/adminapi/logic/external/ExternalConsultationLogic.php

@@ -18,6 +18,8 @@ namespace app\adminapi\logic\external;
 use app\common\logic\ThirdOrderLogic;
 use app\common\model\external\ExternalConsultation;
 use app\common\logic\BaseLogic;
+use app\common\model\external\ExternalConsultationFollowLog;
+use app\common\model\external\ExternalConsultationOrder;
 use think\facade\Db;
 
 
@@ -150,6 +152,42 @@ class ExternalConsultationLogic extends BaseLogic
                 'work_id' => $work_id,
                 'remark' => $params['remark']
             ]);
+            ExternalConsultationOrder::create([
+                'consultation_id' => $params['id'],
+                'user_address' => $params['user_address'],
+                'lon' => $params['lon'],
+                'lat' => $params['lat'],
+
+                'appointment_time' => $params['appointment_time'],
+                'goods_id' => $params['goods_id'],
+                'amount' => $params['amount'],
+                'work_id' => $work_id,
+            ]);
+            Db::commit();
+            return true;
+        } catch (\Exception $e) {
+            Db::rollback();
+            self::setError($e->getMessage());
+            return false;
+        }
+    }
+    public static function followLog(array $params): bool
+    {
+        Db::startTrans();
+        try {
+
+            $consultation = ExternalConsultation::where('id', $params['id'])->findOrEmpty();
+            if(empty($consultation->follow_start_time)) $consultation->follow_start_time  = time();
+            $consultation->follow_status = 1;
+            $consultation->save();
+
+            ExternalConsultationFollowLog::create([
+                'consultation_id' => $params['id']??0,
+                'content' => $params['content']??'',
+                'admin_id' => $params['admin_id']??0,
+                'create_time' => time(),
+            ]);
+
             Db::commit();
             return true;
         } catch (\Exception $e) {

+ 6 - 1
app/common/model/external/ExternalConsultation.php

@@ -39,5 +39,10 @@ class ExternalConsultation extends BaseModel
         return $this->hasOne(ExternalPlatform::class, 'id', 'external_platform_id')
             ->field('id,name,tel');
     }
-    
+
+    public function customerLog()
+    {
+        return $this->hasMany(ExternalConsultationFollowLog::class,'consultation_id','id')->order(['id'=>'desc']);
+    }
+
 }

+ 10 - 0
app/common/model/external/ExternalConsultationFollowLog.php

@@ -0,0 +1,10 @@
+<?php
+
+namespace app\common\model\external;
+
+use app\common\model\BaseModel;
+
+class ExternalConsultationFollowLog extends BaseModel
+{
+    protected $name = 'external_consultation_follow_log';
+}

+ 10 - 0
app/common/model/external/ExternalConsultationOrder.php

@@ -0,0 +1,10 @@
+<?php
+
+namespace app\common\model\external;
+
+use app\common\model\BaseModel;
+
+class ExternalConsultationOrder extends BaseModel
+{
+    protected $name = 'external_consultation_order';
+}