|
@@ -4,14 +4,19 @@ import cn.hutool.core.date.DatePattern;
|
|
|
import cn.hutool.core.date.LocalDateTimeUtil;
|
|
import cn.hutool.core.date.LocalDateTimeUtil;
|
|
|
import cn.hutool.core.util.NumberUtil;
|
|
import cn.hutool.core.util.NumberUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
|
+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.CommonConstants;
|
|
|
import com.kxs.common.core.constant.SecurityConstants;
|
|
import com.kxs.common.core.constant.SecurityConstants;
|
|
|
import com.kxs.stat.api.model.KxsLkbTrade;
|
|
import com.kxs.stat.api.model.KxsLkbTrade;
|
|
|
import com.kxs.stat.api.model.KxsUserActTrade;
|
|
import com.kxs.stat.api.model.KxsUserActTrade;
|
|
|
|
|
+import com.kxs.stat.api.model.KxsUserLogoutTrade;
|
|
|
import com.kxs.stat.api.model.KxsUserTrade;
|
|
import com.kxs.stat.api.model.KxsUserTrade;
|
|
|
import com.kxs.stat.api.vo.ShdTradeAmtVO;
|
|
import com.kxs.stat.api.vo.ShdTradeAmtVO;
|
|
|
|
|
+import com.kxs.stat.biz.constant.enums.TotalTypeEnum;
|
|
|
import com.kxs.stat.biz.mapper.KxsLkbTradeMapper;
|
|
import com.kxs.stat.biz.mapper.KxsLkbTradeMapper;
|
|
|
import com.kxs.stat.biz.mapper.KxsUserActTradeMapper;
|
|
import com.kxs.stat.biz.mapper.KxsUserActTradeMapper;
|
|
|
|
|
+import com.kxs.stat.biz.mapper.KxsUserLogoutTradeMapper;
|
|
|
import com.kxs.stat.biz.mapper.KxsUserTradeMapper;
|
|
import com.kxs.stat.biz.mapper.KxsUserTradeMapper;
|
|
|
import com.kxs.stat.biz.service.KxsUserTradeService;
|
|
import com.kxs.stat.biz.service.KxsUserTradeService;
|
|
|
import com.kxs.user.api.dto.kxsapp.IntegralStatDTO;
|
|
import com.kxs.user.api.dto.kxsapp.IntegralStatDTO;
|
|
@@ -48,9 +53,12 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
|
|
|
|
|
|
|
|
private final KxsLkbTradeMapper kxsLkbTradeMapper;
|
|
private final KxsLkbTradeMapper kxsLkbTradeMapper;
|
|
|
|
|
|
|
|
|
|
+ private final KxsUserLogoutTradeMapper kxsUserLogoutTradeMapper;
|
|
|
|
|
+
|
|
|
private final static String PREFIX_TABLE_NAME = "kxs_user_trade_";
|
|
private final static String PREFIX_TABLE_NAME = "kxs_user_trade_";
|
|
|
private final static String PREFIX_TABLE_NAME_TEMP = "kxs_user_trade_temp_";
|
|
private final static String PREFIX_TABLE_NAME_TEMP = "kxs_user_trade_temp_";
|
|
|
|
|
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
@Async
|
|
@Async
|
|
|
public void getUserTradeList(String para) {
|
|
public void getUserTradeList(String para) {
|
|
@@ -115,16 +123,26 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
|
|
|
//查询广电交易数据
|
|
//查询广电交易数据
|
|
|
Cursor<KxsUserActTrade> kxsUserActTrades = kxsUserActTradeMapper.getUserTradeMonthList(thisMoth);
|
|
Cursor<KxsUserActTrade> kxsUserActTrades = kxsUserActTradeMapper.getUserTradeMonthList(thisMoth);
|
|
|
for (KxsUserActTrade kxsUserActTrade : kxsUserActTrades) {
|
|
for (KxsUserActTrade kxsUserActTrade : kxsUserActTrades) {
|
|
|
|
|
+ //总激活数
|
|
|
|
|
+ int actNum = kxsUserActTrade.getActNum();
|
|
|
|
|
+ //查询注销的广电卡
|
|
|
|
|
+ KxsUserLogoutTrade kxsUserLogoutTrade = kxsUserLogoutTradeMapper.selectOne(Wrappers.<KxsUserLogoutTrade>lambdaQuery()
|
|
|
|
|
+ .eq(KxsUserLogoutTrade::getUserId, kxsUserActTrade.getUserId())
|
|
|
|
|
+ .eq(KxsUserLogoutTrade::getTotalType, TotalTypeEnum.TEAM.getType()).last("limit 1"));
|
|
|
|
|
+ //总激活数 减去注销的卡 = 实际激活总数
|
|
|
|
|
+ if(kxsUserLogoutTrade != null){
|
|
|
|
|
+ actNum = actNum - kxsUserLogoutTrade.getLogoutNum();
|
|
|
|
|
+ }
|
|
|
ShdTradeAmtVO shdTradeAmtVO = baseMapper.getTempShdTableData(tempTableName, kxsUserActTrade.getUserId());
|
|
ShdTradeAmtVO shdTradeAmtVO = baseMapper.getTempShdTableData(tempTableName, kxsUserActTrade.getUserId());
|
|
|
if(shdTradeAmtVO == null){
|
|
if(shdTradeAmtVO == null){
|
|
|
shdTradeAmtVO = new ShdTradeAmtVO();
|
|
shdTradeAmtVO = new ShdTradeAmtVO();
|
|
|
shdTradeAmtVO.setUserId(kxsUserActTrade.getUserId());
|
|
shdTradeAmtVO.setUserId(kxsUserActTrade.getUserId());
|
|
|
//广电卡 * 10000加入
|
|
//广电卡 * 10000加入
|
|
|
- shdTradeAmtVO.setGdAmt(NumberUtil.mul(kxsUserActTrade.getActNum(), BigDecimal.valueOf(10000)));
|
|
|
|
|
|
|
+ shdTradeAmtVO.setGdAmt(NumberUtil.mul(actNum, CommonConstants.GD_CARDINAL_NUMBER));
|
|
|
baseMapper.insertTempShdTableData(tempTableName, shdTradeAmtVO);
|
|
baseMapper.insertTempShdTableData(tempTableName, shdTradeAmtVO);
|
|
|
}else{
|
|
}else{
|
|
|
//广电卡 * 10000加入
|
|
//广电卡 * 10000加入
|
|
|
- shdTradeAmtVO.setGdAmt(NumberUtil.mul(kxsUserActTrade.getActNum(), BigDecimal.valueOf(10000)));
|
|
|
|
|
|
|
+ shdTradeAmtVO.setGdAmt(NumberUtil.mul(actNum, CommonConstants.GD_CARDINAL_NUMBER));
|
|
|
baseMapper.updateTempShdTableData(tempTableName, shdTradeAmtVO);
|
|
baseMapper.updateTempShdTableData(tempTableName, shdTradeAmtVO);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -146,7 +164,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
|
|
|
if(kxsUserTrade.getLkbActAmt() != null){
|
|
if(kxsUserTrade.getLkbActAmt() != null){
|
|
|
totalAmount = totalAmount.add(kxsUserTrade.getLkbActAmt());
|
|
totalAmount = totalAmount.add(kxsUserTrade.getLkbActAmt());
|
|
|
}
|
|
}
|
|
|
- if(totalAmount.compareTo(BigDecimal.valueOf(3000000)) >= 0){
|
|
|
|
|
|
|
+ if(totalAmount.compareTo(CommonConstants.MAX_TOTAL_AMT) >= 0){
|
|
|
IntegralStatDTO integralStatDTO = new IntegralStatDTO();
|
|
IntegralStatDTO integralStatDTO = new IntegralStatDTO();
|
|
|
integralStatDTO.setTradeMonth(thisMoth);
|
|
integralStatDTO.setTradeMonth(thisMoth);
|
|
|
integralStatDTO.setUserId(Long.valueOf(kxsUserTrade.getUserId()));
|
|
integralStatDTO.setUserId(Long.valueOf(kxsUserTrade.getUserId()));
|