lip пре 3 месеци
родитељ
комит
1efc59b7a7

+ 24 - 5
app/admin/command/OperationData.php

@@ -6,6 +6,11 @@ use think\console\Input;
 use think\console\Output;
 use app\admin\model\OperationData as OperationDataModel;
 use app\admin\model\KefuTime;
+use app\admin\model\KefuWork;
+use app\admin\model\User;
+use app\manage\model\Config;
+
+
 
 /**
  * Worker 命令行类
@@ -20,12 +25,26 @@ class OperationData extends Command
 
     public function execute(Input $input, Output $output)
     {
+        //创建机器人客服的数据
+        $autoTask=Config::autoTask();
+        if ($autoTask &&!empty($autoTask['user_id'])) {
+            $admin_id = User::getAdminId($autoTask['user_id']);
+            $exists = KefuWork::where('admin_id', $admin_id)->where("created_at", '>=', date('Y-m-d'))->find();
+            if (!$exists) {
+                KefuWork::create([
+                    'admin_id'=>$admin_id,
+                ]);
+            }
+        }
         //统计前一天的接线总数
-        OperationDataModel::create([
-            'type' => 1,
-            'num' => $this->chatNum(),
-            'date' => date('Y-m-d', strtotime('-1 day')),
-        ]);
+        $exists = OperationDataModel::where('type', 1)->where("date", date("Y-m-d", strtotime("-1 day")))->find();
+        if (!$exists) {
+            OperationDataModel::create([
+                'type' => 1,
+                'num' => $this->chatNum(),
+                'date' => date('Y-m-d', strtotime('-1 day')),
+            ]);
+        }
     }
 
     /**

+ 1 - 17
app/common/listener/UserRegister.php

@@ -18,7 +18,7 @@ class UserRegister
             // 获取聊天设置
             $chatInfo=Config::where(['field'=>'chatInfo'])->value('val');
             $autoAdduser=$chatInfo['autoAddUser'] ?? [];
-            $autoTask=$this->createConf();
+            $autoTask=Config::autoTask();
             // 是否开启自动客服
             if($autoAdduser && $autoAdduser['status']==1){
                 // 获取客服ID
@@ -93,22 +93,6 @@ class UserRegister
 
     }
 
-    // 创建配置文件
-    public function createConf(){
-        $autoTask=Config::where(['field'=>'autoTask'])->value('val');
-        if($autoTask){
-            return $autoTask;
-        }else{
-            $autoTask=[
-                'group_id'=>0, //群聊ID
-                'group_num'=>1, //群聊序号
-                'user_id'=>0,  //上一次的客服ID
-            ];
-            Config::create(['field'=>'autoTask','val'=>$autoTask]);
-            return $autoTask;
-        }
-    }
-
     // 查找ID的下一个值,如果未找到则使用第一个ID  
     public function findNextOrFirstId($ids, $searchId) { 
         if(!$ids){

+ 14 - 0
app/manage/model/Config.php

@@ -12,6 +12,20 @@ class Config extends BaseModel
     protected $json = ['val'];
     protected $jsonAssoc = true;
     
+    public static function autoTask(){
+        $autoTask=Config::where(['field'=>'autoTask'])->value('val');
+        if($autoTask){
+            return $autoTask;
+        }else{
+            $autoTask=[
+                'group_id'=>0, //群聊ID
+                'group_num'=>1, //群聊序号
+                'user_id'=>0,  //上一次的客服ID
+            ];
+            Config::create(['field'=>'autoTask','val'=>$autoTask]);
+            return $autoTask;
+        }
+    }
     public static function changeList($list) {
         foreach($list as &$item) {
             $item['name'] = $item['field'];

+ 2 - 1
config/console.php

@@ -9,6 +9,7 @@ return [
         'queue:listen' => think\queue\command\Listen::class,
         'queue:Restart' => think\queue\command\Restart::class,
         'task' => task\command\Task::class,
-        'worker:gateway' => app\worker\command\GatewayWorker::class
+        'worker:gateway' => app\worker\command\GatewayWorker::class,
+        'operation:data' => app\admin\command\OperationData::class
     ],
 ];