lip 3 месяцев назад
Родитель
Сommit
e7e6c44f19

+ 1 - 1
app/admin/controller/Admin.php

@@ -107,7 +107,7 @@ class Admin extends BaseController
             if (!empty($id)) {
                 unset($params['username']);
                 AdminModel::where('id', $id)->update($params);
-                User::where('uid', $id)->where('from', 0)->update(['role' => $role]);
+                User::where('uid', $id)->where('from', 0)->update(['role' => $role, 'realname' => $params['nickname'], 'phone' => $params['phone'], 'remark' => $params['remark']]);
             } else {
                 $admin = AdminModel::create($params);
 

+ 2 - 1
app/admin/controller/Config.php

@@ -42,7 +42,8 @@ class Config extends BaseController
                 $params = (new ConfigValidate())->post()->goCheck('add');
             }
             $params['language_code'] = $params['language_code'] ?? 'zh';
-
+            $params['val'] = json_encode($params['val']);
+            
             if (!empty($id)) {
                 $exist = ConfigModel::where('id', $id)->find();
                 if (!$exist) {

+ 15 - 0
app/admin/controller/Expression.php

@@ -144,4 +144,19 @@ class Expression extends BaseController
         return $this->success([], '删除成功');
     }
 
+    public function click(){
+        try {
+            $params = (new ExpressionValidate())->goCheck('id');
+            $info = ExpressionLanguages::where('id', $params['id'])->find();
+            if (!$info) {
+                return $this->error('常用语不存在');
+            }
+            $info->used_num = $info->used_num + 1;
+            $info->save();
+        } catch (Exception $e) {
+            return $this->error($e->getMessage());
+        }
+        return $this->success([], '操作成功');
+    }
+
 }

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

@@ -39,14 +39,19 @@ class Kefu extends BaseController
             $page = $params['page'] ?? 1;
             $limit = $params['limit'] ?? 15;
             $query = Admin::alias('admin')->join('kefu_work', 'kefu_work.admin_id = admin.id', 'left')
+                        ->join('user', 'admin.id = user.uid', 'left')
                         ->where('kefu_work.created_at', '>=', date('Y-m-d 00:00:00'));
 
             if (isset($params['is_online'])) {
-                $query->where('is_online', $params['is_online']);
+                if ($params['is_online'] == 1) {
+                    $query->where('user.is_online', '>', 0);
+                } else {
+                    $query->where('user.is_online', 0);
+                }
             }
 
             $count = $query->count();
-            $list = $query->field(['admin.*', 'kefu_work.chat_num','kefu_work.transfer_num','kefu_work.intervention_num','kefu_work.completed_num'])
+            $list = $query->field(['admin.*','user.is_online', 'kefu_work.chat_num','kefu_work.transfer_num','kefu_work.intervention_num','kefu_work.completed_num'])
                         ->order('admin.id', 'asc')            
                         ->limit($limit)
                         ->page($page)

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

@@ -45,6 +45,7 @@ class User
         $this->lang = request()->header('Lang', 'en');
     }
 
+    //客户端登录
     public function login(){
         $params=request()->param();
         $where['role'] = 0;
@@ -183,6 +184,24 @@ class User
         return success('', [ 'count' => $count, 'list' => $list]);
     }
 
+    /**
+     * 猜你想问点击使用
+     */
+    function guessaskClick()
+    {
+        try {
+            $id = $this->request->param('id');
+            $info = GuessAskLanguages::where('id', $id)->where('status', 1)->find();
+            if ($info) {
+                $info->click_num = $info->click_num + 1;
+                $info->save();
+            }
+        } catch (Exception $e) {
+            return error($e->getMessage());
+        }
+        return success('');
+    }
+
     /**
      * 问题列表
      */
@@ -210,4 +229,27 @@ class User
         return success('', [ 'count' => $count, 'list' => $list]);
     }
 
+    /**
+     * 问题点赞、点否
+     */
+    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;
+                }
+                $question->save();
+            }
+        } catch (Exception $e) {
+            return error($e->getMessage());
+        }
+        return success('');
+    }
+
 }

+ 4 - 2
app/common/listener/UserRegister.php

@@ -39,13 +39,15 @@ class UserRegister
                             $userInfo['dispalayName']=$userInfo['realname'];
                             $userInfo['id']=$userInfo['user_id'];
                             $userInfo['avatar']=avatarUrl($userInfo['avatar'],$userInfo['realname'],$userInfo['user_id']);
+                            $first_auto_reply = Config::where(['field'=>'first_auto_reply'])->value('val');
+                            $first_auto_reply = json_decode($first_auto_reply,true);
                             $msg=[
                                 'id'=>\utils\Str::getUuid(),
                                 'user_id'=>$autoTask['user_id'],
-                                'content'=>$autoAdduser['welcome'],
+                                'content'=>$first_auto_reply ? $first_auto_reply : $autoAdduser['welcome'],
                                 'toContactId'=>$data['user_id'],
                                 'sendTime'=>time()*1000,
-                                'type'=>'text',
+                                'type'=>'html',
                                 'is_group'=>0,
                                 'status'=>'succeed',
                                 'fromUser'=>$userInfo,