lip 3 月之前
父節點
當前提交
0150b4fd70
共有 3 個文件被更改,包括 39 次插入0 次删除
  1. 4 0
      app/admin/command/UserQueue.php
  2. 6 0
      app/admin/controller/Kefu.php
  3. 29 0
      app/enterprise/model/Message.php

+ 4 - 0
app/admin/command/UserQueue.php

@@ -85,8 +85,12 @@ class UserQueue extends Command
             KefuLog::addData($cs_uid, $user_id, 3);
 
             Db::commit();
+
             //通知客服已接线
             wsSendMsg(0,'handleChat',['user_id'=>$user_id]);
+
+            //自动回复-人工客服接线成功
+            Message::sendAutoReply('transfer_to_human_success', $user_id, $cs_uid);
         } catch (\Exception $e) {
             Db::rollback();
         }

+ 6 - 0
app/admin/controller/Kefu.php

@@ -239,6 +239,9 @@ class Kefu extends BaseController
             Db::commit();
             //通知客服已接线
             wsSendMsg(0,'handleChat',['user_id'=>$user_id]);
+
+            //自动回复-人工客服接线成功
+            Message::sendAutoReply('transfer_to_human_success', $user_id, $cs_uid);
         } catch (\Exception $e) {
             Db::rollback();
             return $this->error($e->getMessage());
@@ -294,6 +297,9 @@ class Kefu extends BaseController
 
             //通知客服已接线
             wsSendMsg(0,'handleChat',['user_id'=>$user_id]);
+
+            //自动回复-人工客服接线成功
+            Message::sendAutoReply('transfer_to_human_success', $user_id, $cs_uid);
         } catch (\Exception $e) {
             Db::rollback();
             return $this->error($e->getMessage());

+ 29 - 0
app/enterprise/model/Message.php

@@ -7,6 +7,7 @@ namespace app\enterprise\model;
 
 use app\admin\model\KeywordLanguages;
 use app\admin\model\QuestionLanguages;
+use app\admin\model\User;
 use app\manage\model\Config;
 use app\BaseModel;
 use think\facade\Db;
@@ -19,6 +20,34 @@ class Message extends BaseModel
     protected $jsonAssoc = true;
     protected static $fileType=['file','image','video','voice','emoji'];
 
+    //给用户发送自动消息
+    public static function sendAutoReply($field, $user_id, $cs_uid){
+        //获取自动回复的消息内容
+        $content = Config::getFieldValue($field);
+
+        // 如果设置了自动回复消息,则发送
+        if($content){
+            $userInfo=User::field('user_id,realname,avatar')->where(['user_id'=>$cs_uid])->find();//客服信息
+            if($userInfo){
+                $userInfo['dispalayName']=$userInfo['realname'];
+                $userInfo['id']=$userInfo['user_id'];
+                $userInfo['avatar']=avatarUrl($userInfo['avatar'],$userInfo['realname'],$userInfo['user_id']);
+                $msg=[
+                    'id'=>\utils\Str::getUuid(),
+                    'user_id'=>$user_id,
+                    'content'=>$content,
+                    'toContactId'=>$user_id,
+                    'sendTime'=>time()*1000,
+                    'type'=>'html',
+                    'is_group'=>0,
+                    'status'=>'succeed',
+                    'fromUser'=>$userInfo,
+                    'at'=>[]
+                ];
+                Message::sendMsg($msg,0,1);
+            }
+        }
+    }
     // 添加聊天记录
     public static function addData($data){
        return Db::name('message')->insert($data);