diff --git a/admin/application/api/logic/MessageWechatLogic.php b/admin/application/api/logic/MessageWechatLogic.php index 9bd16e8..27c7f17 100644 --- a/admin/application/api/logic/MessageWechatLogic.php +++ b/admin/application/api/logic/MessageWechatLogic.php @@ -29,7 +29,7 @@ class MessageWechatLogic extends BaseWechatLogic 'toWxid'=>$data['toWxid'], 'content'=>$data['content'], //@的好友,多个英文逗号分隔。群主或管理员@全部的人,则填写'notify@all' - 'ats'=>$data['ats'], +// 'ats'=>$data['ats'], ]; $res = $this->curl_post_json($url, $post_data); return $res; diff --git a/admin/application/index/controller/Tasktimer.php b/admin/application/index/controller/Tasktimer.php index 59a27f9..a0c2aa3 100755 --- a/admin/application/index/controller/Tasktimer.php +++ b/admin/application/index/controller/Tasktimer.php @@ -32,6 +32,12 @@ class Tasktimer extends Controller Mmodel::catch(function (){ $this->returnPlan(); }); + //生日通知 + if (date("H:i:s") == "10:00:00"){ + Mmodel::catch(function (){ + $this->returnBirthdayPlan(); + }); + } } /** @@ -153,4 +159,78 @@ class Tasktimer extends Controller return Tools::set_ok('发送成功'); } + + /** + * @return string 生日祝福 + * @throws \think\db\exception\DataNotFoundException + * @throws \think\db\exception\ModelNotFoundException + * @throws \think\exception\DbException + */ + function returnBirthdayPlan(){ + // 获取当前月和日 + $customer_record = Db::table('fa_firmcustomer') + ->where('birthday', date('m-d')) + ->select(); + + if(empty($customer_record)){ + Tools::log_to_write_txt(['无人生日,无需发送']); + return ''; + } + foreach ($customer_record as $value){ + //生日祝福模版 + $birthday_record = Db::table('fa_mattertemplatecategorization') + ->alias('m') + ->join('fa_mattertemplatecategorizedcontent','fa_mattertemplatecategorizedcontent.mattertemplatecategorization_id = m.id') + ->where('m.firm_id','in',[$value['firm_id'],0]) + ->where('m.mattertemplate_id',3) + ->order(['m.firm_id'=>'desc','m.id'=>'desc']) + ->field('fa_mattertemplatecategorizedcontent.content') + ->find(); + if(!empty($birthday_record)){ + Tools::log_to_write_txt(['客户生日祝福计划,开始:$item'=>$value]); + $ret = $this->postBirthdayText($value,$birthday_record); + Tools::log_to_write_txt(['客户生日祝福计划,结束:$res'=>$ret]); + } + Tools::log_to_write_txt(['无生日祝福,无需发送']); + return ''; + } + return ''; + } + private function postBirthdayText($customer_record,$birthday_record){ + + //查询客户所绑定的ai客服 + $ai_config = Db::table('fa_aicustomerservice') + ->where('id',$customer_record['aicustomerservice_ids']) + ->find(); + if(empty($ai_config)){ + return Tools::set_fail('有回访计划,无ai客服服务该客户'); + } + $base_url = $ai_config['server_url']; + if(empty($customer_record['rel_group'])){ + return Tools::set_fail('客户无绑定群'); + } + if(empty($customer_record['wx_nickname'])){ + return Tools::set_fail('客户无绑定微信昵称'); + } + if(empty($customer_record['rel_wx'])){ + return Tools::set_fail('客户无绑定微信'); + } + + $logic = new MessageWechatLogic(); + $logic->setBaseUrl($base_url); + + $tokenArr = (new TokenWechatLogic())->getToken(); + $data = [ + 'appId'=>$tokenArr['appId'], + 'toWxid'=>$customer_record['rel_group'],//是群则发送群消息,否则发个人私人消息 + 'content'=>"@".$customer_record['wx_nickname']." ".$birthday_record['content'], + //@的好友,多个英文逗号分隔。群主或管理员@全部的人,则填写'notify@all' + 'ats'=>$customer_record['rel_wx'], + ]; + Tools::log_to_write_txt(['回访微信群客户,开始:$post_data'=>$data]); + $res = $logic->postGroupText($data); + Tools::log_to_write_txt(['回访微信群客户,结束:$res'=>$res]); + + return Tools::set_ok('发送成功'); + } } \ No newline at end of file diff --git a/superadmin/application/admin/view/firmcustomer/add.html b/superadmin/application/admin/view/firmcustomer/add.html index b4f3ea7..5165008 100755 --- a/superadmin/application/admin/view/firmcustomer/add.html +++ b/superadmin/application/admin/view/firmcustomer/add.html @@ -16,7 +16,13 @@
- + +
+
+
+ +
+
diff --git a/superadmin/application/admin/view/firmcustomer/edit.html b/superadmin/application/admin/view/firmcustomer/edit.html index 45f78eb..755a012 100755 --- a/superadmin/application/admin/view/firmcustomer/edit.html +++ b/superadmin/application/admin/view/firmcustomer/edit.html @@ -16,7 +16,13 @@
- + +
+
+
+ +
+
diff --git a/superadmin/public/assets/js/backend/firmcustomer.js b/superadmin/public/assets/js/backend/firmcustomer.js index 2893eeb..1e796cb 100755 --- a/superadmin/public/assets/js/backend/firmcustomer.js +++ b/superadmin/public/assets/js/backend/firmcustomer.js @@ -48,7 +48,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin { name: 'addFollwup', text: __('新增回访'), - title: __('新增回访new'), + title: __('新增回访'), classname: 'btn btn-xs btn-primary btn-dialog', icon: 'fa fa-magic', url: 'firmcustomerfollowuprecord/newadd',