Commit a034645b authored by testshenbd's avatar testshenbd

Merge branch 'master' of git.shenbd.com:qm-develop/shenbd into master_dev

parents 9f158308 26752879
......@@ -715,7 +715,7 @@ class OrderConfirmUtil {
$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).'商品';
$goods_str .= $goods_datas[0].'等' .count($goods_datas).'商品';
} else {
$goods_str .= $goods_datas[0];
}
......
......@@ -147,12 +147,14 @@ class OrderServiceModel extends \Business\AbstractModel
$settingDAO = \DAO\SettingModel::getInstance();
$access_token = $this->getLitAccesstoken();
$where = array('msg_status'=>1, 'payment_type'=>1, 'order_state'=>array('gt',10), 'prepay_id'=> array('neq',
''));
$where = array('msg_status'=>array('elt', 1), 'payment_type'=>5, 'order_state'=>array('gt',10), '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'));
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'))) {
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 'order num: '.count($list)."\n";
foreach ($list as $order) {
if($access_token && ($member = $model_member->getInfo(array('member_id'=>$order['buyer_id']), 'member_id,member_wxopenid'))){
if($access_token && ($member = $model_member->getOneByMemberId($order['buyer_id'], 'member_id,member_wxappopenid'))){
$where = array('order_id'=>$order['order_id']);
$goods_datas = $model_order_goods->getOrderGoods($where, 'order_id, goods_name');
$msg_tpl = $wxapp_templates['wxapp_order_paysucc_tpl'];
......@@ -162,18 +164,27 @@ class OrderServiceModel extends \Business\AbstractModel
} else {
$goods_str .= $goods_datas[0]['goods_name'];
}
$req_data = array('touser'=>$member['member_wxopenid'], 'template_id'=> $msg_tpl,
$req_data = array('touser'=>$member['member_wxappopenid'], 'template_id'=> $msg_tpl,
'form_id'=> $order['prepay_id'],
'data'=>array(
array('keyword1'=>array('value'=>$order['order_sn'])),
array('keyword2'=>array('value'=>$order['store_name'])),
array('keyword3'=>array('value'=>$goods_str)),
array('keyword4'=>array('value'=>number_format($order['order_amount']/100, 2)).'元'),
array('keyword5'=>array('value'=>date('Y-m-d H:i',$order['payment_time']))),
array('keyword6'=>array('value'=>'已付款')),
'keyword1'=>array('value'=>$order['order_sn']),
'keyword2'=>array('value'=>$order['store_name']),
'keyword3'=>array('value'=>$goods_str),
'keyword4'=>array('value'=>number_format($order['order_amount']/100, 2).'元'),
'keyword5'=>array('value'=>date('Y-m-d H:i',$order['payment_time'])),
'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=';
$result = $this->sendurl($url, $access_token, $req_data, 'post');
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'=>1), $order['order_id']);
echo 'order[' . $order['order_id'] .'] send payment succ'."\n";
}
}
}
}
}
......
......@@ -328,7 +328,7 @@ class MemberServiceModel extends \Business\AbstractModel
return $result;
}
private function saveWxInfoMemberInfo($where,$openid=null){
private function saveWxInfoMemberInfo($where,$openid=null, $wxappopenid=null){
$memberDao = \DAO\MemberModel::getInstance(\Our\DbNameConst::masterDBConnectName);
//构造需要保存的会员信息
......@@ -336,6 +336,9 @@ class MemberServiceModel extends \Business\AbstractModel
if($openid){
$member['member_mobile'] = $openid;
}
if($wxappopenid) {
$member['member_wxappopenid'] = $wxappopenid;
}
$result = $memberDao->addInfo($member);
return $result;
}
......@@ -834,7 +837,7 @@ class MemberServiceModel extends \Business\AbstractModel
return false;
}
public function checkSaveWechatInfo($where){
public function checkSaveWechatInfo($where, $wxappopenid = ''){
$memberDao = \DAO\MemberModel::getInstance(\Our\DbNameConst::masterDBConnectName);
$memberMappingDao = \DAO\MemberMappingModel::getInstance(\Our\DbNameConst::masterDBConnectName);
if($where['userType'] == \Our\ApiConst::wechatUserType){
......@@ -851,7 +854,7 @@ class MemberServiceModel extends \Business\AbstractModel
//$memberMapping = \Our\RedisHelper::cachedFunction(\Redis\Db0\MemberMappingRedisModel::getInstance(),array(&$memberMappingDao, 'find'),array($condition,'member_id'),\Our\ApiConst::tenDaySecond);
if($memberMappings){
$memberIds = array_column($memberMappings,'member_id');
$member = $memberDao->getMemberForLogin($memberIds);
$member = $memberDao->getMemberForLogin($memberIds, $wxappopenid);
if($where['userType'] == \Our\ApiConst::wechatUserType){
$this->checkMemberMappingExistLogin($member['member_id'],$condition['openid'] ,$where['userType']);
}
......@@ -911,13 +914,14 @@ class MemberServiceModel extends \Business\AbstractModel
$where['session_key'] = $authInfo['session_key'];
$this->checkWechatInfo($where,$authInfo);
$returnMember = $this->checkSaveWechatInfo($where);
$returnMember = $this->checkSaveWechatInfo($where, $authInfo['openid']);
if($returnMember){
return $returnMember;
}
$db->doTransaction();
$openid = $this->getUnionId($where['encryptedData'],$where['iv'],$where['session_key']);
$memberId = $this->saveWxInfoMemberInfo($where,$openid);
$wxappOpenid = $authInfo['session_key'];
$memberId = $this->saveWxInfoMemberInfo($where, $openid, $wxappOpenid);
if(!$memberId){
$db->doRollback();
......
......@@ -21,7 +21,7 @@ class MemberModel extends \DAO\AbstractModel
protected $_tableName = 'han_member';
//有效用户返回数据
private $availMemberColumn = array('member_id', 'member_name', 'member_truename', 'member_avatar', 'member_sex', 'member_birthday', 'member_mobile', 'member_mobile_bind', 'member_qq', 'member_qqopenid', 'member_qqinfo', 'member_wxinfo', 'member_wxopenid', 'member_sinaopenid', 'member_sinainfo', 'member_points', 'member_state', 'member_quicklink', 'member_exppoints', 'store_id', 'iswx', 'agree_flag', 'seller_id', 'diliveryman_id', 'member_tag_ids', 'member_group_ids', 'is_teacher', 'member_email', 'member_email_bind','is_wxsend');
private $availMemberColumn = array('member_id', 'member_name', 'member_truename', 'member_avatar', 'member_sex', 'member_birthday', 'member_mobile', 'member_mobile_bind', 'member_qq', 'member_qqopenid', 'member_qqinfo', 'member_wxinfo', 'member_wxopenid', 'member_sinaopenid', 'member_sinainfo', 'member_points', 'member_state', 'member_quicklink', 'member_exppoints', 'store_id', 'iswx', 'agree_flag', 'seller_id', 'diliveryman_id', 'member_tag_ids', 'member_group_ids', 'is_teacher', 'member_email', 'member_email_bind', 'is_wxsend', 'member_wxappopenid');
//有效用户返回数据
......@@ -229,6 +229,7 @@ class MemberModel extends \DAO\AbstractModel
'memberMobileBind' => (int)$member['member_mobile_bind'],
'memberWxinfo' => isset($member['member_wxinfo'])&&$member['member_wxinfo']? unserialize($member['member_wxinfo']) : new \stdClass(),
'memberWxopenid' => $member['member_wxopenid'],
'memberWxappopenid' => $member['member_wxappopenid'],
'sellerId' => (int)$member['seller_id'],
'diliverymanId' => (int)$member['diliveryman_id'],
'storeId' => (int)$member['store_id'],
......@@ -251,6 +252,7 @@ class MemberModel extends \DAO\AbstractModel
'memberMobileBind' => $member['member_mobile_bind'],
'memberWxinfo' => isset($member['member_wxinfo']) ? unserialize($member['member_wxinfo']) : new \stdClass(),
'memberWxopenid' => $member['member_wxopenid'],
'memberWxappopenid' => $member['member_wxappopenid'],
'sellerId' => $member['seller_id'],
'diliverymanId' => $member['diliveryman_id'],
'storeId' => $member['store_id'],
......@@ -556,7 +558,16 @@ class MemberModel extends \DAO\AbstractModel
return $member;
}
public function getMemberForLogin($memberIds){
/**
* 获取登录用户
* @param $memberIds
* @param string $wxappopenid
* @return array
* User: King <358887571@qq.com>
* Date: 2018/12/29 0029
* Time: 下午 3:20
*/
public function getMemberForLogin($memberIds, $wxappopenid = ''){
$member = array();
$memberCon['member_id'] = array('in',$memberIds);
$memberCon['member_state'] = \Our\ApiConst::one;
......@@ -574,6 +585,10 @@ class MemberModel extends \DAO\AbstractModel
if(empty($member)){
$member = $memberList[0];
}
if($wxappopenid && !$member['member_wxappopenid']) {
$this->updateInfo(array('member_wxappopenid'=>$wxappopenid), array('member_id'=>$member['member_id']));
}
$member['member_wxappopenid'] = $wxappopenid;
$memberAvatarUrl = $this->getMemberAvatarUrl($member['member_id'], $member['member_avatar']);
$member['memberAvatarUrl'] = $memberAvatarUrl;
}
......
......@@ -41,9 +41,11 @@ class cliOrderSendTemplateMessage extends basecli
}
}
private function autoSendMessage(){
protected function autoSendMessage(){
$service = \Business\Order\OrderServiceModel::getInstance(\Our\DbNameConst::masterDBConnectName);
$service->baseDir = \Our\Common::getConfig('out.config');
echo "autoSendMessage:\n";
$service->sendTemplateMessage();
}
protected function _runCli()
......@@ -61,6 +63,7 @@ class cliOrderSendTemplateMessage extends basecli
exit;
}
$this->lockFileName = $lockDir . '/orderSendTemplateMessage.locks';
@unlink($this->lockFileName);
if( file_exists( $this->lockFileName ) )
{
$stat = stat($this->lockFileName);
......@@ -84,7 +87,7 @@ class cliOrderSendTemplateMessage extends basecli
}
}
$oCli = new cliOrderConfirm(TRUE);
$oCli = new cliOrderSendTemplateMessage(TRUE);
EXIT;
?>
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