Selaa lähdekoodia

fix(order): 修复分享订单佣金计算逻辑

- 添加了佣金比例大于0的条件判断,避免无效佣金记录
- 确保只有在有实际佣金比例时才创建佣金记录
- 防止因零佣金导致的冗余账单数据插入
shichen 2 kuukautta sitten
vanhempi
commit
4e93ddd6e8
1 muutettua tiedostoa jossa 19 lisäystä ja 17 poistoa
  1. 19 17
      app/common/repositories/store/order/StoreOrderRepository.php

+ 19 - 17
app/common/repositories/store/order/StoreOrderRepository.php

@@ -12155,23 +12155,25 @@ class StoreOrderRepository extends BaseRepository
12155 12155
                     $mark = '分享商品获得佣金';
12156 12156
                 }
12157 12157
 
12158
-                $brokeragePriceByShareUser = bcmul($storeOrderEntity->getConPri(), $rate, CommonEnum::DECIMAL_PLACES_OF_THE_AMOUNT);
12159
-                // 添加佣金记录
12160
-                /** @var UserBillRepository $userBillRepository */
12161
-                $userBillRepository = app()->make(UserBillRepository::class);
12162
-                $userBillRepository->addUserBill(
12163
-                    $orderShareUid,
12164
-                    UserBillEnum::COMMISSION_TYPE['SHARE_EARNINGS']['code'],
12165
-                    UserBillEnum::PM['INCOME']['code'],
12166
-                    $brokeragePriceByShareUser,
12167
-                    UserBillEnum::CATEGORY['NowMoney']['code'],
12168
-                    UserBillEnum::TYPE['Commission']['code'],
12169
-                    UserBillEnum::SOURCE['ONLINE']['code'],
12170
-                    UserBillEnum::ORDER_TYPE['SELF_OPERATED']['code'],
12171
-                    UserBillEnum::TYPE_SHOP['Platform']['code'],
12172
-                    $storeOrderEntity->getOrderId(),
12173
-                    $mark
12174
-                );
12158
+                if ($rate > 0) {
12159
+                    $brokeragePriceByShareUser = bcmul($storeOrderEntity->getConPri(), $rate, CommonEnum::DECIMAL_PLACES_OF_THE_AMOUNT);
12160
+                    // 添加佣金记录
12161
+                    /** @var UserBillRepository $userBillRepository */
12162
+                    $userBillRepository = app()->make(UserBillRepository::class);
12163
+                    $userBillRepository->addUserBill(
12164
+                        $orderShareUid,
12165
+                        UserBillEnum::COMMISSION_TYPE['SHARE_EARNINGS']['code'],
12166
+                        UserBillEnum::PM['INCOME']['code'],
12167
+                        $brokeragePriceByShareUser,
12168
+                        UserBillEnum::CATEGORY['NowMoney']['code'],
12169
+                        UserBillEnum::TYPE['Commission']['code'],
12170
+                        UserBillEnum::SOURCE['ONLINE']['code'],
12171
+                        UserBillEnum::ORDER_TYPE['SELF_OPERATED']['code'],
12172
+                        UserBillEnum::TYPE_SHOP['Platform']['code'],
12173
+                        $storeOrderEntity->getOrderId(),
12174
+                        $mark
12175
+                    );
12176
+                }
12175 12177
             }
12176 12178
         }
12177 12179
     }