From 3e7295fec4bccf7b6b424b681f4420cce11818a1 Mon Sep 17 00:00:00 2001 From: wh <382379437@qq.com> Date: Tue, 25 Mar 2025 19:43:26 +0800 Subject: [PATCH] fixed --- .../admin/controller/Firmcustomer.php | 22 +++++++ .../admin/controller/Gechatroom.php | 13 +++- .../admin/controller/Gewechatfriends.php | 30 +++++++++- .../admin/controller/auth/Admin.php | 10 ++++ .../admin/view/firmcustomer/add.html | 32 ++++++---- .../admin/view/firmcustomer/edit.html | 30 +++++----- admin/application/api/logic/BaseLogic.php | 25 +++++++- .../application/api/logic/GechatroomLogic.php | 13 ++-- .../api/logic/GewechatFriendsLogic.php | 4 +- admin/application/api/logic/TokenLogic.php | 5 +- admin/application/config.php | 6 +- .../public/assets/js/backend/firmcustomer.js | 60 ++++++++++++++----- 12 files changed, 191 insertions(+), 59 deletions(-) diff --git a/admin/application/admin/controller/Firmcustomer.php b/admin/application/admin/controller/Firmcustomer.php index 1cfcd49..18ad263 100644 --- a/admin/application/admin/controller/Firmcustomer.php +++ b/admin/application/admin/controller/Firmcustomer.php @@ -8,6 +8,7 @@ use think\Exception; use think\exception\PDOException; use think\exception\ValidateException; use think\Request; +use wanghua\general_utility_tools_php\tool\Tools; /** * 企业客户信息 @@ -172,4 +173,25 @@ class Firmcustomer extends Backend $this->success(); } + /** + * desc:缓存ai客服配置 + * author:wh + * @return \think\response\Json + * @throws \think\db\exception\DataNotFoundException + * @throws \think\db\exception\ModelNotFoundException + * @throws \think\exception\DbException + */ + function setAiCustomerConfigCache(){ + $ai_config_id = input('ai_config_id'); + if(empty($ai_config_id)){ + return json(Tools::set_fail('ai_config_id不能为空')); + } + //查询ai客服配置 + $ai_config = Db::table('fa_aicustomerservice')->where('id',$ai_config_id)->find(); + if(empty($ai_config)){ + return json(Tools::set_fail('该配置不存在')); + } + //cache('cache_ai_customer_config_'.session_admin_firm_id(),$ai_config,86400); + return json(Tools::set_ok('设置成功')); + } } diff --git a/admin/application/admin/controller/Gechatroom.php b/admin/application/admin/controller/Gechatroom.php index 95226d0..91970c2 100644 --- a/admin/application/admin/controller/Gechatroom.php +++ b/admin/application/admin/controller/Gechatroom.php @@ -33,7 +33,12 @@ class Gechatroom extends Controller //自带id,name return json(['list' => $data, 'total' => count($data)]); } - $data = (new GechatroomLogic())->getChatroomList(); + $ai_config_id = input('ai_config_id'); + if(empty($ai_config_id)){ + throw new \Exception('ai_config_id不能为空'); + } + $logic = new GechatroomLogic(); + $data = $logic->getChatroomList($ai_config_id); //dump($data);die; //缓存群成员列表 cache('cache_getChatroomList_data'.session_admin_firm_id(),$data,86400); @@ -56,7 +61,11 @@ class Gechatroom extends Controller $memberList = $cache_data[$chatroom_id]['memberList']; return json(['list' => $memberList, 'total' => count($memberList)]); } - $data = (new GechatroomLogic())->getChatroomList(); + $ai_config_id = input('ai_config_id'); + if(empty($ai_config_id)){ + throw new \Exception('ai_config_id不能为空'); + } + $data = (new GechatroomLogic())->getChatroomList($ai_config_id); //缓存群成员列表 cache('cache_getChatroomList_data'.session_admin_firm_id(),$data['memberList'],86400); $memberList = $data[$chatroom_id]['memberList']; diff --git a/admin/application/admin/controller/Gewechatfriends.php b/admin/application/admin/controller/Gewechatfriends.php index ddd36ad..005537a 100644 --- a/admin/application/admin/controller/Gewechatfriends.php +++ b/admin/application/admin/controller/Gewechatfriends.php @@ -25,11 +25,39 @@ class Gewechatfriends extends Controller */ function getFriendList() { + //获取AI客服配置 + //$ai_customer_id = input('ai_customer_id'); + if(cache('cache_getFriendDetailList_data'.session_admin_firm_id())){ $data = cache('cache_getFriendDetailList_data'.session_admin_firm_id()); return json(['list' => $data, 'total' => count($data)]); } - $res = (new GewechatFriendsLogic())->getFriendDetailList(); + $obj_logic = new GewechatFriendsLogic(); + $ai_config_id = input('ai_config_id'); + if(empty($ai_config_id)){ + throw new \Exception('请先配置AI客服'); + } + $obj_logic->setBaseUrl($ai_config_id); + $res = $obj_logic->getFriendDetailList(); + $data = $res['data']; + foreach ($data as $k => &$v){ + $v['id'] = $v['userName'] ?? '无'; + $v['name'] = $v['nickName'] ?? '无'; + } + cache('cache_getFriendDetailList_data'.session_admin_firm_id(),$data,86400); + return json(['list' => $data, 'total' => count($data)]); + } + + function getFriendsByAiConfigId() + { + if(cache('cache_getFriendDetailList_data'.session_admin_firm_id())){ + $data = cache('cache_getFriendDetailList_data'.session_admin_firm_id()); + return json(['list' => $data, 'total' => count($data)]); + } + $obj_logic = new GewechatFriendsLogic(); + $ai_config_id = input('ai_config_id'); + $obj_logic->setBaseUrl($ai_config_id); + $res = $obj_logic->getFriendDetailList(); $data = $res['data']; foreach ($data as $k => &$v){ $v['id'] = $v['userName'] ?? '无'; diff --git a/admin/application/admin/controller/auth/Admin.php b/admin/application/admin/controller/auth/Admin.php index 54a1c42..fd63ea7 100644 --- a/admin/application/admin/controller/auth/Admin.php +++ b/admin/application/admin/controller/auth/Admin.php @@ -302,4 +302,14 @@ class Admin extends Backend return json(['data'=>$friends,'total'=>count($friends)]); } + //查询责任人 + function getAdminList(){ + $adminList = Db::table('fa_admin') + ->where('firm_id',session_admin_firm_id()) + ->where('role','firm') + ->select(); + return json(['list'=>$adminList,'total'=>count($adminList)]); + } + + } diff --git a/admin/application/admin/view/firmcustomer/add.html b/admin/application/admin/view/firmcustomer/add.html index fa380a6..ac90557 100644 --- a/admin/application/admin/view/firmcustomer/add.html +++ b/admin/application/admin/view/firmcustomer/add.html @@ -1,5 +1,12 @@