From 744815db8747c1ba37dcac5d99e604663d624d6a Mon Sep 17 00:00:00 2001 From: wh <382379437@qq.com> Date: Sat, 29 Mar 2025 13:59:40 +0800 Subject: [PATCH] fixed --- .../admin/controller/Gechatroom.php | 6 +- .../admin/controller/Gewechatfriends.php | 6 +- .../admin/controller/Wxmessage.php | 4 +- .../application/admin/controller/Wxperson.php | 4 +- .../admin/controller/auth/Admin.php | 4 +- admin/application/api/controller/Test.php | 58 +++++++++++++++++++ .../{BaseLogic.php => BaseWechatLogic.php} | 4 +- ...oomLogic.php => GechatroomWechatLogic.php} | 8 +-- .../api/logic/GewechatFriendsWechatLogic.php | 4 +- ...essageLogic.php => MessageWechatLogic.php} | 2 +- ...sonalLogic.php => PersonalWechatLogic.php} | 2 +- admin/application/api/logic/PyappLofic.php | 16 +++-- .../{TokenLogic.php => TokenWechatLogic.php} | 7 ++- .../index/controller/Tasktimer.php | 16 ++--- .../src/http/Curl.php | 6 +- 15 files changed, 105 insertions(+), 42 deletions(-) create mode 100644 admin/application/api/controller/Test.php rename admin/application/api/logic/{BaseLogic.php => BaseWechatLogic.php} (97%) mode change 100755 => 100644 rename admin/application/api/logic/{GechatroomLogic.php => GechatroomWechatLogic.php} (92%) mode change 100755 => 100644 rename superadmin/application/api/logic/GewechatFriendsLogic.php => admin/application/api/logic/GewechatFriendsWechatLogic.php (95%) mode change 100755 => 100644 rename admin/application/api/logic/{MessageLogic.php => MessageWechatLogic.php} (97%) rename admin/application/api/logic/{PersonalLogic.php => PersonalWechatLogic.php} (91%) mode change 100755 => 100644 rename admin/application/api/logic/{TokenLogic.php => TokenWechatLogic.php} (86%) mode change 100755 => 100644 diff --git a/admin/application/admin/controller/Gechatroom.php b/admin/application/admin/controller/Gechatroom.php index 91970c2..ccf77e7 100755 --- a/admin/application/admin/controller/Gechatroom.php +++ b/admin/application/admin/controller/Gechatroom.php @@ -9,7 +9,7 @@ namespace app\admin\controller; -use app\api\logic\GechatroomLogic; +use app\api\logic\GechatroomWechatLogic; use think\Controller; class Gechatroom extends Controller @@ -37,7 +37,7 @@ class Gechatroom extends Controller if(empty($ai_config_id)){ throw new \Exception('ai_config_id不能为空'); } - $logic = new GechatroomLogic(); + $logic = new GechatroomWechatLogic(); $data = $logic->getChatroomList($ai_config_id); //dump($data);die; //缓存群成员列表 @@ -65,7 +65,7 @@ class Gechatroom extends Controller if(empty($ai_config_id)){ throw new \Exception('ai_config_id不能为空'); } - $data = (new GechatroomLogic())->getChatroomList($ai_config_id); + $data = (new GechatroomWechatLogic())->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 e7a9abe..3b62295 100755 --- a/admin/application/admin/controller/Gewechatfriends.php +++ b/admin/application/admin/controller/Gewechatfriends.php @@ -9,7 +9,7 @@ namespace app\admin\controller; -use app\api\logic\GewechatFriendsLogic; +use app\api\logic\GewechatFriendsWechatLogic; use think\Controller; class Gewechatfriends extends Controller @@ -32,7 +32,7 @@ class Gewechatfriends extends Controller $data = cache('cache_getFriendDetailList_data'.session_admin_firm_id()); return json(['list' => $data, 'total' => count($data)]); } - $obj_logic = new GewechatFriendsLogic(); + $obj_logic = new GewechatFriendsWechatLogic(); $ai_config_id = input('ai_config_id'); if(empty($ai_config_id)){ throw new \Exception('请先配置AI客服'); @@ -54,7 +54,7 @@ class Gewechatfriends extends Controller $data = cache('cache_getFriendDetailList_data'.session_admin_firm_id()); return json(['list' => $data, 'total' => count($data)]); } - $obj_logic = new GewechatFriendsLogic(); + $obj_logic = new GewechatFriendsWechatLogic(); $ai_config_id = input('ai_config_id'); $obj_logic->setBaseUrlByAiCustmerConfig($ai_config_id); $res = $obj_logic->getFriendDetailList(); diff --git a/admin/application/admin/controller/Wxmessage.php b/admin/application/admin/controller/Wxmessage.php index 201e631..900819a 100644 --- a/admin/application/admin/controller/Wxmessage.php +++ b/admin/application/admin/controller/Wxmessage.php @@ -9,8 +9,8 @@ namespace app\admin\controller; -use app\api\logic\MessageLogic; -use app\api\logic\TokenLogic; +use app\api\logic\MessageWechatLogic; +use app\api\logic\TokenWechatLogic; use think\Controller; use think\Db; use wanghua\general_utility_tools_php\tool\Tools; diff --git a/admin/application/admin/controller/Wxperson.php b/admin/application/admin/controller/Wxperson.php index bc3ad4e..da8a06a 100755 --- a/admin/application/admin/controller/Wxperson.php +++ b/admin/application/admin/controller/Wxperson.php @@ -9,7 +9,7 @@ namespace app\admin\controller; -use app\api\logic\PersonalLogic; +use app\api\logic\PersonalWechatLogic; use think\Controller; use wanghua\general_utility_tools_php\tool\Tools; @@ -20,7 +20,7 @@ class Wxperson extends Controller //查询个人信息 public function getProfile() { - $logic = new PersonalLogic(); + $logic = new PersonalWechatLogic(); $base_url = input('base_url'); if(empty($base_url)){ throw new \Exception('请先配置AI客服'); diff --git a/admin/application/admin/controller/auth/Admin.php b/admin/application/admin/controller/auth/Admin.php index 512fa9b..ca1cab4 100755 --- a/admin/application/admin/controller/auth/Admin.php +++ b/admin/application/admin/controller/auth/Admin.php @@ -4,7 +4,7 @@ namespace app\admin\controller\auth; use app\admin\model\AuthGroup; use app\admin\model\AuthGroupAccess; -use app\api\logic\GewechatFriendsLogic; +use app\api\logic\GewechatFriendsWechatLogic; use app\common\controller\Backend; use fast\Random; use fast\Tree; @@ -299,7 +299,7 @@ class Admin extends Backend } function getRelWxids(){ - $friends = (new GewechatFriendsLogic())->getFriendDetailList(); + $friends = (new GewechatFriendsWechatLogic())->getFriendDetailList(); return json(['data'=>$friends,'total'=>count($friends)]); } diff --git a/admin/application/api/controller/Test.php b/admin/application/api/controller/Test.php new file mode 100644 index 0000000..ccfaa07 --- /dev/null +++ b/admin/application/api/controller/Test.php @@ -0,0 +1,58 @@ +setFollowupModel('54116019493@chatroom','测试内容'); + + + dump($res);die; + + $url = 'https://wechat-api-test.excn.vip/vip_groups/follow-up'; + $data = [ + "chatroom_id" => "54116019493@chatroom", + "is_follow_up" => true, + "follow_up_content" => "测试回访内容" + ]; + + $ch = curl_init($url); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + curl_setopt($ch, CURLOPT_POST, true); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE ); + curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE ); + curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); + curl_setopt($ch, CURLOPT_HTTPHEADER, [ + 'accept: application/json', + 'Content-Type: application/json' + ]); + + $response = curl_exec($ch); + $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); + + if (curl_errno($ch)) { + echo 'Error:' . curl_error($ch); + } else { + echo 'Response:' . $response; + echo 'HTTP Code:' . $httpCode; + } + + curl_close($ch); + + + } +} \ No newline at end of file diff --git a/admin/application/api/logic/BaseLogic.php b/admin/application/api/logic/BaseWechatLogic.php old mode 100755 new mode 100644 similarity index 97% rename from admin/application/api/logic/BaseLogic.php rename to admin/application/api/logic/BaseWechatLogic.php index f461506..dc3907c --- a/admin/application/api/logic/BaseLogic.php +++ b/admin/application/api/logic/BaseWechatLogic.php @@ -11,7 +11,7 @@ namespace app\api\logic; use think\Db; -class BaseLogic +class BaseWechatLogic { public $base_url = ''; @@ -37,7 +37,7 @@ class BaseLogic if(empty($this->base_url)){ throw new \Exception('请先设置ai客服配置'); } - $tokenArr = (new TokenLogic())->getToken(); + $tokenArr = (new TokenWechatLogic())->getToken(); $postdata['appId'] = $tokenArr['appId']; $domain = $this->base_url; $timeout = 4; diff --git a/admin/application/api/logic/GechatroomLogic.php b/admin/application/api/logic/GechatroomWechatLogic.php old mode 100755 new mode 100644 similarity index 92% rename from admin/application/api/logic/GechatroomLogic.php rename to admin/application/api/logic/GechatroomWechatLogic.php index 9279377..8241545 --- a/admin/application/api/logic/GechatroomLogic.php +++ b/admin/application/api/logic/GechatroomWechatLogic.php @@ -11,7 +11,7 @@ namespace app\api\logic; use wanghua\general_utility_tools_php\tool\Tools; -class GechatroomLogic extends BaseLogic +class GechatroomWechatLogic extends BaseWechatLogic { /** @@ -26,7 +26,7 @@ class GechatroomLogic extends BaseLogic //$this->getChatroomMemberList();die; //$base_url = config('gewechat.base_url'); //去查询群名称 - $logic = new GewechatFriendsLogic(); + $logic = new GewechatFriendsWechatLogic(); $logic->setBaseUrlByAiCustmerConfig($ai_config_id); $wxids_arr = $logic->getFriendWxIdsList(); $chatrooms = $wxids_arr['data']['chatrooms']; @@ -49,7 +49,7 @@ class GechatroomLogic extends BaseLogic function getChatroomMemberList(){ //去查询群名称 - $wxids_arr = (new GewechatFriendsLogic())->getFriendWxIdsList(); + $wxids_arr = (new GewechatFriendsWechatLogic())->getFriendWxIdsList(); $chatrooms = $wxids_arr['data']['chatrooms']; dump($chatrooms); $url = '/group/getChatroomMemberDetail'; @@ -75,7 +75,7 @@ class GechatroomLogic extends BaseLogic */ function getChatroomMemberDetail(){ //去查询群名称 - $wxids_arr = (new GewechatFriendsLogic())->getFriendWxIdsList(); + $wxids_arr = (new GewechatFriendsWechatLogic())->getFriendWxIdsList(); $chatrooms = $wxids_arr['data']['chatrooms']; dump($chatrooms); $url = '/group/getChatroomMemberDetail'; diff --git a/superadmin/application/api/logic/GewechatFriendsLogic.php b/admin/application/api/logic/GewechatFriendsWechatLogic.php old mode 100755 new mode 100644 similarity index 95% rename from superadmin/application/api/logic/GewechatFriendsLogic.php rename to admin/application/api/logic/GewechatFriendsWechatLogic.php index 6b26b28..22edb3d --- a/superadmin/application/api/logic/GewechatFriendsLogic.php +++ b/admin/application/api/logic/GewechatFriendsWechatLogic.php @@ -11,7 +11,7 @@ namespace app\api\logic; use wanghua\general_utility_tools_php\tool\Tools; -class GewechatFriendsLogic extends BaseLogic +class GewechatFriendsWechatLogic extends BaseWechatLogic { @@ -72,7 +72,7 @@ class GewechatFriendsLogic extends BaseLogic $wxids = $wxids_arr['data']['friends']; $url = '/contacts/getDetailInfo'; $post_data = ['wxids'=>$wxids]; - Tools::log_to_write_txt(['查询微信好友列表[带昵称],入参:$post_data'=>$post_data]); + Tools::log_to_write_txt(['查询微信好友列表[带昵称],入参:$url:'=>$url,'$post_data'=>$post_data]); $res = $this->curl_post_json($url, $post_data); Tools::log_to_write_txt(['查询微信好友列表[带昵称],出参:$res'=>$res]); return $res; diff --git a/admin/application/api/logic/MessageLogic.php b/admin/application/api/logic/MessageWechatLogic.php similarity index 97% rename from admin/application/api/logic/MessageLogic.php rename to admin/application/api/logic/MessageWechatLogic.php index b0742c3..dbd1522 100644 --- a/admin/application/api/logic/MessageLogic.php +++ b/admin/application/api/logic/MessageWechatLogic.php @@ -11,7 +11,7 @@ namespace app\api\logic; use wanghua\general_utility_tools_php\tool\Tools; -class MessageLogic extends BaseLogic +class MessageWechatLogic extends BaseWechatLogic { /** diff --git a/admin/application/api/logic/PersonalLogic.php b/admin/application/api/logic/PersonalWechatLogic.php old mode 100755 new mode 100644 similarity index 91% rename from admin/application/api/logic/PersonalLogic.php rename to admin/application/api/logic/PersonalWechatLogic.php index eb56891..9444421 --- a/admin/application/api/logic/PersonalLogic.php +++ b/admin/application/api/logic/PersonalWechatLogic.php @@ -11,7 +11,7 @@ namespace app\api\logic; use wanghua\general_utility_tools_php\tool\Tools; -class PersonalLogic extends BaseLogic +class PersonalWechatLogic extends BaseWechatLogic { function getProfile() { diff --git a/admin/application/api/logic/PyappLofic.php b/admin/application/api/logic/PyappLofic.php index 21e0425..abf5374 100644 --- a/admin/application/api/logic/PyappLofic.php +++ b/admin/application/api/logic/PyappLofic.php @@ -10,13 +10,15 @@ namespace app\api\logic; use wanghua\general_utility_tools_php\http\Curl; +use wanghua\general_utility_tools_php\SundryConfig; +use wanghua\general_utility_tools_php\tool\Tools; /** * python项目逻辑 * Class PyappLofic * @package app\api\logic */ -class PyappLofic extends BaseLogic +class PyappLofic { /** @@ -25,16 +27,18 @@ class PyappLofic extends BaseLogic * @throws \Exception */ function setFollowupModel($chatroom_id,$follow_up_content){ - $url = '/vip_groups/follow-up'; + + $base_url = SundryConfig::val('py_app_base_url'); + $url = $base_url.'/vip_groups/follow-up'; $post_data = [ 'chatroom_id' => $chatroom_id, - 'followup_model' => true, + 'is_follow_up' => true, 'follow_up_content'=>$follow_up_content ]; - $res = Curl::curl_post($url, $post_data); + $res = Curl::curl_post_json($url, $post_data); if(empty($res['data'])){ - throw new \Exception('设置回访模式失败'); + return Tools::set_fail('设置回访模式失败',$res); } $res_data = json_decode($res['data'], true); return $res_data; @@ -46,7 +50,7 @@ class PyappLofic extends BaseLogic * @throws \Exception */ function closeFollowupModel($chatroom_id){ - $base_url = config('py_app_base_url.base_url'); + $base_url = SundryConfig::val('py_app_base_url'); $url = $base_url.'/vip_groups/follow-up'; $post_data = [ diff --git a/admin/application/api/logic/TokenLogic.php b/admin/application/api/logic/TokenWechatLogic.php old mode 100755 new mode 100644 similarity index 86% rename from admin/application/api/logic/TokenLogic.php rename to admin/application/api/logic/TokenWechatLogic.php index dceae59..afb4b84 --- a/admin/application/api/logic/TokenLogic.php +++ b/admin/application/api/logic/TokenWechatLogic.php @@ -7,7 +7,9 @@ */ namespace app\api\logic; -class TokenLogic extends BaseLogic +use wanghua\general_utility_tools_php\SundryConfig; + +class TokenWechatLogic { public function __construct() { @@ -22,12 +24,11 @@ class TokenLogic extends BaseLogic ["data"] => string(84) "{"gewe-token":"8bd053cb84f24770ae4df11441500427","appId":"wx_N3vKyMW8nl41epbcu891k"}" } * author:wh - * @return string * @throws \Exception */ function getToken() { - $base_url = config('py_app_base_url.base_url'); + $base_url = SundryConfig::val('py_app_base_url'); $url = $base_url.'/vip_groups/auth_info'; $res = \wanghua\general_utility_tools_php\http\Curl::curl_post($url, []); if(empty($res['data'])){ diff --git a/admin/application/index/controller/Tasktimer.php b/admin/application/index/controller/Tasktimer.php index e426daf..fcbd331 100755 --- a/admin/application/index/controller/Tasktimer.php +++ b/admin/application/index/controller/Tasktimer.php @@ -9,9 +9,9 @@ namespace app\index\controller; -use app\api\logic\MessageLogic; +use app\api\logic\MessageWechatLogic; use app\api\logic\PyappLofic; -use app\api\logic\TokenLogic; +use app\api\logic\TokenWechatLogic; use think\Controller; use think\Db; use wanghua\general_utility_tools_php\Mmodel; @@ -112,10 +112,10 @@ class Tasktimer extends Controller return Tools::set_fail('未到计划回访时间'); } - $logic = new MessageLogic(); + $logic = new MessageWechatLogic(); $logic->setBaseUrl($base_url); - $tokenArr = (new TokenLogic())->getToken(); + $tokenArr = (new TokenWechatLogic())->getToken(); $data = [ 'appId'=>$tokenArr['appId'], 'toWxid'=>$cust['rel_group'],//是群则发送群消息,否则发个人私人消息 @@ -136,10 +136,10 @@ class Tasktimer extends Controller ]); //设置AI客服回访模式 - $logic = new PyappLofic(); - $base_url = config('py_app_base_url.base_url'); - $logic->setBaseUrl($base_url); - $logic->setFollowupModel($cust['rel_group'],$return_record['visit_msg']); + $py_logic = new PyappLofic(); + Tools::log_to_write_txt(['设置AI客服回访模式,开始:rel_group'=>$cust['rel_group'],'visit_msg'=>$return_record['visit_msg']]); + $set_res = $py_logic->setFollowupModel($cust['rel_group'],$return_record['visit_msg']); + Tools::log_to_write_txt(['设置AI客服回访模式,结束:$set_res'=>$set_res]); return Tools::set_ok('发送成功'); } diff --git a/admin/vendor/wanghua/general-utility-tools-php/src/http/Curl.php b/admin/vendor/wanghua/general-utility-tools-php/src/http/Curl.php index 5e09892..62021d7 100755 --- a/admin/vendor/wanghua/general-utility-tools-php/src/http/Curl.php +++ b/admin/vendor/wanghua/general-utility-tools-php/src/http/Curl.php @@ -343,12 +343,11 @@ class Curl } /** - * @deprecated 弃用 * POST json * * author:wh * @param string $url 是请求的链接 - * @param array $postdata 传输的数据,json格式 + * @param array $postdata 传输的数据,会转为json格式发送 * @return 返回数组格式 */ static function curl_post_json(string $url, $postdata, $header=[]) { @@ -358,7 +357,8 @@ class Curl if($timeout + $connect_timeout < $set_time_limit) throw new \Exception('脚本超时值必须大于等于连接超时与请求处理超时之和'); set_time_limit($set_time_limit); $header = $header?:array( - 'Accept: application/json', + 'accept: application/json', + 'Content-Type: application/json' ); //初始化