wesmiler пре 1 месец
родитељ
комит
675d0f9ea0
2 измењених фајлова са 14 додато и 1 уклоњено
  1. 6 1
      app/Services/Api/OrderService.php
  2. 8 0
      app/Services/PaymentService.php

+ 6 - 1
app/Services/Api/OrderService.php

@@ -298,6 +298,9 @@ class OrderService extends BaseService
         $meetingBonusRate = $meetingBonusRate>0 && $meetingBonusRate<100? $meetingBonusRate : 0;
         $meetingBonus = moneyFormat($orderTotal * $meetingBonusRate / 100, 2);
 
+        // 是否开启分账功能
+        $revenueOpen = ConfigService::make()->getConfigByCode('order_revenue_open', 0);
+
         // 订单数据
         $order = [
             'order_no' => $orderNo,
@@ -316,6 +319,7 @@ class OrderService extends BaseService
             'receiver_address' => $address,
             'bonus' => $bonus,
             'bonus_rate' => $bonusRate,
+            'is_revenue' => $revenueOpen==1?1: 2,
             'meeting_bonus_rate' => $meetingBonusRate,
             'meeting_bonus' => $meetingBonus,
             'create_time' => time(),
@@ -346,8 +350,9 @@ class OrderService extends BaseService
         $payOrder = [
             'type' => 1,
             'order_no' => $orderNo,
+            'is_revenue' => $order['is_revenue'],
             'pay_money' => moneyFormat($orderTotal + $deliveryFee, 2),
-            'body' => '购物消费',
+            'body' => '订单付款',
             'openid' => $openid
         ];
 

+ 8 - 0
app/Services/PaymentService.php

@@ -165,6 +165,7 @@ class PaymentService extends BaseService
     {
         $amount = isset($order['pay_money']) ? $order['pay_money'] : 0;
         $openid = isset($order['openid']) ? $order['openid'] : '';
+        $isRevenue = isset($order['is_revenue']) ? $order['is_revenue'] : 0;
         if ($amount < 0) {
             $this->error = 2615;
             return false;
@@ -193,6 +194,13 @@ class PaymentService extends BaseService
             ],
         ];
 
+        // 订单分账
+        if($isRevenue==1){
+           $payData['settle_info'] = [
+               'profit_sharing'=> true,
+           ];
+        }
+
         // 创建支付
         try {
             $pay = $this->createPay($scene, 10, 'min');