|
@@ -1140,6 +1140,19 @@ class OrderCreate
|
|
|
});
|
|
|
}
|
|
|
|
|
|
+ //善豆支付
|
|
|
+ $pay_bean = floatval($result['bean']);
|
|
|
+ if ($order->status == Order::STATUS_UNPAID && $pay_bean > 0) {
|
|
|
+ // 如果订单未支付,并且使用了余额混合支付 (支付失败,不影响订单状态)
|
|
|
+ $order = Db::transaction(function () use ($order, $pay_bean) {
|
|
|
+ $payOper = new PayOper();
|
|
|
+ // 余额支付,并判断是否直接支付成功了
|
|
|
+ $order = $payOper->bean($order, $pay_bean, 'order');
|
|
|
+
|
|
|
+ return $order;
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
return $order;
|
|
|
}
|
|
|
|
|
@@ -1163,8 +1176,7 @@ class OrderCreate
|
|
|
$orderData['score_amount'] = $result['score_amount'];
|
|
|
$orderData['pay_fee'] = $result['pay_fee'];
|
|
|
$orderData['original_pay_fee'] = $result['pay_fee']; // 记录支付总金额,后面可能会订单改价
|
|
|
-// $orderData['remain_pay_fee'] = $result['pay_fee']; // 这里还是显示应支付总金额,扣除动作放到实际支付时
|
|
|
- $orderData['remain_pay_fee'] = $result['temp_remain_pay_fee']; // 这里提前扣除善豆,取消订单再返回
|
|
|
+ $orderData['remain_pay_fee'] = $result['pay_fee']; // 这里还是显示应支付总金额,扣除动作放到实际支付时
|
|
|
$orderData['total_discount_fee'] = $result['total_discount_fee'];
|
|
|
$orderData['coupon_discount_fee'] = $result['coupon_discount_fee'];
|
|
|
$orderData['promo_discount_fee'] = $result['promo_discount_fee'];
|
|
@@ -1242,13 +1254,6 @@ class OrderCreate
|
|
|
$result['coupon']->allowField(true)->save();
|
|
|
}
|
|
|
|
|
|
- // 将善豆扣掉
|
|
|
- $walletService = new Wallet();
|
|
|
- if($result['goods_bean_amount'] > 0){
|
|
|
- if (!$walletService->change($this->user->id, -$result['goods_bean_amount'], 'bean', 131, '商城购物抵扣', 'shopro_order', $order->id)) {
|
|
|
- error_stop($walletService->getMessage());
|
|
|
- }
|
|
|
- }
|
|
|
//bill表args
|
|
|
$bill_args = [];
|
|
|
|