|
|
@@ -29,58 +29,28 @@ import java.util.List;
|
|
|
@Service("kxsUserRealLevelService")
|
|
|
@RequiredArgsConstructor
|
|
|
public class KxsUserRealLevelServiceImpl extends ServiceImpl<KxsUserRealLevelMapper, KxsUserRealLevel> implements KxsUserRealLevelService {
|
|
|
- private final RemoteKxsStatService remoteKxsStatService;
|
|
|
private final KxsUserMapper kxsUserMapper;
|
|
|
@Override
|
|
|
- public void userRealLevel() {
|
|
|
+ public void userRealLevel(KxsUserRealLevel kxsUserRealLevel) {
|
|
|
+ Long userId = kxsUserRealLevel.getUserId();
|
|
|
//构造月份
|
|
|
LocalDateTime now = LocalDateTime.now();
|
|
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM");
|
|
|
String month = now.format(formatter);
|
|
|
- R<List<KxsUserTrade>> userTradeList = remoteKxsStatService.getUserTradeList(month, SecurityConstants.FROM_IN);
|
|
|
- List<KxsUserTrade> data = userTradeList.getData();
|
|
|
- for (KxsUserTrade datum : data) {
|
|
|
- Integer userId = datum.getUserId();
|
|
|
- BigDecimal helpDirectTradeAmt = datum.getHelpDirectTradeAmt();//扶持期贷记卡交易额
|
|
|
- BigDecimal helpDebitTradeAmt = datum.getHelpDebitTradeAmt();//扶持期借记卡
|
|
|
- BigDecimal proDirectTradeAmt = datum.getProDirectTradeAmt();//稳定期贷记卡
|
|
|
- BigDecimal proDebitTradeAmt = datum.getProDebitTradeAmt();//稳定期借记卡
|
|
|
- BigDecimal proADirectTradeAmt = datum.getProADirectTradeAmt();//稳定期A贷记卡
|
|
|
- BigDecimal proADebitTradeAmt = datum.getProADebitTradeAmt();//稳定期A借记卡
|
|
|
- BigDecimal proBDebitTradeAmt = datum.getProBDebitTradeAmt();//稳定期B借记卡
|
|
|
- BigDecimal proBDirectTradeAmt = datum.getProBDirectTradeAmt();//稳定期B贷记卡
|
|
|
- BigDecimal totalAmount = helpDirectTradeAmt.add(helpDebitTradeAmt).add(proDirectTradeAmt).add(proDebitTradeAmt).add(proADirectTradeAmt).add(proADebitTradeAmt).add(proBDebitTradeAmt).add(proBDirectTradeAmt);
|
|
|
- KxsUserRealLevel kxsUserRealLevel = baseMapper.selectOne(Wrappers.<KxsUserRealLevel>query().lambda().eq(KxsUserRealLevel::getUserId, userId).eq(KxsUserRealLevel::getMonth, month));
|
|
|
- if (kxsUserRealLevel == null){
|
|
|
- kxsUserRealLevel = new KxsUserRealLevel();
|
|
|
- kxsUserRealLevel.setCreateTime(now);
|
|
|
- kxsUserRealLevel.setDelFlag("0");
|
|
|
- kxsUserRealLevel.setMonth(month);
|
|
|
- for (UserLevel userLevel : UserLevel.values()) {
|
|
|
- if (totalAmount.compareTo(userLevel.getTransactions()) >= 0) {
|
|
|
- kxsUserRealLevel.setLevel(userLevel.getLevel());
|
|
|
- }else if (totalAmount.compareTo(BigDecimal.ZERO) <= 0){
|
|
|
- kxsUserRealLevel.setLevel("0");
|
|
|
- }
|
|
|
- }
|
|
|
- kxsUserRealLevel.setUserId(Long.valueOf(userId));
|
|
|
- KxsUser kxsUser = kxsUserMapper.selectById(userId);
|
|
|
- kxsUserRealLevel.setPid(Long.valueOf(kxsUser.getPid()));
|
|
|
- baseMapper.insert(kxsUserRealLevel);
|
|
|
- }else {
|
|
|
- //只修改等级
|
|
|
- for (UserLevel userLevel : UserLevel.values()) {
|
|
|
- if (totalAmount.compareTo(userLevel.getTransactions()) >= 0) {
|
|
|
- kxsUserRealLevel.setLevel(userLevel.getLevel());
|
|
|
- }else if (totalAmount.compareTo(BigDecimal.ZERO) <= 0){
|
|
|
- kxsUserRealLevel.setLevel("0");
|
|
|
- }
|
|
|
- }
|
|
|
- kxsUserRealLevel.setUpdateTime(now);
|
|
|
- baseMapper.updateById(kxsUserRealLevel);
|
|
|
- }
|
|
|
+ //查询记录
|
|
|
+ KxsUserRealLevel kxsUserRealLevelSelect = baseMapper.selectOne(Wrappers.<KxsUserRealLevel>query().lambda().eq(KxsUserRealLevel::getUserId, userId).eq(KxsUserRealLevel::getMonth, month));
|
|
|
+ if (kxsUserRealLevelSelect == null){
|
|
|
+ //如果为空则增加pid后增加数据
|
|
|
+ KxsUser kxsUser = kxsUserMapper.selectById(userId);
|
|
|
+ kxsUserRealLevel.setPid(Long.valueOf(kxsUser.getPid()));
|
|
|
+ baseMapper.insert(kxsUserRealLevel);
|
|
|
+ }else {
|
|
|
+ //如果不为空则修改修改时间和职级
|
|
|
+ kxsUserRealLevelSelect.setLevel(kxsUserRealLevel.getLevel());
|
|
|
+ kxsUserRealLevelSelect.setUpdateTime(LocalDateTime.now());
|
|
|
+ baseMapper.updateById(kxsUserRealLevelSelect);
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
|