Commit 86acc8bf authored by wwccw0591's avatar wwccw0591

更新

parent 0d7c0348
......@@ -3,6 +3,7 @@
namespace Order;
use Our\ApiConst;
use Our\RedisHelper;
use Our\WechatCommon;
/**
......@@ -710,6 +711,36 @@ class OrderConfirmUtil {
}
$orderModel->db->doCommit();
$wechatCommon = WechatCommon::getInstance();
$access_token = $wechatCommon->getAccessToken();
//订单通过小程序表单提交过来
if($formId && $access_token) {
$settingDAO = \DAO\SettingModel::getInstance();
$msg_tpl = $settingDAO->getListCache(array('wxapp_order_create_tpl'))['wxapp_order_create_tpl'];
$goods_str = '';
if(count($goods_datas)>1) {
$goods_str .= $goods_datas[0].'等' .count($goods_datas).'件商品';
} else {
$goods_str .= $goods_datas[0];
}
$sess = \Yaf\Session::getInstance();
$authInfo = $sess->get('wxAuthInfo');
$openid = $authInfo['openid'];
$req_data = array('touser'=>$openid, 'template_id'=> $msg_tpl, 'form_id'=>$formId,
'page'=> 'pages/orders/detail/index?id=' . $orderId,
'data'=>array(
'keyword1'=>array('value'=>'下单成功'),
'keyword2'=>array('value'=> $order['order_sn']),
'keyword3'=>array('value'=> number_format($order['order_amount']/100, 2).'元'),
'keyword4'=>array('value'=> $order['store_name']),
'keyword5'=>array('value'=> $goods_str),
));
// \Our\Log::getInstance()->write(json_encode($req_data), '/data/log/apptest');
$json = $wechatCommon->sendTemplateMessage($access_token, $req_data);
// \Our\Log::getInstance()->write($json, '/data/log/apptest');
}
$this->opCacheInfo();
$this->pushMessage();
return array('needPayFlag'=>$needPayFlag,'paySn'=>$paySn);
......
......@@ -72,6 +72,21 @@ class WechatCommon
return $jsonstr;
}
/**
* 发送模板消息
*
* @param $access_token token
* @param $req_data 请求数据数组
* User: King <358887571@qq.com>
* Date: 2019/1/2 0002
* Time: 下午 4:41
*/
public function sendTemplateMessage($access_token, $req_data) {
$url = 'https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token='.$access_token;
$result = $this->httpsPostJson($url, $req_data, true);
return $result;
}
public function httpsPostJson($url, $data = '', $array = false)
{
......@@ -127,4 +142,4 @@ class WechatCommon
return self::$_instance;
}
}
\ No newline at end of file
}
......@@ -18,6 +18,7 @@ use Our\NameConst;
use Our\PageConst;
use Our\Push;
use Our\RedisHelper;
use Our\WechatCommon;
/**
* 店铺service
......@@ -87,52 +88,6 @@ class OrderServiceModel extends \Business\AbstractModel
return $access_token;
}
/**
* curl请求
* @param $url
* @param $access_token
* @param $data
* @param $method
*/
private function sendurl($url, $access_token = '', $data = '', $method = 'get', $header = '') {
//
if(strtolower($method)=='post') {
$curl = curl_init();
curl_setopt($curl,CURLOPT_URL,$url.$access_token);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
} else {
$curl = curl_init($url.$access_token);
}
if($header){
//设置头部信息
curl_setopt($curl,CURLOPT_HTTPHEADER,$header);
}
//$curl = curl_init($url.$access_token);
curl_setopt($curl,CURLOPT_FAILONERROR,1);
//设置允许页面重定向
curl_setopt($curl,CURLOPT_FOLLOWLOCATION,1);
//设置返回值赋给变量
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
//设置操作时间
curl_setopt($curl,CURLOPT_TIMEOUT,5);
if($method=='post'){
if(!$data) $data='';
// 使用post 请求
curl_setopt($curl,CURLOPT_POST,1);
// 设置请求参数
curl_setopt($curl,CURLOPT_POSTFIELDS,$data);
}
//开始事务
$r = curl_exec($curl);
curl_close($curl);
return $r;
}
/**
* 发送模板消息
*
......@@ -146,7 +101,8 @@ class OrderServiceModel extends \Business\AbstractModel
$model_member = \DAO\MemberModel::getInstance(DbNameConst::salveDBConnectName);
$model_order_goods = \DAO\Order\OrderGoodsModel::getInstance(DbNameConst::salveDBConnectName);
$settingDAO = \DAO\SettingModel::getInstance();
$access_token = $this->getLitAccesstoken();
$wechatCommon = WechatCommon::getInstance();
$access_token = $wechatCommon->getAccessToken();
$wxapp_templates = $settingDAO->getListCache(array('wxapp_order_paysucc_tpl', 'wxapp_order_shipping_tpl', 'wxapp_order_receive_tpl'));
//付款7天内付款消息通知
......@@ -180,14 +136,10 @@ class OrderServiceModel extends \Business\AbstractModel
'keyword6'=>array('value'=>'已付款'),
));
// \Our\Log::getInstance()->write(json_encode($req_data), '/data/log/apptest');
$url = 'https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=';
if($result = $this->sendurl($url, $access_token, json_encode($req_data), 'post')) {
$json = json_decode($result, true);
if($json['errmsg']=='ok') {
$model->updateByOrderId(array('msg_status'=>2), $order['order_id']);
echo 'order[' . $order['order_id'] .'] send payment succ'."\n";
}
$json = $wechatCommon->sendTemplateMessage($access_token, $req_data);
if($json['errmsg']=='ok') {
$model->updateByOrderId(array('msg_status'=>2), $order['order_id']);
echo 'order[' . $order['order_id'] .'] send payment succ'."\n";
}
}
......@@ -235,14 +187,11 @@ class OrderServiceModel extends \Business\AbstractModel
'keyword7'=>array('value'=>number_format($order['order_amount']/100, 2).'元'),
));
// \Our\Log::getInstance()->write(json_encode($req_data), '/data/log/apptest');
$url = 'https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=';
if($result = $this->sendurl($url, $access_token, json_encode($req_data), 'post')) {
$json = json_decode($result, true);
if($json['errmsg']=='ok') {
$model->updateByOrderId(array('msg_status'=>3), $order['order_id']);
echo 'order[' . $order['order_id'] .'] send payment succ'."\n";
}
$json = $wechatCommon->sendTemplateMessage($access_token, $req_data);
if($json['errmsg']=='ok') {
$model->updateByOrderId(array('msg_status'=>3), $order['order_id']);
echo 'order[' . $order['order_id'] .'] send shipping succ'."\n";
}
}
......@@ -299,14 +248,11 @@ class OrderServiceModel extends \Business\AbstractModel
'keyword9'=>array('value'=>'您购买的商品已被签收,如不是您本人签收,请尽快联系商家'),
));
// \Our\Log::getInstance()->write(json_encode($req_data), '/data/log/apptest');
$url = 'https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=';
if($result = $this->sendurl($url, $access_token, json_encode($req_data), 'post')) {
$json = json_decode($result, true);
if($json['errmsg']=='ok') {
$model->updateByOrderId(array('msg_status'=>4), $order['order_id']);
echo 'order[' . $order['order_id'] .'] send payment succ'."\n";
}
$json = $wechatCommon->sendTemplateMessage($access_token, $req_data);
if($json['errmsg']=='ok') {
$model->updateByOrderId(array('msg_status'=>4), $order['order_id']);
echo 'order[' . $order['order_id'] .'] send reciver succ'."\n";
}
}
......@@ -689,7 +635,8 @@ class OrderServiceModel extends \Business\AbstractModel
$push->sendTcpMessage();
$model_member = \DAO\MemberModel::getInstance(DbNameConst::salveDBConnectName);
$access_token = $this->getLitAccesstoken();
$wechatCommon = WechatCommon::getInstance();
$access_token = $wechatCommon->getAccessToken();
$settingDAO = \DAO\SettingModel::getInstance();
$wxapp_templates = $settingDAO->getListCache(array('wxapp_order_receive_tpl'));
......@@ -734,13 +681,10 @@ class OrderServiceModel extends \Business\AbstractModel
'keyword9'=>array('value'=>'您购买的商品已被签收,如不是您本人签收,请尽快联系商家'),
));
// \Our\Log::getInstance()->write(json_encode($req_data), '/data/log/apptest');
$url = 'https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=';
if($result = $this->sendurl($url, $access_token, json_encode($req_data), 'post')) {
$json = json_decode($result, true);
if($json['errmsg']=='ok') {
$orderDao->updateByOrderId(array('msg_status'=>4), $order['order_id']);
}
$json = $wechatCommon->sendTemplateMessage($access_token, $req_data);
if($json['errmsg']=='ok') {
$orderDao->updateByOrderId(array('msg_status'=>4), $order['order_id']);
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment