|
@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.kxs.common.core.constant.CommonConstants;
|
|
import com.kxs.common.core.constant.CommonConstants;
|
|
|
import com.kxs.common.core.constant.SecurityConstants;
|
|
import com.kxs.common.core.constant.SecurityConstants;
|
|
|
import com.kxs.common.core.util.R;
|
|
import com.kxs.common.core.util.R;
|
|
|
|
|
+import com.kxs.common.security.util.SecurityUtils;
|
|
|
import com.kxs.stat.api.dto.statUser.StatUserGetMyTradeDTO;
|
|
import com.kxs.stat.api.dto.statUser.StatUserGetMyTradeDTO;
|
|
|
import com.kxs.stat.api.dto.statUser.StatUserGetUserStatByDayOrMonthDTO;
|
|
import com.kxs.stat.api.dto.statUser.StatUserGetUserStatByDayOrMonthDTO;
|
|
|
import com.kxs.stat.api.model.KxsLkbTrade;
|
|
import com.kxs.stat.api.model.KxsLkbTrade;
|
|
@@ -63,6 +64,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
|
|
|
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_";
|
|
|
private final KxsUserGdTradeMapper kxsUserGdTradeMapper;
|
|
private final KxsUserGdTradeMapper kxsUserGdTradeMapper;
|
|
|
|
|
+ private final KxsLkbActTradeMapper kxsLkbActTradeMapper;
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
@Async
|
|
@Async
|
|
@@ -269,7 +271,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
|
|
|
//获取今日新增用户
|
|
//获取今日新增用户
|
|
|
Integer userAddToDay = statUserGetHomeAmoutVO.getUserAddToDay();
|
|
Integer userAddToDay = statUserGetHomeAmoutVO.getUserAddToDay();
|
|
|
List<String> todayList = Arrays.asList(today);
|
|
List<String> todayList = Arrays.asList(today);
|
|
|
- List<TrendTimesVO> userAddTrendToday = kxsUserNewTradeMapper.getUserAddTrend(userId, todayList, 1);
|
|
|
|
|
|
|
+ List<TrendTimesVO> userAddTrendToday = kxsUserNewTradeMapper.getUserAddTrend(userId, todayList, 1,1);
|
|
|
for (TrendTimesVO trendTimesVO : userAddTrendToday) {
|
|
for (TrendTimesVO trendTimesVO : userAddTrendToday) {
|
|
|
userAddToDay += trendTimesVO.getTotal();
|
|
userAddToDay += trendTimesVO.getTotal();
|
|
|
}
|
|
}
|
|
@@ -278,7 +280,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
|
|
|
//获取本月新增用户
|
|
//获取本月新增用户
|
|
|
Integer userAddMonth = statUserGetHomeAmoutVO.getUserAddMonth();
|
|
Integer userAddMonth = statUserGetHomeAmoutVO.getUserAddMonth();
|
|
|
List<String> monthList = Arrays.asList(month);
|
|
List<String> monthList = Arrays.asList(month);
|
|
|
- List<TrendTimesVO> userAddTrendMonth = kxsUserNewTradeMapper.getUserAddTrend(userId, monthList, 2);
|
|
|
|
|
|
|
+ List<TrendTimesVO> userAddTrendMonth = kxsUserNewTradeMapper.getUserAddTrend(userId, monthList, 2,1);
|
|
|
for (TrendTimesVO trendTimesVO : userAddTrendMonth) {
|
|
for (TrendTimesVO trendTimesVO : userAddTrendMonth) {
|
|
|
userAddMonth += trendTimesVO.getTotal();
|
|
userAddMonth += trendTimesVO.getTotal();
|
|
|
}
|
|
}
|
|
@@ -304,7 +306,122 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public R getMyTrade(StatUserGetMyTradeDTO param) {
|
|
public R getMyTrade(StatUserGetMyTradeDTO param) {
|
|
|
- return null;
|
|
|
|
|
|
|
+ Long userId = SecurityUtils.getUser().getId();
|
|
|
|
|
+ String month = param.getMonth();
|
|
|
|
|
+ String type = param.getType();
|
|
|
|
|
+ //拼接表名
|
|
|
|
|
+ String tableName = PREFIX_TABLE_NAME + month;
|
|
|
|
|
+ StatUserGetMyTradeVO statUserGetMyTradeVO = new StatUserGetMyTradeVO();
|
|
|
|
|
+ //获取pos交易额
|
|
|
|
|
+ KxsUserTrade kxsUserPosTrade = baseMapper.getMyPosOrCloudTrade(param,tableName,0,userId);
|
|
|
|
|
+ BigDecimal posDebitAmount = BigDecimal.ZERO;
|
|
|
|
|
+ BigDecimal posCreditAmount = BigDecimal.ZERO;
|
|
|
|
|
+ if (kxsUserPosTrade != null){
|
|
|
|
|
+ BigDecimal proBDirectTradeAmt = kxsUserPosTrade.getProBDirectTradeAmt();//稳定期B贷记卡
|
|
|
|
|
+ BigDecimal proADirectTradeAmt = kxsUserPosTrade.getProADirectTradeAmt();//稳定期A贷记卡
|
|
|
|
|
+ BigDecimal proDirectTradeAmt = kxsUserPosTrade.getProDirectTradeAmt();//稳定期贷记卡
|
|
|
|
|
+ BigDecimal helpDirectTradeAmt = kxsUserPosTrade.getHelpDirectTradeAmt();//扶持期贷记卡交易额
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ BigDecimal proBDebitTradeAmt = kxsUserPosTrade.getProBDebitTradeAmt();//稳定期B借记卡
|
|
|
|
|
+ BigDecimal proADebitTradeAmt = kxsUserPosTrade.getProADebitTradeAmt();//稳定期A借记卡
|
|
|
|
|
+ BigDecimal proDebitTradeAmt = kxsUserPosTrade.getProDebitTradeAmt();//稳定期借记卡
|
|
|
|
|
+ BigDecimal helpDebitTradeAmt = kxsUserPosTrade.getHelpDebitTradeAmt();//扶持期借记卡
|
|
|
|
|
+
|
|
|
|
|
+ //pos借记卡
|
|
|
|
|
+ posDebitAmount = posDebitAmount.add(proBDebitTradeAmt).add(proADebitTradeAmt).add(proDebitTradeAmt).add(helpDebitTradeAmt);
|
|
|
|
|
+ //贷记卡
|
|
|
|
|
+ posCreditAmount = posCreditAmount.add(proBDirectTradeAmt).add(proADirectTradeAmt).add(proDirectTradeAmt).add(helpDirectTradeAmt);
|
|
|
|
|
+ }
|
|
|
|
|
+ statUserGetMyTradeVO.setPosDebitAmount(posDebitAmount);//Pos借记卡
|
|
|
|
|
+ statUserGetMyTradeVO.setPosCreditAmount(posCreditAmount);//Pos贷记卡
|
|
|
|
|
+
|
|
|
|
|
+ //获取云闪付交易额
|
|
|
|
|
+ KxsUserTrade kxsUserCloudTrade = baseMapper.getMyPosOrCloudTrade(param,tableName,1,userId);
|
|
|
|
|
+ BigDecimal cloudAmount = BigDecimal.ZERO;
|
|
|
|
|
+ if (kxsUserCloudTrade != null){
|
|
|
|
|
+ cloudAmount = cloudAmount.add(kxsUserCloudTrade.getProBDirectTradeAmt())
|
|
|
|
|
+ .add(kxsUserCloudTrade.getProADirectTradeAmt())
|
|
|
|
|
+ .add(kxsUserCloudTrade.getProDirectTradeAmt())
|
|
|
|
|
+ .add(kxsUserCloudTrade.getHelpDirectTradeAmt())
|
|
|
|
|
+ .add(kxsUserCloudTrade.getProBDebitTradeAmt())
|
|
|
|
|
+ .add(kxsUserCloudTrade.getProADebitTradeAmt())
|
|
|
|
|
+ .add(kxsUserCloudTrade.getProDebitTradeAmt())
|
|
|
|
|
+ .add(kxsUserCloudTrade.getHelpDebitTradeAmt());
|
|
|
|
|
+ }
|
|
|
|
|
+ statUserGetMyTradeVO.setCloudAmunt(cloudAmount);//云闪付
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ //助力宝交易额
|
|
|
|
|
+ TotalTradeAmtVO totalTradeAmtVO = kxsZlbTradeMapper.getZlbTrade(userId, month, 2, Integer.valueOf(type));
|
|
|
|
|
+ BigDecimal zlbAmt = BigDecimal.ZERO;
|
|
|
|
|
+ if (totalTradeAmtVO != null){
|
|
|
|
|
+ zlbAmt = totalTradeAmtVO.getZlbAmt();
|
|
|
|
|
+ }
|
|
|
|
|
+ statUserGetMyTradeVO.setZlbAmount(zlbAmt);//助力宝
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ totalTradeAmtVO = kxsLkbTradeMapper.getLkbTrade(userId, month, 2, Integer.valueOf(type));
|
|
|
|
|
+ BigDecimal lkbActAmt = BigDecimal.ZERO;
|
|
|
|
|
+ BigDecimal lkbAmt = BigDecimal.ZERO;
|
|
|
|
|
+ if (totalTradeAmtVO != null){
|
|
|
|
|
+ lkbActAmt = totalTradeAmtVO.getLkbActAmt();
|
|
|
|
|
+ lkbAmt = totalTradeAmtVO.getLkbAmt();
|
|
|
|
|
+ }
|
|
|
|
|
+ statUserGetMyTradeVO.setLkbActivityAmount(lkbActAmt);//来客吧活动
|
|
|
|
|
+ statUserGetMyTradeVO.setLkbAmount(lkbAmt);//来客吧非活动
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ totalTradeAmtVO = kxsUserGdTradeMapper.getGdTrade(userId, month, 2, Integer.valueOf(type));
|
|
|
|
|
+ BigDecimal gdAmount = BigDecimal.ZERO;
|
|
|
|
|
+ if (totalTradeAmtVO != null){
|
|
|
|
|
+ gdAmount = totalTradeAmtVO.getGdAmount();
|
|
|
|
|
+ }
|
|
|
|
|
+ statUserGetMyTradeVO.setGdTelephoneCharge(gdAmount);//广电话费
|
|
|
|
|
+
|
|
|
|
|
+ //广电交易额
|
|
|
|
|
+ totalTradeAmtVO = kxsUserGdTradeMapper.getGdActCount(userId, month,2, Integer.valueOf(type));
|
|
|
|
|
+ BigDecimal gdActivityAmount = BigDecimal.ZERO;
|
|
|
|
|
+ if (totalTradeAmtVO != null){
|
|
|
|
|
+ Integer gdCount = totalTradeAmtVO.getGdCount();
|
|
|
|
|
+ //广电激活量 * 10000
|
|
|
|
|
+ gdActivityAmount = gdActivityAmount.add(new BigDecimal(gdCount * 10000));
|
|
|
|
|
+ }
|
|
|
|
|
+ statUserGetMyTradeVO.setGdActivityAmount(gdActivityAmount);//广电活动
|
|
|
|
|
+
|
|
|
|
|
+ BigDecimal totalAmount = BigDecimal.ZERO;
|
|
|
|
|
+ totalAmount = totalAmount.add(posDebitAmount).add(posCreditAmount).add(cloudAmount).add(zlbAmt).add(lkbActAmt).add(lkbAmt).add(gdAmount).add(gdActivityAmount);
|
|
|
|
|
+ statUserGetMyTradeVO.setTotalAmount(totalAmount);//总交易
|
|
|
|
|
+
|
|
|
|
|
+ //获取指定月新增用户
|
|
|
|
|
+ Integer userAddMonth = 0;
|
|
|
|
|
+ List<String> monthList = Arrays.asList(month);
|
|
|
|
|
+ List<TrendTimesVO> userAddTrendMonth = kxsUserNewTradeMapper.getUserAddTrend(userId, monthList, 2, Integer.valueOf(type));
|
|
|
|
|
+ for (TrendTimesVO trendTimesVO : userAddTrendMonth) {
|
|
|
|
|
+ userAddMonth += trendTimesVO.getTotal();
|
|
|
|
|
+ }
|
|
|
|
|
+ statUserGetMyTradeVO.setUserAddCount(userAddMonth);//新增用户
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ Integer totalUserCount = kxsUserNewTradeMapper.getUserAllTrend(userId,type);
|
|
|
|
|
+ statUserGetMyTradeVO.setTotalUserCount(totalUserCount != null? totalUserCount : 0);//总用户
|
|
|
|
|
+
|
|
|
|
|
+ //获取累计全部激活商户
|
|
|
|
|
+ Integer merchantAddMonth = kxsUserActTradeMapper.getUserActListByAll(userId,Integer.valueOf(type),1,3,null);
|
|
|
|
|
+ statUserGetMyTradeVO.setActivateMerchantCount(merchantAddMonth);//商户总激活
|
|
|
|
|
+
|
|
|
|
|
+ //获取累计全部激活码牌
|
|
|
|
|
+ Integer signCount = kxsLkbActTradeMapper.getSignCount(userId,type);
|
|
|
|
|
+ statUserGetMyTradeVO.setActivateSignCount(signCount != null? signCount:0);//码牌
|
|
|
|
|
+
|
|
|
|
|
+ //获取
|
|
|
|
|
+ Integer simCount = kxsUserActTradeMapper.getUserActListByAll(userId,Integer.valueOf(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));
|
|
|
|
|
+ statUserGetMyTradeVO.setActivateSIMToMonthCount(simToMonthCount != null ? simToMonthCount :0);//当月
|
|
|
|
|
+ statUserGetMyTradeVO.setType(param.getType());
|
|
|
|
|
+ return R.ok(statUserGetMyTradeVO);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private BigDecimal getAmountToDayOrMonth(Long userId, String date, String tableName, BigDecimal amount, int type) {
|
|
private BigDecimal getAmountToDayOrMonth(Long userId, String date, String tableName, BigDecimal amount, int type) {
|
|
@@ -314,25 +431,25 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
|
|
|
amount = amount.add(totalTradeAmtVO.getPosAmt());
|
|
amount = amount.add(totalTradeAmtVO.getPosAmt());
|
|
|
}
|
|
}
|
|
|
//来客吧交易额
|
|
//来客吧交易额
|
|
|
- totalTradeAmtVO = kxsLkbTradeMapper.getLkbTrade(userId, date, type);
|
|
|
|
|
|
|
+ totalTradeAmtVO = kxsLkbTradeMapper.getLkbTrade(userId, date, type,1);
|
|
|
if (totalTradeAmtVO!= null) {
|
|
if (totalTradeAmtVO!= null) {
|
|
|
amount = amount.add(totalTradeAmtVO.getLkbAmt());
|
|
amount = amount.add(totalTradeAmtVO.getLkbAmt());
|
|
|
amount = amount.add(totalTradeAmtVO.getLkbActAmt());
|
|
amount = amount.add(totalTradeAmtVO.getLkbActAmt());
|
|
|
}
|
|
}
|
|
|
//助力宝交易额
|
|
//助力宝交易额
|
|
|
- totalTradeAmtVO = kxsZlbTradeMapper.getZlbTrade(userId, date, type);
|
|
|
|
|
|
|
+ totalTradeAmtVO = kxsZlbTradeMapper.getZlbTrade(userId, date, type,1);
|
|
|
if (totalTradeAmtVO != null) {
|
|
if (totalTradeAmtVO != null) {
|
|
|
amount = amount.add(totalTradeAmtVO.getZlbAmt());
|
|
amount = amount.add(totalTradeAmtVO.getZlbAmt());
|
|
|
}
|
|
}
|
|
|
//广电交易额
|
|
//广电交易额
|
|
|
- totalTradeAmtVO = kxsUserGdTradeMapper.getGdActCount(userId, date, type);
|
|
|
|
|
|
|
+ totalTradeAmtVO = kxsUserGdTradeMapper.getGdActCount(userId, date, type,1);
|
|
|
if (totalTradeAmtVO != null){
|
|
if (totalTradeAmtVO != null){
|
|
|
Integer gdCount = totalTradeAmtVO.getGdCount();
|
|
Integer gdCount = totalTradeAmtVO.getGdCount();
|
|
|
//广电激活量 * 10000
|
|
//广电激活量 * 10000
|
|
|
amount = amount.add(new BigDecimal(gdCount * 10000));
|
|
amount = amount.add(new BigDecimal(gdCount * 10000));
|
|
|
}
|
|
}
|
|
|
//广电话费
|
|
//广电话费
|
|
|
- totalTradeAmtVO = kxsUserGdTradeMapper.getGdTrade(userId, date, type);
|
|
|
|
|
|
|
+ totalTradeAmtVO = kxsUserGdTradeMapper.getGdTrade(userId, date, type,1);
|
|
|
if (totalTradeAmtVO != null){
|
|
if (totalTradeAmtVO != null){
|
|
|
amount = amount.add(totalTradeAmtVO.getGdAmount());
|
|
amount = amount.add(totalTradeAmtVO.getGdAmount());
|
|
|
}
|
|
}
|
|
@@ -357,7 +474,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
|
|
|
|
|
|
|
|
private void setUserAddTrend(Long userId, List<String> times, Integer type, StatUserGetUserStatByDayOrMonthVO statUserGetUserStatByDayOrMonthVO) {
|
|
private void setUserAddTrend(Long userId, List<String> times, Integer type, StatUserGetUserStatByDayOrMonthVO statUserGetUserStatByDayOrMonthVO) {
|
|
|
TrendVO trendVO = new TrendVO();
|
|
TrendVO trendVO = new TrendVO();
|
|
|
- List<TrendTimesVO> trendTimesVOS = kxsUserNewTradeMapper.getUserAddTrend(userId, times, type);
|
|
|
|
|
|
|
+ List<TrendTimesVO> trendTimesVOS = kxsUserNewTradeMapper.getUserAddTrend(userId, times, type,1);
|
|
|
trendVO.setName("all");
|
|
trendVO.setName("all");
|
|
|
trendVO.setTimes(trendTimesVOS);
|
|
trendVO.setTimes(trendTimesVOS);
|
|
|
statUserGetUserStatByDayOrMonthVO.setUserAddTrend(trendVO);
|
|
statUserGetUserStatByDayOrMonthVO.setUserAddTrend(trendVO);
|