Explorar o código

去掉用户直接排队的流程,保留机器人对话流程

lip hai 2 meses
pai
achega
ab0ada5723

+ 0 - 27
app/common/controller/User.php

@@ -7,7 +7,6 @@ use app\enterprise\model\User as UserModel;
 use app\enterprise\model\Group;
 use app\admin\model\UserView;
 use app\manage\model\Config;
-use app\enterprise\model\Message;
 use think\facade\Session;
 use think\facade\Db;
 use GatewayClient\Gateway;
@@ -113,10 +112,6 @@ class User
                 'avatar' => !empty($params['avatar']) ? $params['avatar'] : '',
                 'language_code' => $this->lang,
             ];
-            if (empty($userInfo['service_status']) || $userInfo['service_status'] == -1) {
-                $update['service_status'] = 0;//登录后如果没有服务中,则直接进入排队状态
-            }
-            
             if ($userInfo['cs_uid'] == 1) {
                 $update['cs_uid'] = $cs_uid;
             }
@@ -154,28 +149,6 @@ class User
             'userInfo'=>$userInfo
         ];
            
-        // 如果设置了欢迎语则发送欢迎语
-        $first_auto_reply = Config::getFieldValue('first_auto_reply', $this->lang);
-        if(!empty($first_auto_reply)){
-            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'=>$cs_uid,
-                    'content'=>$first_auto_reply,
-                    'toContactId'=>$userInfo['user_id'],
-                    'sendTime'=>time()*1000,
-                    'type'=>'html',
-                    'is_group'=>0,
-                    'status'=>'succeed',
-                    'fromUser'=>$userInfo,
-                    'at'=>[]
-                ];
-                Message::sendMsg($msg,0,1);
-            }
-        }
         return success(lang('user.loginOk'),$data);
    }
 

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

@@ -31,7 +31,31 @@ class UserRegister
                     Friend::create(['create_user'=>$cs_uid,'friend_user_id'=>$data['user_id'],'status'=>1]);
 
                     KefuLog::addData($cs_uid, $data['user_id'], 3);
-                    
+                    // 如果设置了欢迎语则发送欢迎语
+                    if($autoAdduser['welcome'] ?? ''){
+                        $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']);
+                            $first_auto_reply = Config::getFieldValue('first_auto_reply', $data['language_code']);
+                            $msg=[
+                                'id'=>\utils\Str::getUuid(),
+                                'user_id'=>$cs_uid,
+                                'content'=>$first_auto_reply,
+                                'toContactId'=>$data['user_id'],
+                                'sendTime'=>time()*1000,
+                                'type'=>'html',
+                                'is_group'=>0,
+                                'status'=>'succeed',
+                                'fromUser'=>$userInfo,
+                                'at'=>[]
+                            ];
+                            if (!empty($msg['content'])) {
+                                Message::sendMsg($msg,0,1);
+                            }
+                        }
+                    }
                 }
             }
             $autoAddGroup=$chatInfo['autoAddGroup'] ?? [];

+ 4 - 5
app/enterprise/model/Message.php

@@ -141,11 +141,10 @@ class Message extends BaseModel
                 }
 
                 //判断是否给机器人客服发送消息
-                // $autoCsUid = getAutoCsUid();
-                // if ($autoCsUid && $param['toContactId'] == $autoCsUid) { 
-                //     $is_robot = true;
-                // }
-                $is_robot = false;
+                $autoCsUid = getAutoCsUid();
+                if ($autoCsUid && $param['toContactId'] == $autoCsUid) { 
+                    $is_robot = true;
+                }
             }else{
                 // 群聊必须群成员才能发送消息
                 $group_id = explode('-', $param['toContactId'])[1] ?? '';