|
@@ -87,25 +87,51 @@ class Payment extends Frontend
|
|
|
{
|
|
|
$name="pay/jd/{$order_no}";
|
|
|
user_log($name,compact('type','order_no'));
|
|
|
+ user_log($name,compact('type','order_no','data'));
|
|
|
Db::startTrans();
|
|
|
- $order=MobileOrder::where('order_no',$order_no)->lock(true)->find();
|
|
|
- if(!$order){
|
|
|
- user_log($name,"订单没找到");
|
|
|
+ $payment=\app\common\model\Payment::where('order_no',$order_no)->lock(true)->find();
|
|
|
+ if(!$payment){
|
|
|
+ user_log($name,"支付没找到");
|
|
|
+ Db::rollback();
|
|
|
+ return '支付没找到';
|
|
|
+ }
|
|
|
+ if($payment['pay_time']){
|
|
|
+ user_log($name,"支付已支付");
|
|
|
Db::rollback();
|
|
|
- return 'success';
|
|
|
+ return '支付已支付';
|
|
|
}
|
|
|
- if($order['pay_time']){
|
|
|
- user_log($name,"订单已支付");
|
|
|
+ $payment['pay_time']=time();
|
|
|
+ if(!$payment->save()){
|
|
|
+ user_log($name,"支付保存失败");
|
|
|
Db::rollback();
|
|
|
- return 'success';
|
|
|
+ return '支付保存失败';
|
|
|
}
|
|
|
- $order['pay_time']=time();
|
|
|
- $order['status']=MobileOrder::STATUS_WAIT_SEND;
|
|
|
- $order['pay_type']=3;
|
|
|
- if(!$order->save()){
|
|
|
- user_log($name,"保存失败");
|
|
|
+ Db::commit();
|
|
|
+
|
|
|
+ Db::startTrans();
|
|
|
+ $mobileOrder=MobileOrder::where('id',$payment['mobile_order_id'])->find();
|
|
|
+ if(!$mobileOrder){
|
|
|
+ user_log($name,"手机订单不存在");
|
|
|
Db::rollback();
|
|
|
- return '保存失败';
|
|
|
+ return '手机订单不存在';
|
|
|
+ }
|
|
|
+ if($mobileOrder['pay_time']){
|
|
|
+ user_log($name,"手机订单已支付");
|
|
|
+ Db::rollback();
|
|
|
+ return '手机订单已支付';
|
|
|
+ }
|
|
|
+ $mobileOrder['status']=MobileOrder::STATUS_WAIT_SEND;
|
|
|
+ if($type=='wechat'){
|
|
|
+ $mobileOrder['pay_type']=1;
|
|
|
+ $mobileOrder['pay_no']=$data['transaction_id'];
|
|
|
+ }else{
|
|
|
+ $mobileOrder['pay_type']=2;
|
|
|
+ }
|
|
|
+ $mobileOrder['payment_id']=$payment['id'];
|
|
|
+ if(!$mobileOrder->save()){
|
|
|
+ user_log($name,"手机订单保存失败");
|
|
|
+ Db::rollback();
|
|
|
+ return '手机订单保存失败';
|
|
|
}
|
|
|
Db::commit();
|
|
|
|