作者 潘浩文
1 个管道 的构建 通过 耗费 6 秒

意见修改

... ... @@ -147,6 +147,9 @@ class IndexController extends WeChatBaseController
if (Db::name('light_order')->where(['light_id'=>$param['light_id'],'status'=>1,'end_time'=>['>',time()]])->find()){
return 3;
}
if (Db::name('light_order')->where(['light_id'=>$param['light_id'],'status'=>0,'end_time'=>['>',time()]])->find()){
return 4;
}
if ($param['media']!="") {
$data['avatar'] = $this->upload_wx_pic_mul($param['media']);
}else{
... ...
... ... @@ -37,7 +37,7 @@ class PayController extends WeChatBaseController
'body' => '十方台',
'detail' => '点亮财神灯',
'out_trade_no' => $data['order_sn'],
'total_fee' => 1, // 单位:分
'total_fee' => $data['money'], // 单位:分
'notify_url' => url('portal/pay/notify','','',true), // 支付结果通知网址,如果不设置则会使用配置里的默认地址
'openid' => $re['open_id'], // trade_type=JSAPI,此参数必传,用户在商户appid下的唯一标识,
];
... ... @@ -67,6 +67,43 @@ class PayController extends WeChatBaseController
// var_dump(cache('order'));
// }
public function index2(){
$re=$this->checkLogin();
$param=$this->request->param();
$data=Db::name('light_order')->where('id',$param['id'])->find();
$money=Db::name('light')->where('id',$data['light_id'])->find()['money'];
$attributes = [
'trade_type' => 'JSAPI',
'body' => '十方台',
'detail' => '续费',
'out_trade_no' => $data['order_sn'],
'total_fee' => $money, // 单位:分
'notify_url' => url('portal/pay/notify2','','',true), // 支付结果通知网址,如果不设置则会使用配置里的默认地址
'openid' => $re['open_id'], // trade_type=JSAPI,此参数必传,用户在商户appid下的唯一标识,
];
$order = new Order($attributes);
$app = new Application($this->options);
$payment = $app->payment;
$result = $payment->prepare($order);
if ($result->return_code == 'SUCCESS' && $result->result_code == 'SUCCESS'){
//判断支付并发情况
// if (Db::name('light_order')->where(['light_id'=>$data['light_id'],'status'=>1,'end_time'=>['>',time()]])->find()){
// $this->error('该财神灯已被点亮','');
// }
$prepayId = $result->prepay_id;
$jsApiParameters=$payment->configForJSSDKPayment($prepayId);
$this->assign('jsApiParameters',json_encode($jsApiParameters));
$this->assign('list',$data);
return $this->fetch();
}else{
$this->error('支付参数错误','',$result);
}
}
/**
* 支付回调
* @throws \EasyWeChat\Core\Exceptions\FaultException
... ... @@ -102,12 +139,11 @@ class PayController extends WeChatBaseController
Db::name('temple')->where('id',$light['temple_id'])->setInc('money',$order['money']);
//硬件控制
$this->lightChange($order['light_id'],'01','01',$order['name']);
Db::name('light_order')->where('order_sn',$out_trade_no)->update($update);
} else {
// 用户支付失败
$update['status']=0;
Db::name('light_order')->where('order_sn',$out_trade_no)->delete();
}
Db::name('light_order')->where('order_sn',$out_trade_no)->update($update);
return true; // 返回处理完成
});
... ... @@ -171,6 +207,17 @@ class PayController extends WeChatBaseController
/**
* 查询订单
*/
... ...
... ... @@ -118,7 +118,11 @@
}else if (data==3){
alert('十方台温馨提示:\n该财神灯已被点亮');
return false
}else {
}else if (data==4){
alert('十方台温馨提示:\n其他用户支付中');
return false
}
else {
window.location.href=data;
}
}
... ...
... ... @@ -21,7 +21,7 @@
<div class="term-of-validity">{:date('Y年m月d日',$list['create_time']);}-{:date('Y年m月d日',$list['end_time']);}</div>
</div>
<div class="renew-box">
<div class="renew-btn">续费</div>
<a href="{:url('portal/pay/index2',array('id'=>$list.id))}" style="text-decoration:none;out-line: none;"> <div class="renew-btn">续费</div></a>
</div>
</div>
<div class="bottom">
... ...