|
@@ -19,7 +19,6 @@ import com.alipay.api.request.AlipayTradeQueryRequest;
|
|
|
import com.alipay.api.response.AlipayFundTransCommonQueryResponse;
|
|
import com.alipay.api.response.AlipayFundTransCommonQueryResponse;
|
|
|
import com.alipay.api.response.AlipayTradeFastpayRefundQueryResponse;
|
|
import com.alipay.api.response.AlipayTradeFastpayRefundQueryResponse;
|
|
|
import com.alipay.api.response.AlipayTradeQueryResponse;
|
|
import com.alipay.api.response.AlipayTradeQueryResponse;
|
|
|
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.cyksj.common.EnvCommonService;
|
|
import com.cyksj.common.EnvCommonService;
|
|
@@ -109,6 +108,7 @@ import java.math.RoundingMode;
|
|
|
import java.util.*;
|
|
import java.util.*;
|
|
|
import java.util.concurrent.ConcurrentHashMap;
|
|
import java.util.concurrent.ConcurrentHashMap;
|
|
|
import java.util.concurrent.atomic.AtomicBoolean;
|
|
import java.util.concurrent.atomic.AtomicBoolean;
|
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* @author chan
|
|
* @author chan
|
|
@@ -2929,16 +2929,13 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
|
|
|
//下级渠道用户id
|
|
//下级渠道用户id
|
|
|
Long subUserId = userDistributeSub.getSubUserId();
|
|
Long subUserId = userDistributeSub.getSubUserId();
|
|
|
|
|
|
|
|
- UserDistributeSubWaiting userDistributeSubWaiting = userDistributeSubWaitingMapper.selectOne(Wrappers.lambdaQuery(UserDistributeSubWaiting.class)
|
|
|
|
|
|
|
+ List<Integer> existLevels = userDistributeSubWaitingMapper.selectList(Wrappers.lambdaQuery(UserDistributeSubWaiting.class)
|
|
|
.eq(UserDistributeSubWaiting::getUserId, userId)
|
|
.eq(UserDistributeSubWaiting::getUserId, userId)
|
|
|
- .orderByDesc(UserDistributeSubWaiting::getLevel).last("limit 1"));
|
|
|
|
|
- //小于最大奖励级别
|
|
|
|
|
- if (userDistributeSubWaiting == null || userDistributeSubWaiting.getLevel() < UserDistributeSubRewards.RewardLevel.values().length) {
|
|
|
|
|
- LambdaQueryWrapper<UserDistributeSubRewards> wrapper = Wrappers.lambdaQuery(UserDistributeSubRewards.class);
|
|
|
|
|
- if (userDistributeSubWaiting != null) {
|
|
|
|
|
- wrapper.gt(UserDistributeSubRewards::getLevel, userDistributeSubWaiting.getLevel());
|
|
|
|
|
- }
|
|
|
|
|
- List<UserDistributeSubRewards> userDistributeSubRewards = userDistributeSubRewardsMapper.selectList(wrapper.orderByAsc(UserDistributeSubRewards::getLevel));
|
|
|
|
|
|
|
+ .eq(UserDistributeSubWaiting::getSubUserId, subUserId)
|
|
|
|
|
+ .in(UserDistributeSubWaiting::getSendStatus, List.of(UserDistributeSubWaiting.Status.waiting, UserDistributeSubWaiting.Status.success))
|
|
|
|
|
+ .select(UserDistributeSubWaiting::getLevel).last("limit 1")).stream().map(UserDistributeSubWaiting::getLevel).collect(Collectors.toList());
|
|
|
|
|
+ List<UserDistributeSubRewards> userDistributeSubRewards = userDistributeSubRewardsMapper.selectList(Wrappers.lambdaQuery(UserDistributeSubRewards.class)
|
|
|
|
|
+ .notIn(CollUtil.isNotEmpty(existLevels), UserDistributeSubRewards::getLevel, existLevels));
|
|
|
for (UserDistributeSubRewards userDistributeSubReward : userDistributeSubRewards) {
|
|
for (UserDistributeSubRewards userDistributeSubReward : userDistributeSubRewards) {
|
|
|
log.info("当前级别:{}对应的目标金额是{}", userDistributeSubReward.getLevel(), userDistributeSubReward.getTargetAmount().divide(BigDecimal.valueOf(100)));
|
|
log.info("当前级别:{}对应的目标金额是{}", userDistributeSubReward.getLevel(), userDistributeSubReward.getTargetAmount().divide(BigDecimal.valueOf(100)));
|
|
|
Integer rewardLevel = userDistributeSubReward.getLevel();
|
|
Integer rewardLevel = userDistributeSubReward.getLevel();
|
|
@@ -2950,7 +2947,9 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
|
|
|
try {
|
|
try {
|
|
|
UserDistributeSubWaiting waiting = Optional.ofNullable(userDistributeSubWaitingMapper.selectOne(Wrappers.lambdaQuery(UserDistributeSubWaiting.class)
|
|
UserDistributeSubWaiting waiting = Optional.ofNullable(userDistributeSubWaitingMapper.selectOne(Wrappers.lambdaQuery(UserDistributeSubWaiting.class)
|
|
|
.eq(UserDistributeSubWaiting::getUserId, userId)
|
|
.eq(UserDistributeSubWaiting::getUserId, userId)
|
|
|
- .eq(UserDistributeSubWaiting::getSubUserId, subUserId).last("limit 1"))).orElse(new UserDistributeSubWaiting());
|
|
|
|
|
|
|
+ .eq(UserDistributeSubWaiting::getSubUserId, subUserId)
|
|
|
|
|
+ .eq(UserDistributeSubWaiting::getLevel, rewardLevel)
|
|
|
|
|
+ .last("limit 1"))).orElse(new UserDistributeSubWaiting());
|
|
|
if (waiting.getId() != null) {
|
|
if (waiting.getId() != null) {
|
|
|
if (waiting.getSendStatus() == UserDistributeSubWaiting.Status.close) {
|
|
if (waiting.getSendStatus() == UserDistributeSubWaiting.Status.close) {
|
|
|
userDistributeSubWaitingMapper.update(null, Wrappers.lambdaUpdate(UserDistributeSubWaiting.class)
|
|
userDistributeSubWaitingMapper.update(null, Wrappers.lambdaUpdate(UserDistributeSubWaiting.class)
|
|
@@ -2972,7 +2971,6 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|