Procházet zdrojové kódy

训练营交易订单统计优化来客吧组合包

mac před 2 roky
rodič
revize
5f2eee2b8e

+ 49 - 53
kxs-system/kxs-system-biz/src/main/java/com/kxs/system/biz/service/impl/KxsCampServiceImpl.java

@@ -186,59 +186,55 @@ public class KxsCampServiceImpl extends ServiceImpl<KxsCampMapper, KxsCamp> impl
     @Transactional(rollbackFor = Exception.class)
     public void prizePoolIsRefreshed(PrizePoolDTO param) {
 
-        //兑换券下单
-        if (param.getProductId() == 10 || param.getProductId() == 11) {
-
-            log.info("开始处理兑换券下单订单号:{}统计到训练营奖金池", param.getOrderNo());
-
-            //下单组数
-            BigDecimal number = NumberUtil.div(param.getTotalPrice(), 600);
-            //订单奖金
-            BigDecimal amount = NumberUtil.mul(number, 60);
-            //查询此用户是否参加进行中的训练营
-            KxsCamp kxsCamp = baseMapper.selectUserCamp(param.getUserId());
-            if (kxsCamp != null) {
-                //给训练营加金额
-                kxsCamp.setBonusPool(NumberUtil.add(kxsCamp.getBonusPool(), amount));
-                kxsCamp.setOrderNum(kxsCamp.getOrderNum() + number.intValue());
-                baseMapper.updateById(kxsCamp);
-
-                //给创客团队加金额
-                KxsCampUser kxsCampUser = kxsCampUserService.getOne(Wrappers.<KxsCampUser>lambdaQuery()
-                        .eq(KxsCampUser::getCampId, kxsCamp.getId())
-                        .eq(KxsCampUser::getUserId, param.getUserId()));
-                kxsCampUser.setTeamOrderPool(NumberUtil.add(kxsCampUser.getTeamOrderPool(), amount));
-                kxsCampUser.setTeamOrderNum(kxsCampUser.getTeamOrderNum() + number.intValue());
-                kxsCampUserService.updateById(kxsCampUser);
-                log.info("用户{}参加训练营{},订单ID{}, 奖金池{},订单数{}", param.getUserId(), kxsCamp.getId(), param.getId(), kxsCamp.getBonusPool(), kxsCamp.getOrderNum());
-                return;
-            }
-            //查找此用户上级倒序后参加了训练营,把奖金加入到自己和训练营里
-            R<KxsUser> kxsUserR = remoteKxsUserService.loadUserById(param.getUserId(), SecurityConstants.FROM_IN);
-            KxsUser user = RetOps.of(kxsUserR)
-                    .getData()
-                    .orElseThrow(() -> new GlobalCustomerException(ErrorTypeEnum.USER_NOT_FOUND.getDescription()));
-            //下单用户的上级路径
-            String[] pidPaths = user.getPidPath().split(StrPool.COMMA);
-            //翻转上级从最近的开始查询
-            Arrays.sort(pidPaths, Collections.reverseOrder());
-            kxsCamp = baseMapper.selectUsersCamp(pidPaths);
-            if (kxsCamp != null) {
-                //给训练营加金额
-                kxsCamp.setBonusPool(NumberUtil.add(kxsCamp.getBonusPool(), amount));
-                kxsCamp.setOrderNum(kxsCamp.getOrderNum() + number.intValue());
-                baseMapper.updateById(kxsCamp);
-
-                //给创客团队加金额
-                KxsCampUser kxsCampUser = kxsCampUserService.getOne(Wrappers.<KxsCampUser>lambdaQuery()
-                        .eq(KxsCampUser::getCampId, kxsCamp.getId())
-                        .eq(KxsCampUser::getUserId, param.getUserId()));
-                //给创客团队加金额
-                kxsCampUser.setTeamOrderPool(NumberUtil.add(kxsCampUser.getTeamOrderPool(), amount));
-                kxsCampUser.setTeamOrderNum(kxsCampUser.getTeamOrderNum() + number.intValue());
-                kxsCampUserService.updateById(kxsCampUser);
-                log.info("用户{}的上级{}参加训练营{},订单ID{},奖金池{},订单数{}", param.getUserId(), kxsCampUser.getUserId(), kxsCamp.getId(), param.getId(), kxsCamp.getBonusPool(), kxsCamp.getOrderNum());
-            }
+        log.info("开始处理兑换券下单订单号:{}统计到训练营奖金池", param.getOrderNo());
+
+        //下单组数
+        BigDecimal number = NumberUtil.div(param.getTotalPrice(), 600);
+        //订单奖金
+        BigDecimal amount = NumberUtil.mul(number, 60);
+        //查询此用户是否参加进行中的训练营
+        KxsCamp kxsCamp = baseMapper.selectUserCamp(param.getUserId());
+        if (kxsCamp != null) {
+            //给训练营加金额
+            kxsCamp.setBonusPool(NumberUtil.add(kxsCamp.getBonusPool(), amount));
+            kxsCamp.setOrderNum(kxsCamp.getOrderNum() + number.intValue());
+            baseMapper.updateById(kxsCamp);
+
+            //给创客团队加金额
+            KxsCampUser kxsCampUser = kxsCampUserService.getOne(Wrappers.<KxsCampUser>lambdaQuery()
+                    .eq(KxsCampUser::getCampId, kxsCamp.getId())
+                    .eq(KxsCampUser::getUserId, param.getUserId()));
+            kxsCampUser.setTeamOrderPool(NumberUtil.add(kxsCampUser.getTeamOrderPool(), amount));
+            kxsCampUser.setTeamOrderNum(kxsCampUser.getTeamOrderNum() + number.intValue());
+            kxsCampUserService.updateById(kxsCampUser);
+            log.info("用户{}参加训练营{},订单ID{}, 奖金池{},订单数{}", param.getUserId(), kxsCamp.getId(), param.getId(), kxsCamp.getBonusPool(), kxsCamp.getOrderNum());
+            return;
+        }
+        //查找此用户上级倒序后参加了训练营,把奖金加入到自己和训练营里
+        R<KxsUser> kxsUserR = remoteKxsUserService.loadUserById(param.getUserId(), SecurityConstants.FROM_IN);
+        KxsUser user = RetOps.of(kxsUserR)
+                .getData()
+                .orElseThrow(() -> new GlobalCustomerException(ErrorTypeEnum.USER_NOT_FOUND.getDescription()));
+        //下单用户的上级路径
+        String[] pidPaths = user.getPidPath().split(StrPool.COMMA);
+        //翻转上级从最近的开始查询
+        Arrays.sort(pidPaths, Collections.reverseOrder());
+        kxsCamp = baseMapper.selectUsersCamp(pidPaths);
+        if (kxsCamp != null) {
+            //给训练营加金额
+            kxsCamp.setBonusPool(NumberUtil.add(kxsCamp.getBonusPool(), amount));
+            kxsCamp.setOrderNum(kxsCamp.getOrderNum() + number.intValue());
+            baseMapper.updateById(kxsCamp);
+
+            //给创客团队加金额
+            KxsCampUser kxsCampUser = kxsCampUserService.getOne(Wrappers.<KxsCampUser>lambdaQuery()
+                    .eq(KxsCampUser::getCampId, kxsCamp.getId())
+                    .eq(KxsCampUser::getUserId, param.getUserId()));
+            //给创客团队加金额
+            kxsCampUser.setTeamOrderPool(NumberUtil.add(kxsCampUser.getTeamOrderPool(), amount));
+            kxsCampUser.setTeamOrderNum(kxsCampUser.getTeamOrderNum() + number.intValue());
+            kxsCampUserService.updateById(kxsCampUser);
+            log.info("用户{}的上级{}参加训练营{},订单ID{},奖金池{},订单数{}", param.getUserId(), kxsCampUser.getUserId(), kxsCamp.getId(), param.getId(), kxsCamp.getBonusPool(), kxsCamp.getOrderNum());
         }
 
     }