|
@@ -1,12 +1,23 @@
|
|
|
package com.kxs.stat.biz.service.impl;
|
|
package com.kxs.stat.biz.service.impl;
|
|
|
|
|
|
|
|
|
|
+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.kxs.common.core.constant.SecurityConstants;
|
|
|
|
|
+import com.kxs.common.core.util.R;
|
|
|
import com.kxs.common.security.util.SecurityUtils;
|
|
import com.kxs.common.security.util.SecurityUtils;
|
|
|
import com.kxs.stat.biz.mapper.KxsUserTradeMapper;
|
|
import com.kxs.stat.biz.mapper.KxsUserTradeMapper;
|
|
|
import com.kxs.stat.api.model.KxsUserTrade;
|
|
import com.kxs.stat.api.model.KxsUserTrade;
|
|
|
import com.kxs.stat.biz.service.KxsUserTradeService;
|
|
import com.kxs.stat.biz.service.KxsUserTradeService;
|
|
|
|
|
+import com.kxs.user.api.emun.UserLevel;
|
|
|
|
|
+import com.kxs.user.api.feign.RemoteKxsUserService;
|
|
|
|
|
+import com.kxs.user.api.model.KxsUser;
|
|
|
|
|
+import com.kxs.user.api.model.KxsUserRealLevel;
|
|
|
|
|
+import lombok.RequiredArgsConstructor;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
|
|
+import java.time.LocalDateTime;
|
|
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -16,7 +27,9 @@ import java.util.List;
|
|
|
* @since 2024-05-07 17:25:06
|
|
* @since 2024-05-07 17:25:06
|
|
|
*/
|
|
*/
|
|
|
@Service("kxsUserTradeService")
|
|
@Service("kxsUserTradeService")
|
|
|
|
|
+@RequiredArgsConstructor
|
|
|
public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, KxsUserTrade> implements KxsUserTradeService {
|
|
public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, KxsUserTrade> implements KxsUserTradeService {
|
|
|
|
|
+ private final RemoteKxsUserService remoteKxsUserService;
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public List<KxsUserTrade> getUserTradeList(String month) {
|
|
public List<KxsUserTrade> getUserTradeList(String month) {
|
|
@@ -25,5 +38,42 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
|
|
|
String tableName = "kxs_user_trade_" + split[0] + split[1];
|
|
String tableName = "kxs_user_trade_" + split[0] + split[1];
|
|
|
return baseMapper.getUserTradeList(tableName);
|
|
return baseMapper.getUserTradeList(tableName);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void userRealLevel() {
|
|
|
|
|
+ //构造月份
|
|
|
|
|
+ LocalDateTime now = LocalDateTime.now();
|
|
|
|
|
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM");
|
|
|
|
|
+ String month = now.format(formatter);
|
|
|
|
|
+ List<KxsUserTrade> userTradeList = getUserTradeList(month);
|
|
|
|
|
+ for (KxsUserTrade datum : userTradeList) {
|
|
|
|
|
+ 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 = 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));
|
|
|
|
|
+ remoteKxsUserService.updateUserRealLevel(kxsUserRealLevel, SecurityConstants.FROM_IN);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
|
|
|