Commit e27fa112 authored by 734642908@qq.com's avatar 734642908@qq.com

添加模板消息

parent 713e414a
...@@ -466,4 +466,26 @@ function uc_authcode($string, $operation = 'DECODE', $key = '', $expiry = 0) { ...@@ -466,4 +466,26 @@ function uc_authcode($string, $operation = 'DECODE', $key = '', $expiry = 0) {
} else { } else {
return $keyc.str_replace('=', '', base64_encode($result)); return $keyc.str_replace('=', '', base64_encode($result));
} }
}
function curlPost($url,$data='',$is_ssl = false) {
$ch = curl_init();
// 配置
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
if ($is_ssl) {
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); // 从证书中检查SSL加密算法是否存在
curl_setopt($ch, CURLOPT_SSLVERSION, 1); // 设定SSL版本,微信时候使用1,否则报错
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
}
// 执行
$re = curl_exec($ch);
// 关闭
curl_close($ch);
return $re;
} }
\ No newline at end of file
...@@ -122,7 +122,7 @@ class AuctionController extends BaseController ...@@ -122,7 +122,7 @@ class AuctionController extends BaseController
,'initial_price'=>10 ,'initial_price'=>10
,'bid_price'=>10 ,'bid_price'=>10
,'enroll_price'=>10 ,'enroll_price'=>10
,'start_time'=>'2018-09-20 21:35' ,'start_time'=>'2018-09-20 16:30'
,'end_time'=>'' ,'end_time'=>''
,'status'=>'1' ,'status'=>'1'
) )
...@@ -204,7 +204,8 @@ class AuctionController extends BaseController ...@@ -204,7 +204,8 @@ class AuctionController extends BaseController
// $goodsInfo = json_decode($goodsJson, true); // $goodsInfo = json_decode($goodsJson, true);
//判断是否到竞拍时间 //判断是否到竞拍时间
if(strtotime($lval['start_time']) <= time()) { $tempStartTime = strtotime($lval['start_time']);
if($tempStartTime <= time()) {
$lval['status'] = 2; $lval['status'] = 2;
} }
if(empty($lval['bid_total'])) { if(empty($lval['bid_total'])) {
...@@ -223,7 +224,8 @@ class AuctionController extends BaseController ...@@ -223,7 +224,8 @@ class AuctionController extends BaseController
} else if(!empty($goodsInfo['bid_time']) && (intval(strtotime($goodsInfo['bid_time']))+$this->countdown) <= time()) { } else if(!empty($goodsInfo['bid_time']) && (intval(strtotime($goodsInfo['bid_time']))+$this->countdown) <= time()) {
//竞拍胜出 //竞拍胜出
$model= new \Home\Model\AuctionModel(); $model= new \Home\Model\AuctionModel();
$model->awardSave($goodsInfo); $goodsInfo = $model->awardSave($goodsInfo);
$eee = curlPost('http://localhost/gitlab/ylc/wechat/auctionWin',$goodsInfo);
} else { } else {
//没有用户参与报名竞拍 //没有用户参与报名竞拍
// $enrollNum = $GLOBALS["conn"]->NumRows($GLOBALS["conn"]->Query("select sysid from ".get_table("game_auction_enroll")." where game_code='hezi' and goods_id='".$goodsInfo['id']."'")); // $enrollNum = $GLOBALS["conn"]->NumRows($GLOBALS["conn"]->Query("select sysid from ".get_table("game_auction_enroll")." where game_code='hezi' and goods_id='".$goodsInfo['id']."'"));
...@@ -242,6 +244,11 @@ class AuctionController extends BaseController ...@@ -242,6 +244,11 @@ class AuctionController extends BaseController
} else { } else {
$goodsList[$key]['list'][$lkey] = $lval; $goodsList[$key]['list'][$lkey] = $lval;
$redis->set($lval['id'],json_encode($lval)); $redis->set($lval['id'],json_encode($lval));
//距离十分钟竞拍活动提醒
if($tempStartTime <= (time()+600)) {
curlPost('http://localhost/gitlab/ylc/wechat/auctionTips',array('goods_id'=>$lval['id'],'time'=>$lval['start_time']));
}
} }
//$lmid = strtotime($lval['start_time'])-time(); //获取一个用于分割的关键字,一般是首个元素 //$lmid = strtotime($lval['start_time'])-time(); //获取一个用于分割的关键字,一般是首个元素
...@@ -258,7 +265,7 @@ class AuctionController extends BaseController ...@@ -258,7 +265,7 @@ class AuctionController extends BaseController
$mid = strtotime($val['date'])-strtotime(date('Y-m-d')); //获取一个用于分割的关键字,一般是首个元素 $mid = strtotime($val['date'])-strtotime(date('Y-m-d')); //获取一个用于分割的关键字,一般是首个元素
if($mid >= 0) { if($mid >= 0) {
if($mid == 0) { if($mid == 0) {
$goodsList[$key]['name'] = '今竞拍'; $goodsList[$key]['name'] = '今竞拍';
} else { } else {
$goodsList[$key]['name'] = '竞拍预告'; $goodsList[$key]['name'] = '竞拍预告';
} }
...@@ -278,7 +285,7 @@ class AuctionController extends BaseController ...@@ -278,7 +285,7 @@ class AuctionController extends BaseController
,'msg'=>'获取成功' ,'msg'=>'获取成功'
,'d' => array( ,'d' => array(
'list' => $goodsList, 'list' => $goodsList,
'activity_date' => '2018.09.10-2018.09.20' 'activity_date' => '2018.09.19-2018.09.30'
) )
); );
echo $this->formatRes($result); echo $this->formatRes($result);
......
...@@ -35,7 +35,7 @@ class WechatController extends BaseController ...@@ -35,7 +35,7 @@ class WechatController extends BaseController
"msgtype":"text", "msgtype":"text",
"text": "text":
{ {
"content":"再见" "content":"你好"
} }
}';*/ }';*/
...@@ -58,6 +58,7 @@ class WechatController extends BaseController ...@@ -58,6 +58,7 @@ class WechatController extends BaseController
} }
} }
//上传临时图片
public function uploadMedia() { public function uploadMedia() {
$token = $this->getToekn(); $token = $this->getToekn();
$token = json_decode($token,true)['access_token']; $token = json_decode($token,true)['access_token'];
...@@ -72,6 +73,120 @@ class WechatController extends BaseController ...@@ -72,6 +73,120 @@ class WechatController extends BaseController
var_dump($re); var_dump($re);
} }
//竞拍活动开始提醒
public function auctionTips() {
$goodsId = I('goods_id');
$time = I('time');
if(empty($goodsId) || empty($time)) {
exit('参数不完整');
}
$enrollModel = M("game_auction_enroll","",C("LEWAN_HEZI"));
$enrollWhere = array(
'remind'=>1
,'send_status'=>1
,'goods_id'=>$goodsId
);
$enrollArr = $enrollModel->where($enrollWhere)->field('uid')->limit(400)->select();
if(!empty($enrollArr)) {
$uidArr = array_column($enrollArr,'uid');
$userWhere = array(
'status'=>1
,'uid'=>array('in',$uidArr)
,'add_time'=>array('gt',date('Y-m-d',time()-(60*60*24*6)))
);
$userArr = M("yl_template_formid","",C("LEWAN_HEZI"))->where($userWhere)->group('uid')->order('add_time')->limit(400)->select();
if(!empty($userArr)) {
$token = $this->getToekn();
$token = json_decode($token,true)['access_token'];
foreach($userArr as $key=>$val) {
//发送模板消息
$posturl = "https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=".$token;
$postArr = array(
'touser'=>$val['openid']
,'template_id'=>'bnIZwuwovElUz0aCDxRS_AVtM1JsGVMLgjEsY_8XtEQ'
,'page'=>'pages/index/index'
,'form_id'=>$val['form_id']
,'data'=>array(
'keyword1'=>array('value'=>'您预约的免费竞拍活动快要开始啦')
,'keyword2'=>array('value'=>$time)
,'keyword3'=>array('value'=>'邀请好友可以增加出价次数,出价次数越多,商品越容易竞拍成功哦~')
)
,'emphasis_keyword'=>"keyword1.DATA"
);
$this->curlPost($posturl,json_encode($postArr),true);
//记录发送数据
$enrollModel->startTrans();
$re1 = $enrollModel->where(array('uid'=>$val['uid'],'goods_id'=>$goodsId))->save(array('send_status'=>2,'send_time'=>date('Y-m-d H:i:s')));
$tupdateArr = array(
'status'=>2
,'use_way'=>'auction_tips'
,'send_time'=>date('Y-m-d H:i:s')
);
$re2 = M("yl_template_formid","",C("LEWAN_HEZI"))->where(array('sysid'=>$val['sysid']))->save($tupdateArr);
if($re1 && $re2) {
$enrollModel->commit();
}
}
}
exit('竞拍活动开始提醒发送成功');
}
exit('竞拍活动开始提醒发送完毕');
}
//竞拍获胜通知
public function auctionWin() {
$auctionArr = $_POST;
// $auctionArr = json_decode($auction_info,true);
// var_dump($auctionArr['end_time']);exit;
if(empty($auctionArr['bid_uid']) || empty($auctionArr['end_time']) || empty($auctionArr['bid_price'])) {
exit('参数不完整');
}
$model = M("yl_template_formid","",C("LEWAN_HEZI"));
$userWhere = array(
'status'=>1
,'uid'=>$auctionArr['bid_uid']
,'add_time'=>array('gt',date('Y-m-d',time()-(60*60*24*6)))
);
$userArr = $model->where($userWhere)->order('add_time')->find();
if(!empty($userArr)) {
$token = $this->getToekn();
$token = json_decode($token,true)['access_token'];
//发送模板消息
$posturl = "https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=".$token;
$postArr = array(
'touser'=>$userArr['openid']
,'template_id'=>'TFdwfj6A6RH42aLYjnpcyEUBn3XUkQtZ9e0LvZEdqM0'
,'page'=>'pages/index/index'
,'form_id'=>$userArr['form_id']
,'data'=>array(
'keyword1'=>array('value'=>$auctionArr['name'])
,'keyword2'=>array('value'=>$auctionArr['end_time'])
,'keyword3'=>array('value'=>$auctionArr['bid_price'])
,'keyword4'=>array('value'=>'竞拍成功的商品,请注意在页面完成商品领取哦~')
)
,'emphasis_keyword'=>"keyword1.DATA"
);
$this->curlPost($posturl,json_encode($postArr),true);
$updateArr = array(
'status'=>2
,'use_way'=>'auction_win'
,'send_time'=>date('Y-m-d H:i:s')
);
$model->where(array('sysid'=>$userArr['sysid']))->save($updateArr);
exit('竞拍获胜通知发送成功');
}
exit('formid已使用完毕');
}
public function getToekn() public function getToekn()
{ {
$filepath = 'http://ylc.test.llewan.com/wechat/retToekn'; $filepath = 'http://ylc.test.llewan.com/wechat/retToekn';
...@@ -80,7 +195,6 @@ class WechatController extends BaseController ...@@ -80,7 +195,6 @@ class WechatController extends BaseController
} }
public function retToekn() { public function retToekn() {
$filepath = 'uploadfile/wechatToken.txt'; $filepath = 'uploadfile/wechatToken.txt';
$url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$this->appid.'&secret='.$this->secret; $url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$this->appid.'&secret='.$this->secret;
//检查access_token是否过期 //检查access_token是否过期
...@@ -100,8 +214,6 @@ class WechatController extends BaseController ...@@ -100,8 +214,6 @@ class WechatController extends BaseController
echo $token; echo $token;
} }
//o1SKVdH2mEU_7FpCo3xdQ-kjVp94eesikR3lU9rkUoqCTvTHZhSxDsw9PtSB38Jf
protected function curlPost($url,$data='',$is_ssl = false) { protected function curlPost($url,$data='',$is_ssl = false) {
$ch = curl_init(); $ch = curl_init();
// 配置 // 配置
......
...@@ -46,7 +46,7 @@ class AuctionModel extends BaseModel ...@@ -46,7 +46,7 @@ class AuctionModel extends BaseModel
$goodsJson = json_encode($goodsInfo); $goodsJson = json_encode($goodsInfo);
S(C('REDIS'))->set($goodsInfo['id'],$goodsJson); S(C('REDIS'))->set($goodsInfo['id'],$goodsJson);
} }
return $goodsInfo;
} }
......
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