lip 3 сар өмнө
parent
commit
38cede3116

+ 29 - 8
app/enterprise/controller/Im.php

@@ -191,17 +191,30 @@ class Im extends BaseController
     function questionClick()
     {
         try {
-            $id = $this->request->param('id');
             $is_like = $this->request->param('is_like');
-            $question = QuestionLanguages::where('id', $id)->where('status', 1)->find();
-            if ($question) {
-                if ($is_like == 1) {
-                    $question->like_count = $question->like_count + 1;
-                } else {
-                    $question->dislike_count = $question->dislike_count + 1;
+            $msg_id = $this->request->param('msg_id');
+            if (empty($msg_id) || !in_array($is_like, [1, 0])) {
+                return $this->error('参数有误');
+            }
+            $user_id = $this->userInfo['user_id'];
+            $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();
+                    if ($question) {
+                        if ($is_like == 1) {
+                            $question->like_count = $question->like_count + 1;
+                        } else {
+                            $question->dislike_count = $question->dislike_count + 1;
+                        }
+                        $question->save();
+                    }
                 }
-                $question->save();
             }
+            
         } catch (Exception $e) {
             return $this->error($e->getMessage());
         }
@@ -555,6 +568,14 @@ class Im extends BaseController
                 $start_time = time() - $hours * 60 * 60;
                 $where[] = ['create_time', '>=', $start_time];
             }
+
+            $toUser = User::where('user_id', $param['toContactId'])->find();
+            if ($toUser && $toUser->service_status == 1) {
+                //将用户待处理的状态更新成服务中
+                $toUser->service_status = 2;
+                $toUser->service_time = time();
+                $toUser->save();
+            }
         }
         
         $list = Message::getList($map, $where, 'msg_id desc', $listRows, $pageSize);

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

@@ -147,6 +147,9 @@ class Message extends BaseModel
             if (!empty($param['question_id'])) {
                 $param['type'] = 'answer';
                 $param['content'] = QuestionLanguages::where('id', $param['question_id'])->value('answer');
+                $param['extends'] = json_encode([
+                    'question_id' => $param['question_id'],
+                ]);
             } else {
                 //获取关键词匹配
                 $keyword_ids = KeywordLanguages::getKeywordByContent($param['content']);