lip 3 месяцев назад
Родитель
Сommit
16e4093997
2 измененных файлов с 15 добавлено и 8 удалено
  1. 8 7
      app/admin/controller/Kefu.php
  2. 7 1
      app/enterprise/controller/Im.php

+ 8 - 7
app/admin/controller/Kefu.php

@@ -198,7 +198,7 @@ class Kefu extends BaseController
             }
             $cs_uid = User::getCsId($this->admin_id);
             $user->cs_uid = $cs_uid;
-            $user->service_status = 1;
+            $user->service_status = 2;
             $user->service_start = time();
             $user->save();
 
@@ -207,9 +207,9 @@ class Kefu extends BaseController
                 $robot_id = $friend->friend_user_id;
                 $friend->friend_user_id = $cs_uid;
                 $friend->save();
-    
-                Message::where(['from_user' => $user_id, 'to_user' => $robot_id])->update(['to_user' => $cs_uid]);
-                Message::where(['from_user' => $robot_id, 'to_user' => $user_id])->update(['from_user' => $cs_uid]);
+                $chat_identify = $cs_uid . '_' . $user_id;
+                Message::where(['from_user' => $user_id, 'to_user' => $robot_id])->update(['to_user' => $cs_uid, 'chat_identify' => $chat_identify]);
+                Message::where(['from_user' => $robot_id, 'to_user' => $user_id])->update(['from_user' => $cs_uid, 'chat_identify' => $chat_identify]);
             }
 
             KefuWork::addNum($this->admin_id, 'chat_num');//客服接线次数更新
@@ -250,8 +250,9 @@ class Kefu extends BaseController
                 $friend->friend_user_id = $cs_uid;
                 $friend->save();
                 
-                Message::where(['from_user' => $user_id, 'to_user' => $old_cs_uid])->update(['to_user' => $cs_uid]);
-                Message::where(['from_user' => $old_cs_uid, 'to_user' => $user_id])->update(['from_user' => $cs_uid]);
+                $chat_identify = $cs_uid . '_' . $user_id;
+                Message::where(['from_user' => $user_id, 'to_user' => $old_cs_uid])->update(['to_user' => $cs_uid, 'chat_identify' => $chat_identify]);
+                Message::where(['from_user' => $old_cs_uid, 'to_user' => $user_id])->update(['from_user' => $cs_uid, 'chat_identify' => $chat_identify]);
                 KefuTime::endData($old_cs_uid, 3); //结束接线时间
             }
 
@@ -318,7 +319,7 @@ class Kefu extends BaseController
                 $user->save();
 
                 $cs_uid = $user->cs_uid;
-                
+
                 $friend = Friend::where('create_user', $user_id)->order('create_time', 'desc')->find();
                 if ($friend) {
                     $old_cs_uid = $friend->friend_user_id;

+ 7 - 1
app/enterprise/controller/Im.php

@@ -46,6 +46,8 @@ class Im extends BaseController
                 'cs_uid' => $user->cs_uid,
                 'score' => (int)$score,
             ]);
+            $exist->is_click = 1;
+            $exist->save();
         }
         return $this->success('提交成功');
     }
@@ -200,7 +202,6 @@ class Im extends BaseController
             $exist = Message::where('msg_id', $msg_id)->where('to_user', $user_id)->find();
             if ($exist && $exist['is_click'] == 0) {
                 $extends = $exist['extends'];
-                $extends = json_decode($extends, true);
                 $id = $extends['question_id'] ?? 0;
                 if ($id) {
                     $question = QuestionLanguages::where('id', $id)->find();
@@ -213,6 +214,8 @@ class Im extends BaseController
                         $question->save();
                     }
                 }
+                $exist->is_click = 1;
+                $exist->save();
             }
             
         } catch (Exception $e) {
@@ -575,6 +578,9 @@ class Im extends BaseController
                 $toUser->service_status = 2;
                 $toUser->service_time = time();
                 $toUser->save();
+                
+                //通知客服-会话服务中
+                wsSendMsg(0,'handleChat',['user_id'=>$param['toContactId']]);
             }
         }