whitefang 1 год назад
Родитель
Сommit
d63a086f80
2 измененных файлов с 21 добавлено и 2 удалено
  1. 2 2
      app/api/logic/ServiceOrderLogic.php
  2. 19 0
      app/common/logic/PayNotifyLogic.php

+ 2 - 2
app/api/logic/ServiceOrderLogic.php

@@ -81,7 +81,7 @@ class ServiceOrderLogic extends BaseLogic
                 $order_total = $goods['service_fee'];
                 $order_amount = $goods['service_fee'];
             }else if ($goods['goods_payment_type'] == GoodsEnum::DEP_GOODS_PAYMENT_TYPE){
-                $order_total = $goods['base_service_fee'];
+                $order_total = $goods['service_fee'];
                 $order_amount = $goods['service_fee'];
             }
             else{
@@ -161,7 +161,7 @@ class ServiceOrderLogic extends BaseLogic
                 'sn' => generate_sn(RechargeOrder::class, 'sn'),
                 'order_type'=>0,//服务订单
                 'order_terminal' => $params['terminal'],
-                'payment_type'=>$goods['goods_payment_type']==1?1:0,
+                'payment_type'=>$goods['goods_payment_type']==GoodsEnum::ISGOODS_PAYMENT_TYPE?0:1,
                 'user_id' => $params['user_id'],
                 'pay_status' => PayEnum::UNPAID,
                 'coupon_id'=>!empty($params['coupon_id'])?$params['coupon_id']:0,

+ 19 - 0
app/common/logic/PayNotifyLogic.php

@@ -17,6 +17,7 @@ namespace app\common\logic;
 use app\common\enum\PayEnum;
 use app\common\enum\user\AccountLogEnum;
 use app\common\enum\WorkEnum;
+use app\common\model\recharge\OrderGoods;
 use app\common\model\recharge\RechargeOrder;
 use app\common\model\shops\ShopOrders;
 use app\common\model\user\User;
@@ -101,6 +102,24 @@ class PayNotifyLogic extends BaseLogic
             $order->pay_status = PayEnum::ISPAID;
             $order->pay_time = time();
             $order->paid_amount = $order->order_amount;
+
+            //判断是否是一口价预支付订单,支付成功后生成尾款订单
+            $order_goods = OrderGoods::where('sn',$order->sn)->findOrEmpty();
+            if(!$order_goods->isEmpty() and $order_goods->goods_payment_type == 3 and bcsub($order_goods->base_service_fee,$order_goods->service_fee,2)>0){
+                //新增待支付尾款
+                $order_data = [
+                    'order_type'=>$order['order_type'],
+                    'sn'=>generate_sn(\app\common\model\orders\RechargeOrder::class, 'sn'),
+                    'work_id'=>$order['work_id'],
+                    'user_id'=>$order['user_id'],
+                    'payment_type'=>2,
+                    'order_total'=>bcsub($order_goods->base_service_fee,$order_goods->service_fee,2),
+                    'order_amount'=>bcsub($order_goods->base_service_fee,$order_goods->service_fee,2),
+                    'order_terminal'=>$order['order_terminal']
+                ];
+                RechargeOrder::create($order_data);
+            }
+
             $order->save();
             $work = ServiceWork::findOrEmpty($order->work_id);