客户生日
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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('发送成功');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user