Commit 912c13c6 authored by wwccw0591's avatar wwccw0591

更新

parent 2617f711
......@@ -709,34 +709,7 @@ class OrderConfirmUtil {
\Error\ErrorModel::throwException(\Error\CodeConfigModel::failedUpdateFavoritesStoreForOrder);
}
$orderModel->db->doCommit();
//订单通过小程序表单提交过来
if($formId && ($access_token = $this->getLitAccesstoken())) {
$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');
$url = 'https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=';
$result = $this->sendurl($url, $access_token, json_encode($req_data), 'post');
\Our\Log::getInstance()->write(var_export($result, true), '/data/log/apptest');
}
$this->opCacheInfo();
$this->pushMessage();
return array('needPayFlag'=>$needPayFlag,'paySn'=>$paySn);
......
......@@ -2,6 +2,7 @@
namespace Business\Order;
use Business\Store\StoreServiceModel;
use DAO\Order\OrderCommonModel;
use Error\CodeConfigModel;
use Error\ErrorModel;
......@@ -146,11 +147,12 @@ class OrderServiceModel extends \Business\AbstractModel
$model_order_goods = \DAO\Order\OrderGoodsModel::getInstance(DbNameConst::salveDBConnectName);
$settingDAO = \DAO\SettingModel::getInstance();
$access_token = $this->getLitAccesstoken();
$wxapp_templates = $settingDAO->getListCache(array('wxapp_order_paysucc_tpl', 'wxapp_order_shipping_tpl', 'wxapp_order_receive_tpl'));
$where = array('msg_status'=>array('elt', 1), 'payment_type'=>5, 'order_state'=>array('gt',10), 'prepay_id'=>
//付款7天内付款消息通知
$where = array('msg_status'=>array('elt', 1), 'payment_type'=>5, 'order_state'=>array('egt',20), 'prepay_id'=>
array('neq',
''), 'payment_time'=>array('gt', TIMESTAMP-7*24*60*60));
$wxapp_templates = $settingDAO->getListCache(array('wxapp_order_paysucc_tpl', 'wxapp_order_shipping_tpl', 'wxapp_order_receive_tpl'));
''), 'payment_time'=>array('gt', TIMESTAMP-7*24*60*60), 'payment_time' => array('lt', TIMESTAMP-10));
if($list = $model->getList($where, 'order_id,order_sn,store_name,buyer_id,order_amount,payment_time, order_state, prepay_id', 0, 10, array('payment_time'=>'asc'))) {
echo $access_token.' order num: '.count($list['list'])."\n";
foreach ($list['list'] as $order) {
......@@ -191,6 +193,123 @@ class OrderServiceModel extends \Business\AbstractModel
}
}
}
//付款7天内订单发货通知
$where = array('msg_status'=>2, 'payment_type'=>5, 'shipping_type'=> array('in', '1,2'), 'order_state'=>
array('egt', 30), 'prepay_id'=>
array('neq',
''), 'payment_time'=>array('gt', TIMESTAMP-7*24*60*60));
if($list = $model->getList($where, 'order_id,order_sn,store_id,store_name,buyer_id,order_amount,add_time, send_time, order_state, prepay_id', 0, 10, array('payment_time'=>'asc'))) {
echo $access_token.' order num: '.count($list['list'])."\n";
$common_model = \DAO\Order\OrderCommonModel::getInstance();
foreach ($list['list'] as $order) {
// \Our\Log::getInstance()->write('order:'.json_encode($order), '/data/log/apptest');
if($access_token && ($member = $model_member->getOneByMemberId($order['buyer_id'], array('member_id', 'member_wxappopenid')
))) {
$msg_tpl = $wxapp_templates['wxapp_order_shipping_tpl'];
$sub_data = $common_model->findByOrderId($order['order_id'], 'reciver_name, reciver_info');
$address = '';
if($sub_data['reciver_info']) {
$reciver_info = json_decode($sub_data['reciver_info'], true);
$address = $reciver_info['address'].$reciver_info['subaddress'];
}
$where = array('order_id'=>$order['order_id']);
$goods_datas = $model_order_goods->getOrderGoods($where, 'order_id, goods_name');
$goods_str = '';
if(count($goods_datas)>1) {
$goods_str .= $goods_datas[0]['goods_name'].'等' .count($goods_datas).'个商品';
} else {
$goods_str .= $goods_datas[0]['goods_name'];
}
$req_data = array('touser'=>$member['member_wxappopenid'], 'template_id'=> $msg_tpl,
'form_id'=> $order['prepay_id'],
'page'=> 'pages/orders/detail/index?id='.$order['order_id'],
'data'=>array(
'keyword1'=>array('value'=>date('Y-m-d H:i', $order['add_time'])),
'keyword2'=>array('value'=>date('Y-m-d H:i', $order['send_time'])),
'keyword3'=>array('value'=>$order['order_sn']),
'keyword4'=>array('value'=>$address),
'keyword5'=>array('value'=>$order['store_name']),
'keyword6'=>array('value'=>$goods_str),
'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";
}
}
}
}
}
//付款7天内订单确认收货通知
$where = array('msg_status'=>3, 'payment_type'=>5, 'order_state'=>
array('egt', 40), 'prepay_id'=>
array('neq',
''), 'payment_time'=>array('gt', TIMESTAMP-7*24*60*60), 'finnished_time' => array('lt', TIMESTAMP-15));
if($list = $model->getList($where, 'order_id,order_sn,store_id,store_name,buyer_id, shipping_type,order_amount,add_time, send_time, finnished_time, order_state, prepay_id', 0, 10, array('payment_time'=>'asc'))) {
echo $access_token.' order num: '.count($list['list'])."\n";
$common_model = \DAO\Order\OrderCommonModel::getInstance();
$store_model = \DAO\StoreModel::getInstance();
foreach ($list['list'] as $order) {
// \Our\Log::getInstance()->write('order:'.json_encode($order), '/data/log/apptest');
if($access_token && ($member = $model_member->getOneByMemberId($order['buyer_id'], array('member_id', 'member_wxappopenid')
))) {
$msg_tpl = $wxapp_templates['wxapp_order_receive_tpl'];
$where = array('order_id'=>$order['order_id']);
$goods_datas = $model_order_goods->getOrderGoods($where, 'order_id, goods_name');
$goods_str = '';
if(count($goods_datas)>1) {
$goods_str .= $goods_datas[0]['goods_name'].'等' .count($goods_datas).'个商品';
} else {
$goods_str .= $goods_datas[0]['goods_name'];
}
$store_data = $store_model->getFieldsInfo(array('store_id'=>$order['store_id']), 'store_phone');
$shipping_type = '';
switch ($order['shipping_type']) {
case 1:
$shipping_type .= '商家配送';
break;
case 2:
$shipping_type .= '快递配送';
break;
default:
$shipping_type .= '到店自提';
break;
}
$req_data = array('touser'=>$member['member_wxappopenid'], 'template_id'=> $msg_tpl,
'form_id'=> $order['prepay_id'],
'page'=> 'pages/orders/detail/index?id='.$order['order_id'],
'data'=>array(
'keyword1'=>array('value'=>$order['order_sn']),
'keyword2'=>array('value'=>date('Y-m-d H:i', $order['send_time'])),
'keyword3'=>array('value'=>date('Y-m-d H:i', $order['finnished_time'])),
'keyword4'=>array('value'=>$order['store_name']),
'keyword5'=>array('value'=>$store_data['store_phone']),
'keyword6'=>array('value'=>$goods_str),
'keyword7'=>array('value'=>number_format($order['order_amount']/100, 2).'元'),
'keyword8'=>array('value'=>$shipping_type),
'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'=>3), $order['order_id']);
echo 'order[' . $order['order_id'] .'] send payment succ'."\n";
}
}
}
}
}
}
......@@ -565,6 +684,64 @@ class OrderServiceModel extends \Business\AbstractModel
'orderId'=>$order['order_id']));
$push->addOneToClient($pushData);
$push->sendTcpMessage();
$model_member = \DAO\MemberModel::getInstance(DbNameConst::salveDBConnectName);
$access_token = $this->getLitAccesstoken();
$settingDAO = \DAO\SettingModel::getInstance();
$wxapp_templates = $settingDAO->getListCache(array('wxapp_order_receive_tpl'));
if($access_token && ($member = $model_member->getOneByMemberId($order['buyer_id'], array('member_id', 'member_wxappopenid')
))) {
$model_order_goods = \DAO\Order\OrderGoodsModel::getInstance(DbNameConst::salveDBConnectName);
$msg_tpl = $wxapp_templates['wxapp_order_receive_tpl'];
$where = array('order_id'=>$order['order_id']);
$goods_datas = $model_order_goods->getOrderGoods($where, 'order_id, goods_name');
$goods_str = '';
if(count($goods_datas)>1) {
$goods_str .= $goods_datas[0]['goods_name'].'等' .count($goods_datas).'个商品';
} else {
$goods_str .= $goods_datas[0]['goods_name'];
}
$store_data = $storeDao->getFieldsInfo(array('store_id'=>$order['store_id']), 'store_phone');
$shipping_type = '';
switch ($order['shipping_type']) {
case 1:
$shipping_type .= '商家配送';
break;
case 2:
$shipping_type .= '快递配送';
break;
default:
$shipping_type .= '到店自提';
break;
}
$req_data = array('touser'=>$member['member_wxappopenid'], 'template_id'=> $msg_tpl,
'form_id'=> $order['prepay_id'],
'page'=> 'pages/orders/detail/index?id='.$order['order_id'],
'data'=>array(
'keyword1'=>array('value'=>$order['order_sn']),
'keyword2'=>array('value'=>date('Y-m-d H:i', $order['send_time'])),
'keyword3'=>array('value'=>date('Y-m-d H:i', $order['finnished_time'])),
'keyword4'=>array('value'=>$order['store_name']),
'keyword5'=>array('value'=>$store_data['store_phone']),
'keyword6'=>array('value'=>$goods_str),
'keyword7'=>array('value'=>number_format($order['order_amount']/100, 2).'元'),
'keyword8'=>array('value'=>$shipping_type),
'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'=>3), $order['order_id']);
}
}
}
// \Our\RedisHelper::rpush('client_push',array('storeId'=>$order['storeId'],'type'=>$type,'op'=>NameConst::reduce,'num'=>ApiConst::one,'params'=>array('c'=>'shopkeeper','m'=>'orderDetail','orderId'=>$order['orderId'])));
$orderDao->deleteOrderCache($memberId, $orderId, $order['store_id'],true,true);
$storeDao->deleteStoreCache($order['storeId'],$order['orderId']);
......
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