|
|
@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
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.exception.GlobalCustomerException;
|
|
|
import com.kxs.common.core.util.AssertUtil;
|
|
|
import com.kxs.common.core.util.R;
|
|
|
import com.kxs.common.security.util.SecurityUtils;
|
|
|
@@ -282,7 +283,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
|
|
|
|
|
|
//获取今日新增用户
|
|
|
Integer userAddToDay = statUserGetHomeAmoutVO.getUserAddToDay();
|
|
|
- List<String> todayList = Arrays.asList(today);
|
|
|
+ List<String> todayList = Collections.singletonList(today);
|
|
|
List<TrendTimesVO> userAddTrendToday = kxsUserNewTradeMapper.getUserAddTrend(userId, todayList, 1, 1);
|
|
|
for (TrendTimesVO trendTimesVO : userAddTrendToday) {
|
|
|
userAddToDay += trendTimesVO.getTotal();
|
|
|
@@ -291,7 +292,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
|
|
|
|
|
|
//获取本月新增用户
|
|
|
Integer userAddMonth = statUserGetHomeAmoutVO.getUserAddMonth();
|
|
|
- List<String> monthList = Arrays.asList(month);
|
|
|
+ List<String> monthList = Collections.singletonList(month);
|
|
|
List<TrendTimesVO> userAddTrendMonth = kxsUserNewTradeMapper.getUserAddTrend(userId, monthList, 2, 1);
|
|
|
for (TrendTimesVO trendTimesVO : userAddTrendMonth) {
|
|
|
userAddMonth += trendTimesVO.getTotal();
|
|
|
@@ -319,10 +320,11 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
|
|
|
@Override
|
|
|
public R getMyTrade(StatUserGetMyTradeDTO param) {
|
|
|
Long userId = SecurityUtils.getUser().getId();
|
|
|
+ param.setUserId(userId);
|
|
|
String month = param.getMonth();
|
|
|
- String type = param.getType();
|
|
|
+ Integer type = param.getType();
|
|
|
//拼接表名
|
|
|
- String tableName = PREFIX_TABLE_NAME + month;
|
|
|
+ String tableName = CommonConstants.USER_TABLE_PREFIX + param.getMonth();
|
|
|
StatUserGetMyTradeVO statUserGetMyTradeVO = new StatUserGetMyTradeVO();
|
|
|
KxsUserTrade kxsUserPosTrade = new KxsUserTrade();
|
|
|
//获取pos交易额
|
|
|
@@ -376,7 +378,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
|
|
|
|
|
|
|
|
|
//助力宝交易额
|
|
|
- TotalTradeAmtVO totalTradeAmtVO = kxsZlbTradeMapper.getZlbTrade(userId, month, 2, Integer.valueOf(type));
|
|
|
+ TotalTradeAmtVO totalTradeAmtVO = kxsZlbTradeMapper.getZlbTrade(userId, month, 2, type);
|
|
|
BigDecimal zlbAmt = BigDecimal.ZERO;
|
|
|
if (totalTradeAmtVO != null) {
|
|
|
zlbAmt = totalTradeAmtVO.getZlbAmt();
|
|
|
@@ -384,7 +386,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
|
|
|
statUserGetMyTradeVO.setZlbAmount(zlbAmt);//助力宝
|
|
|
|
|
|
|
|
|
- totalTradeAmtVO = kxsLkbTradeMapper.getLkbTrade(userId, month, 2, Integer.valueOf(type));
|
|
|
+ totalTradeAmtVO = kxsLkbTradeMapper.getLkbTrade(userId, month, 2, type);
|
|
|
BigDecimal lkbActAmt = BigDecimal.ZERO;
|
|
|
BigDecimal lkbAmt = BigDecimal.ZERO;
|
|
|
if (totalTradeAmtVO != null) {
|
|
|
@@ -395,7 +397,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
|
|
|
statUserGetMyTradeVO.setLkbAmount(lkbAmt);//来客吧非活动
|
|
|
|
|
|
|
|
|
- totalTradeAmtVO = kxsUserGdTradeMapper.getGdTrade(userId, month, 2, Integer.valueOf(type));
|
|
|
+ totalTradeAmtVO = kxsUserGdTradeMapper.getGdTrade(userId, month, 2, type);
|
|
|
BigDecimal gdAmount = BigDecimal.ZERO;
|
|
|
if (totalTradeAmtVO != null) {
|
|
|
gdAmount = totalTradeAmtVO.getGdAmount();
|
|
|
@@ -403,7 +405,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
|
|
|
statUserGetMyTradeVO.setGdTelephoneCharge(gdAmount);//广电话费
|
|
|
|
|
|
//广电交易额
|
|
|
- totalTradeAmtVO = kxsUserGdTradeMapper.getGdActCount(userId, month, 2, Integer.valueOf(type));
|
|
|
+ totalTradeAmtVO = kxsUserGdTradeMapper.getGdActCount(userId, month, 2, type);
|
|
|
BigDecimal gdActivityAmount = BigDecimal.ZERO;
|
|
|
if (totalTradeAmtVO != null) {
|
|
|
Integer gdCount = totalTradeAmtVO.getGdCount();
|
|
|
@@ -419,7 +421,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
|
|
|
//获取指定月新增用户
|
|
|
Integer userAddMonth = 0;
|
|
|
List<String> monthList = Arrays.asList(month);
|
|
|
- List<TrendTimesVO> userAddTrendMonth = kxsUserNewTradeMapper.getUserAddTrend(userId, monthList, 2, Integer.valueOf(type));
|
|
|
+ List<TrendTimesVO> userAddTrendMonth = kxsUserNewTradeMapper.getUserAddTrend(userId, monthList, 2, type);
|
|
|
for (TrendTimesVO trendTimesVO : userAddTrendMonth) {
|
|
|
userAddMonth += trendTimesVO.getTotal();
|
|
|
}
|
|
|
@@ -430,7 +432,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
|
|
|
statUserGetMyTradeVO.setTotalUserCount(totalUserCount != null ? totalUserCount : 0);//总用户
|
|
|
|
|
|
//获取累计全部激活商户
|
|
|
- Integer merchantAddMonth = kxsUserActTradeMapper.getUserActListByAll(userId, Integer.valueOf(type), 1, 3, null);
|
|
|
+ Integer merchantAddMonth = kxsUserActTradeMapper.getUserActListByAll(userId, type, 1, 3, null);
|
|
|
statUserGetMyTradeVO.setActivateMerchantCount(merchantAddMonth);//商户总激活
|
|
|
|
|
|
//获取累计全部激活码牌
|
|
|
@@ -438,9 +440,9 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
|
|
|
statUserGetMyTradeVO.setActivateSignCount(signCount != null ? signCount : 0);//码牌
|
|
|
|
|
|
//获取
|
|
|
- Integer simCount = kxsUserActTradeMapper.getUserActListByAll(userId, Integer.valueOf(type), 2, 2, Integer.valueOf(month));
|
|
|
+ Integer simCount = kxsUserActTradeMapper.getUserActListByAll(userId, type, 2, 2, Integer.valueOf(month));
|
|
|
statUserGetMyTradeVO.setActivateSIMCount(simCount != null ? simCount : 0);//存量激活sim卡
|
|
|
- Integer simToMonthCount = kxsUserActTradeMapper.getUserActListByAll(userId, Integer.valueOf(type), 2, 1, Integer.valueOf(month));
|
|
|
+ Integer simToMonthCount = kxsUserActTradeMapper.getUserActListByAll(userId, type, 2, 1, Integer.valueOf(month));
|
|
|
statUserGetMyTradeVO.setActivateSIMToMonthCount(simToMonthCount != null ? simToMonthCount : 0);//当月
|
|
|
statUserGetMyTradeVO.setType(param.getType());
|
|
|
return R.ok(statUserGetMyTradeVO);
|
|
|
@@ -491,105 +493,93 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
|
|
|
@Override
|
|
|
public R getTradeDetail(StatUserGetTradeDetailDTO param) {
|
|
|
Integer totalType = param.getTotalType();//0:个人 1:计奖
|
|
|
- Integer date = param.getDate();//该参数有效获取月份格式yyyyMM 日格式yyyyMMdd
|
|
|
+ Integer month = param.getDate();//该参数有效获取月份格式yyyyMM 日格式yyyyMMdd
|
|
|
Integer getType = param.getGetType();// 1获取日详情 2获取月详情
|
|
|
Integer tradeType = param.getTradeType();//1获取增量 2获取存量 3获取全部
|
|
|
Long userId = param.getUserId();//用户id
|
|
|
- Long brandId = param.getBrandId();//品牌id
|
|
|
- String month;
|
|
|
- // 检查字符串长度是否至少为6个字符(yyyyMM)
|
|
|
- if (date.toString().length() >= 6) {
|
|
|
- // 截取前6个字符(yyyyMM)
|
|
|
- month = date.toString().substring(0, 6);
|
|
|
- // 现在yearMonth包含了yyyyMM格式的字符串
|
|
|
- System.out.println(month); // 输出结果
|
|
|
- } else {
|
|
|
- return R.failed("date格式错误");
|
|
|
+ if(userId == null || userId == 0){
|
|
|
+ userId = SecurityUtils.getUser().getId();
|
|
|
}
|
|
|
+ Integer brandId = param.getBrandId();//品牌id
|
|
|
+
|
|
|
String tableName;
|
|
|
- //拼接表名
|
|
|
- if (tradeType.equals(3)) {
|
|
|
- tableName = PREFIX_TABLE_NAME + month;
|
|
|
- } else if (tradeType.equals(2)) {
|
|
|
- tableName = PREFIX_TABLE_NAME_BEFORE + month;
|
|
|
- } else if (tradeType.equals(1)) {
|
|
|
- tableName = PREFIX_TABLE_NAME_AFTER + month;
|
|
|
- } else {
|
|
|
- return R.failed("获取类型错误");
|
|
|
- }
|
|
|
- KxsUserTrade kxsUserTradePos = null;
|
|
|
- //查询pos交易
|
|
|
- try {
|
|
|
- kxsUserTradePos = baseMapper.getAllUserTrderSum(userId, date, getType, 0, brandId, totalType, tableName);//pos
|
|
|
- }catch (Exception e){
|
|
|
- log.info(e.getMessage());
|
|
|
+ switch (tradeType){
|
|
|
+ case 1 -> tableName = CommonConstants.USER_TABLE_AFTER_PREFIX + month;
|
|
|
+ case 2 -> tableName = CommonConstants.USER_TABLE_BEFORE_PREFIX + month;
|
|
|
+ case 3 -> tableName = CommonConstants.USER_TABLE_PREFIX + month;
|
|
|
+ default -> throw new GlobalCustomerException("参数错误");
|
|
|
}
|
|
|
|
|
|
|
|
|
+
|
|
|
StatUserGetTradeDetailVO statUserGetTradeDetailVO = new StatUserGetTradeDetailVO();
|
|
|
- statUserGetTradeDetailVO.setDate(date);//交易时间
|
|
|
- statUserGetTradeDetailVO.setBrandId(Math.toIntExact(brandId));//品牌
|
|
|
+ statUserGetTradeDetailVO.setDate(month);//交易时间
|
|
|
+ statUserGetTradeDetailVO.setBrandId(brandId);//品牌
|
|
|
+
|
|
|
+ //扶持期
|
|
|
+ StatUserTradeVo statUserTradeVo = new StatUserTradeVo();
|
|
|
+ //稳定期
|
|
|
+ StatUserTradeVo proStatUserTradeVo = new StatUserTradeVo();
|
|
|
+ //稳定期A
|
|
|
+ StatUserTradeVo proAstatUserTradeVo = new StatUserTradeVo();
|
|
|
+ //稳定期B
|
|
|
+ StatUserTradeVo proBstatUserTradeVo = new StatUserTradeVo();
|
|
|
+
|
|
|
+ //pos交易
|
|
|
+ KxsUserTrade kxsUserTradePos = baseMapper.getAllUserTrderSum(userId, month, getType, 0, brandId, totalType, tableName);
|
|
|
if (kxsUserTradePos != null) {
|
|
|
- StatUserTradeVo statUserTradeVo = new StatUserTradeVo();
|
|
|
statUserTradeVo.setDirectTradeAmt(kxsUserTradePos.getHelpDirectTradeAmt());//扶持期贷记卡
|
|
|
statUserTradeVo.setDebitTradeAmt(kxsUserTradePos.getHelpDebitTradeAmt());//扶持期借记卡
|
|
|
statUserTradeVo.setDebitCapTradeAmt(kxsUserTradePos.getHelpDebitCapTradeAmt());//扶持期借记卡封顶交易额
|
|
|
statUserTradeVo.setDebitCapNum(kxsUserTradePos.getHelpDebitCapNum());//扶持期借记卡封顶交易笔数
|
|
|
BigDecimal helpNotCapTrade = kxsUserTradePos.getHelpDebitTradeAmt().subtract(kxsUserTradePos.getHelpDebitCapTradeAmt());//非封顶交易额
|
|
|
statUserTradeVo.setCloudTrade(helpNotCapTrade);//扶持期非封顶借记卡交易额
|
|
|
- statUserGetTradeDetailVO.setHelpDirectTradeAmt(statUserTradeVo);
|
|
|
-
|
|
|
-
|
|
|
+ statUserTradeVo.setPosTrade(kxsUserTradePos.getHelpDirectTradeAmt().add(kxsUserTradePos.getHelpDebitTradeAmt()));//交易总和
|
|
|
|
|
|
- StatUserTradeVo proStatUserTradeVo = new StatUserTradeVo();
|
|
|
proStatUserTradeVo.setDirectTradeAmt(kxsUserTradePos.getProDirectTradeAmt());//稳定期贷记卡
|
|
|
proStatUserTradeVo.setDebitTradeAmt(kxsUserTradePos.getProDebitTradeAmt());//稳定期借记卡
|
|
|
proStatUserTradeVo.setDebitCapTradeAmt(kxsUserTradePos.getProDebitCapTradeAmt());//稳定期借记卡封顶交易额
|
|
|
proStatUserTradeVo.setDebitCapNum(kxsUserTradePos.getProDebitCapNum());//稳定期借记卡封顶交易笔数
|
|
|
BigDecimal proNotCapTrade = kxsUserTradePos.getProDebitTradeAmt().subtract(kxsUserTradePos.getProDebitCapTradeAmt());//非封顶交易额
|
|
|
proStatUserTradeVo.setCloudTrade(proNotCapTrade);//稳定期非封顶借记卡交易额
|
|
|
- statUserGetTradeDetailVO.setProDirectTradeAmt(proStatUserTradeVo);
|
|
|
+ proStatUserTradeVo.setPosTrade(kxsUserTradePos.getProDirectTradeAmt().add(kxsUserTradePos.getProDebitTradeAmt()));//交易总和
|
|
|
|
|
|
-
|
|
|
-
|
|
|
- StatUserTradeVo proAstatUserTradeVo = new StatUserTradeVo();
|
|
|
proAstatUserTradeVo.setDirectTradeAmt(kxsUserTradePos.getProADirectTradeAmt());//稳A贷记
|
|
|
proAstatUserTradeVo.setDebitTradeAmt(kxsUserTradePos.getProADebitTradeAmt());//稳A借记
|
|
|
proAstatUserTradeVo.setDebitCapTradeAmt(kxsUserTradePos.getProADebitCapTradeAmt());//稳定期A借记卡封顶交易额
|
|
|
proAstatUserTradeVo.setDebitCapNum(kxsUserTradePos.getProADebitCapNum());//稳定期A借记卡封顶交易笔数
|
|
|
BigDecimal proANotCapTrade = kxsUserTradePos.getProADebitTradeAmt().subtract(kxsUserTradePos.getProADebitCapTradeAmt());//非封顶交易额
|
|
|
proAstatUserTradeVo.setCloudTrade(proANotCapTrade);//稳定期b非封顶借记卡交易额
|
|
|
- statUserGetTradeDetailVO.setProADirectTradeAmt(proAstatUserTradeVo);
|
|
|
-
|
|
|
+ proAstatUserTradeVo.setPosTrade(kxsUserTradePos.getProADirectTradeAmt().add(kxsUserTradePos.getProADebitTradeAmt()));//交易总和
|
|
|
|
|
|
- StatUserTradeVo proBstatUserTradeVo = new StatUserTradeVo();
|
|
|
proBstatUserTradeVo.setDirectTradeAmt(kxsUserTradePos.getProBDirectTradeAmt());//稳定期B借记卡
|
|
|
proBstatUserTradeVo.setDebitTradeAmt(kxsUserTradePos.getProBDebitTradeAmt());//稳定期B贷记卡
|
|
|
proBstatUserTradeVo.setDebitCapTradeAmt(kxsUserTradePos.getProBDebitCapTradeAmt());//稳定期B借记卡封顶交易额
|
|
|
proBstatUserTradeVo.setDebitCapNum(kxsUserTradePos.getProBDebitCapNum());//稳定期B借记卡封顶交易笔数
|
|
|
BigDecimal proBNotCapTrade = kxsUserTradePos.getProBDebitTradeAmt().subtract(kxsUserTradePos.getProBDebitCapTradeAmt());//稳定期b非封顶交易额
|
|
|
proBstatUserTradeVo.setCloudTrade(proBNotCapTrade);//稳定期b非封顶借记卡交易额
|
|
|
- statUserGetTradeDetailVO.setProBDirectTradeAmt(proBstatUserTradeVo);
|
|
|
- KxsUserTrade kxsUserTradeCloud = null;
|
|
|
- try {
|
|
|
- kxsUserTradeCloud = baseMapper.getAllUserTrderSum(userId, date, getType, 1, brandId, totalType, tableName);//云闪付
|
|
|
- }catch (Exception e){
|
|
|
- log.info(e.getMessage());
|
|
|
- }
|
|
|
- if (kxsUserTradeCloud != null) {
|
|
|
- BigDecimal helpTrade = kxsUserTradeCloud.getHelpDebitCapTradeAmt().add(kxsUserTradeCloud.getHelpDirectTradeAmt());//计算扶持期云闪付交易额
|
|
|
- statUserTradeVo.setCloudTrade(helpTrade);//扶持期云闪付交易额
|
|
|
+ proBstatUserTradeVo.setPosTrade(kxsUserTradePos.getProBDirectTradeAmt().add(kxsUserTradePos.getProBDebitTradeAmt()));//交易总和
|
|
|
+ }
|
|
|
+ //云闪付
|
|
|
+ KxsUserTrade kxsUserTradeCloud = baseMapper.getAllUserTrderSum(userId, month, getType, 1, brandId, totalType, tableName);
|
|
|
+ if (kxsUserTradeCloud != null) {
|
|
|
+ BigDecimal helpTrade = kxsUserTradeCloud.getHelpDebitCapTradeAmt().add(kxsUserTradeCloud.getHelpDirectTradeAmt());//计算扶持期云闪付交易额
|
|
|
+ statUserTradeVo.setCloudTrade(helpTrade);//扶持期云闪付交易额
|
|
|
|
|
|
- BigDecimal proTrade = kxsUserTradeCloud.getProDebitCapTradeAmt().add(kxsUserTradeCloud.getProDirectTradeAmt());//计算稳定期云闪付交易额
|
|
|
- proStatUserTradeVo.setCloudTrade(proTrade);//稳定期云闪付交易额
|
|
|
+ BigDecimal proTrade = kxsUserTradeCloud.getProDebitCapTradeAmt().add(kxsUserTradeCloud.getProDirectTradeAmt());//计算稳定期云闪付交易额
|
|
|
+ proStatUserTradeVo.setCloudTrade(proTrade);//稳定期云闪付交易额
|
|
|
|
|
|
- BigDecimal proATrade = kxsUserTradeCloud.getProADebitCapTradeAmt().add(kxsUserTradeCloud.getProADirectTradeAmt());//计算稳定期b云闪付交易额
|
|
|
- proAstatUserTradeVo.setCloudTrade(proATrade);//稳定期A云闪付交易额
|
|
|
+ BigDecimal proATrade = kxsUserTradeCloud.getProADebitCapTradeAmt().add(kxsUserTradeCloud.getProADirectTradeAmt());//计算稳定期b云闪付交易额
|
|
|
+ proAstatUserTradeVo.setCloudTrade(proATrade);//稳定期A云闪付交易额
|
|
|
|
|
|
- BigDecimal proBTrade = kxsUserTradeCloud.getProBDebitCapTradeAmt().add(kxsUserTradeCloud.getProBDirectTradeAmt());//计算稳定期a云闪付交易额
|
|
|
- proBstatUserTradeVo.setCloudTrade(proBTrade);//稳定期B云闪付交易额
|
|
|
- }
|
|
|
+ BigDecimal proBTrade = kxsUserTradeCloud.getProBDebitCapTradeAmt().add(kxsUserTradeCloud.getProBDirectTradeAmt());//计算稳定期a云闪付交易额
|
|
|
+ proBstatUserTradeVo.setCloudTrade(proBTrade);//稳定期B云闪付交易额
|
|
|
}
|
|
|
+ statUserGetTradeDetailVO.setHelpDirectTradeAmt(statUserTradeVo);
|
|
|
+ statUserGetTradeDetailVO.setProDirectTradeAmt(proStatUserTradeVo);
|
|
|
+ statUserGetTradeDetailVO.setProADirectTradeAmt(proAstatUserTradeVo);
|
|
|
+ statUserGetTradeDetailVO.setProBDirectTradeAmt(proBstatUserTradeVo);
|
|
|
+
|
|
|
return R.ok(statUserGetTradeDetailVO);
|
|
|
}
|
|
|
|
|
|
@@ -622,7 +612,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
|
|
|
//构造查询Dto
|
|
|
StatUserGetMyTradeDTO statUserGetMyTradeDTO = new StatUserGetMyTradeDTO();
|
|
|
statUserGetMyTradeDTO.setMonth(month);
|
|
|
- statUserGetMyTradeDTO.setType(totalType.toString());
|
|
|
+ statUserGetMyTradeDTO.setType(totalType);
|
|
|
for (int i = times.size() - 1; i >= 0; i--) {
|
|
|
String time = times.get(i);
|
|
|
//查询交易额
|
|
|
@@ -657,7 +647,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
|
|
|
//构造查询Dto
|
|
|
StatUserGetMyTradeDTO statUserGetMyTradeDTO = new StatUserGetMyTradeDTO();
|
|
|
statUserGetMyTradeDTO.setMonth(month);
|
|
|
- statUserGetMyTradeDTO.setType(totalType.toString());
|
|
|
+ statUserGetMyTradeDTO.setType(totalType);
|
|
|
ArrayList<StatUserGetUserTradeStatListVO> statUserGetUserTradeStatListVOS = new ArrayList<>();
|
|
|
//查询进半年需要循环查询不同的表
|
|
|
for (int i = times.size() - 1; i >= 0; i--) {
|