소스 검색

feat(order): 实现共富会员分享佣金计算功能

- 新增共富会员身份判断逻辑
- 添加共富推荐配置查询和佣金比例计算
- 区分普通分享和共富分享的佣金标记
- 优化佣金计算流程支持不同用户等级
- 统一佣金记录的标记信息处理
shichen 2 달 전
부모
커밋
f1b3cf7516
1개의 변경된 파일19개의 추가작업 그리고 10개의 파일을 삭제
  1. 19 10
      app/common/repositories/store/order/StoreOrderRepository.php

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

@@ -12135,16 +12135,25 @@ class StoreOrderRepository extends BaseRepository
12135 12135
         if (!in_array($storeOrderEntity->getMerId(), $shareMerchantIds)) {
12136 12136
             $orderShareUid = $storeOrderEntity->getShareUid();
12137 12137
             if ($orderShareUid) {
12138
-                // 计算 佣金
12139
-                $user_group_share_rate = Db::name("system_config_value")->where(["config_key" => "user_group_share_rate"])->value("value");
12140
-                $user_group_share_rate = json_decode($user_group_share_rate, true);
12141
-                $user_group_share_rate = array_column($user_group_share_rate, 'rate', 'user_groub');
12138
+                // 判断分享人是否是共富会员
12139
+                $ShareUser = Db::name('shared_prosperity_user')->where(["user_id" => $orderShareUid])->find();
12140
+                if ($ShareUser) {
12141
+                    $rate = Db::name('shared_prosperity_recommend_config')->where(["level" => $ShareUser['partner_level']])->value("share_ratio");
12142
+                    $rate = $rate / 100;
12143
+                    $mark = '共富分享商品获得佣金';
12144
+                }else{
12145
+                    // 计算 佣金
12146
+                    $user_group_share_rate = Db::name("system_config_value")->where(["config_key" => "user_group_share_rate"])->value("value");
12147
+                    $user_group_share_rate = json_decode($user_group_share_rate, true);
12148
+                    $user_group_share_rate = array_column($user_group_share_rate, 'rate', 'user_groub');
12142 12149
 
12143
-                /** @var UserRepository $userRepository */
12144
-                $userRepository = app()->make(UserRepository::class);
12145
-                $userEntityByShareUserEntity = $userRepository->getUserEntityByUid($orderShareUid);
12146
-                $userGroup = $userEntityByShareUserEntity->getUserGroup();
12147
-                $rate = ($user_group_share_rate[$userGroup] ?? 0) / 100;
12150
+                    /** @var UserRepository $userRepository */
12151
+                    $userRepository = app()->make(UserRepository::class);
12152
+                    $userEntityByShareUserEntity = $userRepository->getUserEntityByUid($orderShareUid);
12153
+                    $userGroup = $userEntityByShareUserEntity->getUserGroup();
12154
+                    $rate = ($user_group_share_rate[$userGroup] ?? 0) / 100;
12155
+                    $mark = '分享商品获得佣金';
12156
+                }
12148 12157
 
12149 12158
                 $brokeragePriceByShareUser = bcmul($storeOrderEntity->getConPri(), $rate, CommonEnum::DECIMAL_PLACES_OF_THE_AMOUNT);
12150 12159
                 // 添加佣金记录
@@ -12161,7 +12170,7 @@ class StoreOrderRepository extends BaseRepository
12161 12170
                     UserBillEnum::ORDER_TYPE['SELF_OPERATED']['code'],
12162 12171
                     UserBillEnum::TYPE_SHOP['Platform']['code'],
12163 12172
                     $storeOrderEntity->getOrderId(),
12164
-                    '分享商品获得佣金'
12173
+                    $mark
12165 12174
                 );
12166 12175
             }
12167 12176
         }