private function sendxsbilldd_msg(){
$data = array();
$msg = Db::table('wxxsbilldd_msg')->where('issend', '0')->limit(1)->select();
if ($msg == null) {
dump("订单无数据发送失败");
return;
}
$outindex = 0;
$guid_xsbill = $msg[$outindex]['guid_xsbill'];
$data_m = Db::table('wxxsbilldd_m')->where('aguid', $guid_xsbill)->select();
$data_d = Db::table('wxxsbilldd_d')->where('guid_m', $guid_xsbill)->select();
$items_d = count($data_d); //项数
if($data_m ==null){
//更新 issend 状态
Db::startTrans();
try {
Db::table('wxxsbilldd_msg')->where('aguid', $msg[$outindex]['aguid'])->update(['issend' => '1']);
Db::commit();
dump("订单更新完成");
} catch (Exception $e) {
Db::rockback();
}
dump($msg[$outindex]['guid_xsbill']);
return ;
}
$items = (int)$data_m[0]['items'];
if ( $items !== $items_d){
dump("订单数据未同步完成 ".$items.' '.$items_d.' '.$data_m[0]['aguid'] );
return ;
}
$acode = $data_m[0]['prdacode']; //生产订单号
$day_yw = $data_m[0]['date_yw']; //时间
$khaname_long = $data_m[0]['khaname_long']; //客户名称
$sy = round($data_m[0]['sy'], 2); //总金额
$qty = round($data_m[0]['qty'], 2); //数量
$aguid = '/' . $data_m[0]['aguid']; //参数ID
$weburl = $this->url . $aguid; //web网页链接
$this->pagepath = $aguid; //小程序使用
//模板消息拼接
$touser = $msg[$outindex]['openid'];
$data = [
"touser" => $touser,
"template_id" => $this->template_id,
"url" => $weburl,
"data" => array(
"first" => array("value" => $this->companyname,"color" => $this->color),
"keyword1" => array("value" => $khaname_long,"color" => $this->color),
"keyword2" => array("value" => $acode,"color" => $this->color),
"keyword3" => array("value" => $items_d,"color" => $this->color),
"keyword4" => array("value" => $qty,"color" => $this->color),
"keyword5" => array("value" => $sy.'元',"color" => $this->color),
"remark" => array("value" => $day_yw,"color" => $this->color),
)
];
//模板消息发送
$access_token = $this->getWxAccessToken();
$msgurl = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=". $access_token; // 发送模板消息接口
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $msgurl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
// 我们在POST数据哦!
curl_setopt($ch, CURLOPT_POST, 1);
// 把post的变量加上
$json_template = json_encode($data);
curl_setopt($ch, CURLOPT_POSTFIELDS, urldecode($json_template));
curl_exec($ch);
curl_close($ch);
//更新 issend 状态
Db::startTrans();
try {
Db::table('wxxsbilldd_msg')->where('aguid', $msg[$outindex]['aguid'])->update(['issend' => '1']);
Db::commit();
dump("订单更新完成");
} catch (Exception $e) {
Db::rockback();
}
}
php 实现公众号模板消息url 跳转
最新推荐文章于 2024-08-07 09:43:43 发布