|
@@ -186,59 +186,55 @@ public class KxsCampServiceImpl extends ServiceImpl<KxsCampMapper, KxsCamp> impl
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public void prizePoolIsRefreshed(PrizePoolDTO param) {
|
|
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());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|