|
@@ -450,7 +450,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
|
|
|
String month = param.getMonth();//查询月
|
|
String month = param.getMonth();//查询月
|
|
|
Integer totalType = param.getTotalType();//查询类型 0个人 1团队
|
|
Integer totalType = param.getTotalType();//查询类型 0个人 1团队
|
|
|
Long userId = param.getUserId();
|
|
Long userId = param.getUserId();
|
|
|
- Integer getType = param.getGetType();//获取类型 1获取近七日 2获取半年
|
|
|
|
|
|
|
+ Integer getType = param.getGetType();//获取类型 1获取月 2获取半年
|
|
|
Integer tradeType = param.getTradeType();//1获取增量 2获取存量 3获取全部
|
|
Integer tradeType = param.getTradeType();//1获取增量 2获取存量 3获取全部
|
|
|
LocalDate now = LocalDate.now();
|
|
LocalDate now = LocalDate.now();
|
|
|
String tableName = "";
|
|
String tableName = "";
|
|
@@ -458,35 +458,35 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
|
|
|
if (tradeType.equals(3)) {//获取全部
|
|
if (tradeType.equals(3)) {//获取全部
|
|
|
tableName = PREFIX_TABLE_NAME; //全部
|
|
tableName = PREFIX_TABLE_NAME; //全部
|
|
|
if (getType.equals(2)) {//查询近半年
|
|
if (getType.equals(2)) {//查询近半年
|
|
|
- ArrayList<StatUserGetUserTradeStatListVO> statUserGetUserTradeStatListVOS = getStatUserGetUserTradeStatListVOSByMonth(month, totalType, userId, getType, now, times, tableName);
|
|
|
|
|
|
|
+ ArrayList<StatUserGetUserTradeStatListVO> statUserGetUserTradeStatListVOS = getStatUserGetUserTradeStatListVOSByMonth(month, totalType, userId, getType, now, times, tableName,tradeType);
|
|
|
return R.ok(statUserGetUserTradeStatListVOS);
|
|
return R.ok(statUserGetUserTradeStatListVOS);
|
|
|
} else if (getType.equals(1)) {//查询月详细
|
|
} else if (getType.equals(1)) {//查询月详细
|
|
|
- ArrayList<StatUserGetUserTradeStatListVO> statUserGetUserTradeStatListVOS = getUserGetUserTradeStatListVOSByDay(month, totalType, userId, getType, now, times, tableName);
|
|
|
|
|
|
|
+ ArrayList<StatUserGetUserTradeStatListVO> statUserGetUserTradeStatListVOS = getUserGetUserTradeStatListVOSByDay(month, totalType, userId, getType, now, times, tableName,tradeType);
|
|
|
return R.ok(statUserGetUserTradeStatListVOS);
|
|
return R.ok(statUserGetUserTradeStatListVOS);
|
|
|
}
|
|
}
|
|
|
}else if (tradeType.equals(2)){
|
|
}else if (tradeType.equals(2)){
|
|
|
tableName = PREFIX_TABLE_NAME_BEFORE; //存量
|
|
tableName = PREFIX_TABLE_NAME_BEFORE; //存量
|
|
|
if (getType.equals(2)) {//查询近半年
|
|
if (getType.equals(2)) {//查询近半年
|
|
|
- ArrayList<StatUserGetUserTradeStatListVO> statUserGetUserTradeStatListVOS = getStatUserGetUserTradeStatListVOSByMonth(month, totalType, userId, getType, now, times, tableName);
|
|
|
|
|
|
|
+ ArrayList<StatUserGetUserTradeStatListVO> statUserGetUserTradeStatListVOS = getStatUserGetUserTradeStatListVOSByMonth(month, totalType, userId, getType, now, times, tableName,tradeType);
|
|
|
return R.ok(statUserGetUserTradeStatListVOS);
|
|
return R.ok(statUserGetUserTradeStatListVOS);
|
|
|
} else if (getType.equals(1)) {//查询月详细
|
|
} else if (getType.equals(1)) {//查询月详细
|
|
|
- ArrayList<StatUserGetUserTradeStatListVO> statUserGetUserTradeStatListVOS = getUserGetUserTradeStatListVOSByDay(month, totalType, userId, getType, now, times, tableName);
|
|
|
|
|
|
|
+ ArrayList<StatUserGetUserTradeStatListVO> statUserGetUserTradeStatListVOS = getUserGetUserTradeStatListVOSByDay(month, totalType, userId, getType, now, times, tableName,tradeType);
|
|
|
return R.ok(statUserGetUserTradeStatListVOS);
|
|
return R.ok(statUserGetUserTradeStatListVOS);
|
|
|
}
|
|
}
|
|
|
}else if (tradeType.equals(1)){
|
|
}else if (tradeType.equals(1)){
|
|
|
tableName = PREFIX_TABLE_NAME_AFTER; //增量
|
|
tableName = PREFIX_TABLE_NAME_AFTER; //增量
|
|
|
if (getType.equals(2)) {//查询近半年
|
|
if (getType.equals(2)) {//查询近半年
|
|
|
- ArrayList<StatUserGetUserTradeStatListVO> statUserGetUserTradeStatListVOS = getStatUserGetUserTradeStatListVOSByMonth(month, totalType, userId, getType, now, times, tableName);
|
|
|
|
|
|
|
+ ArrayList<StatUserGetUserTradeStatListVO> statUserGetUserTradeStatListVOS = getStatUserGetUserTradeStatListVOSByMonth(month, totalType, userId, getType, now, times, tableName,tradeType);
|
|
|
return R.ok(statUserGetUserTradeStatListVOS);
|
|
return R.ok(statUserGetUserTradeStatListVOS);
|
|
|
} else if (getType.equals(1)) {//查询月详细
|
|
} else if (getType.equals(1)) {//查询月详细
|
|
|
- ArrayList<StatUserGetUserTradeStatListVO> statUserGetUserTradeStatListVOS = getUserGetUserTradeStatListVOSByDay(month, totalType, userId, getType, now, times, tableName);
|
|
|
|
|
|
|
+ ArrayList<StatUserGetUserTradeStatListVO> statUserGetUserTradeStatListVOS = getUserGetUserTradeStatListVOSByDay(month, totalType, userId, getType, now, times, tableName,tradeType);
|
|
|
return R.ok(statUserGetUserTradeStatListVOS);
|
|
return R.ok(statUserGetUserTradeStatListVOS);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
return R.failed("获取增存量类型错误");
|
|
return R.failed("获取增存量类型错误");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private ArrayList<StatUserGetUserTradeStatListVO> getUserGetUserTradeStatListVOSByDay(String month, Integer totalType, Long userId, Integer getType, LocalDate now, List<String> times,String tableName) {
|
|
|
|
|
|
|
+ private ArrayList<StatUserGetUserTradeStatListVO> getUserGetUserTradeStatListVOSByDay(String month, Integer totalType, Long userId, Integer getType, LocalDate now, List<String> times,String tableName,Integer tradeType) {
|
|
|
//校验时间格式是yyyyMM
|
|
//校验时间格式是yyyyMM
|
|
|
AssertUtil.isyyyyMM(month);
|
|
AssertUtil.isyyyyMM(month);
|
|
|
//判断month是否是本月 否则获取月份中全部日日期
|
|
//判断month是否是本月 否则获取月份中全部日日期
|
|
@@ -519,18 +519,24 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
|
|
|
for (int i = times.size() - 1; i >= 0; i--) {
|
|
for (int i = times.size() - 1; i >= 0; i--) {
|
|
|
String time = times.get(i);
|
|
String time = times.get(i);
|
|
|
//查询交易额
|
|
//查询交易额
|
|
|
- KxsUserTrade myPosTrade = baseMapper.getMyPosOrCloudTrade(statUserGetMyTradeDTO, lastTableName, 0, userId,time);
|
|
|
|
|
|
|
+ KxsUserTrade myPosTrade = null;
|
|
|
|
|
+ try {
|
|
|
|
|
+ //此处存在不存在表 跳过报错视为无数据
|
|
|
|
|
+ myPosTrade = baseMapper.getMyPosOrCloudTrade(statUserGetMyTradeDTO, lastTableName, 0, userId,time);
|
|
|
|
|
+ }catch (Exception e){
|
|
|
|
|
+ log.info(e.getMessage());
|
|
|
|
|
+ }
|
|
|
if(myPosTrade == null){
|
|
if(myPosTrade == null){
|
|
|
myPosTrade = new KxsUserTrade();
|
|
myPosTrade = new KxsUserTrade();
|
|
|
}
|
|
}
|
|
|
- StatUserGetUserTradeStatListVO statUserGetUserTradeStatListVO = getMonthTrade(totalType, userId, getType, statUserGetMyTradeDTO, myPosTrade, month,time, tableName);
|
|
|
|
|
|
|
+ StatUserGetUserTradeStatListVO statUserGetUserTradeStatListVO = getMonthTrade(totalType, userId, getType, statUserGetMyTradeDTO, myPosTrade, month,time, tableName, tradeType);
|
|
|
statUserGetUserTradeStatListVO.setTime(time);
|
|
statUserGetUserTradeStatListVO.setTime(time);
|
|
|
statUserGetUserTradeStatListVOS.add(statUserGetUserTradeStatListVO);
|
|
statUserGetUserTradeStatListVOS.add(statUserGetUserTradeStatListVO);
|
|
|
}
|
|
}
|
|
|
return statUserGetUserTradeStatListVOS;
|
|
return statUserGetUserTradeStatListVOS;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private ArrayList<StatUserGetUserTradeStatListVO> getStatUserGetUserTradeStatListVOSByMonth(String month, Integer totalType, Long userId, Integer getType, LocalDate now, List<String> times,String tableName) {
|
|
|
|
|
|
|
+ private ArrayList<StatUserGetUserTradeStatListVO> getStatUserGetUserTradeStatListVOSByMonth(String month, Integer totalType, Long userId, Integer getType, LocalDate now, List<String> times,String tableName,Integer tradeType) {
|
|
|
//近半年
|
|
//近半年
|
|
|
for (int i = 0; i < 6; i++) {
|
|
for (int i = 0; i < 6; i++) {
|
|
|
// 计算过去半年每月月份
|
|
// 计算过去半年每月月份
|
|
@@ -556,7 +562,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
|
|
|
if (myPosTrade == null){
|
|
if (myPosTrade == null){
|
|
|
myPosTrade = new KxsUserTrade();
|
|
myPosTrade = new KxsUserTrade();
|
|
|
}
|
|
}
|
|
|
- StatUserGetUserTradeStatListVO statUserGetUserTradeStatListVO = getMonthTrade(totalType, userId, getType, statUserGetMyTradeDTO, myPosTrade, month,time, tableName);
|
|
|
|
|
|
|
+ StatUserGetUserTradeStatListVO statUserGetUserTradeStatListVO = getMonthTrade(totalType, userId, getType, statUserGetMyTradeDTO, myPosTrade, month,time, tableName,tradeType);
|
|
|
statUserGetUserTradeStatListVO.setTime(time);
|
|
statUserGetUserTradeStatListVO.setTime(time);
|
|
|
statUserGetUserTradeStatListVOS.add(statUserGetUserTradeStatListVO);
|
|
statUserGetUserTradeStatListVOS.add(statUserGetUserTradeStatListVO);
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
@@ -566,7 +572,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
|
|
|
return statUserGetUserTradeStatListVOS;
|
|
return statUserGetUserTradeStatListVOS;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private StatUserGetUserTradeStatListVO getMonthTrade(Integer totalType, Long userId, Integer getType, StatUserGetMyTradeDTO statUserGetMyTradeDTO, KxsUserTrade kxsUserTrade,String month,String date,String tableName) {
|
|
|
|
|
|
|
+ private StatUserGetUserTradeStatListVO getMonthTrade(Integer totalType, Long userId, Integer getType, StatUserGetMyTradeDTO statUserGetMyTradeDTO, KxsUserTrade kxsUserTrade,String month,String date,String tableName,Integer tradeType) {
|
|
|
BigDecimal helpDirectTradeAmt = kxsUserTrade.getHelpDirectTradeAmt() == null? BigDecimal.ZERO : kxsUserTrade.getHelpDirectTradeAmt();//扶贷
|
|
BigDecimal helpDirectTradeAmt = kxsUserTrade.getHelpDirectTradeAmt() == null? BigDecimal.ZERO : kxsUserTrade.getHelpDirectTradeAmt();//扶贷
|
|
|
BigDecimal helpDebitTradeAmt = kxsUserTrade.getHelpDebitTradeAmt() == null? BigDecimal.ZERO : kxsUserTrade.getHelpDebitTradeAmt();//扶借
|
|
BigDecimal helpDebitTradeAmt = kxsUserTrade.getHelpDebitTradeAmt() == null? BigDecimal.ZERO : kxsUserTrade.getHelpDebitTradeAmt();//扶借
|
|
|
|
|
|
|
@@ -589,7 +595,13 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
|
|
|
|
|
|
|
|
//拼接表名
|
|
//拼接表名
|
|
|
tableName = tableName + month;
|
|
tableName = tableName + month;
|
|
|
- KxsUserTrade myCloudTrade = baseMapper.getMyPosOrCloudTrade(statUserGetMyTradeDTO, tableName, 1, userId,"");
|
|
|
|
|
|
|
+ KxsUserTrade myCloudTrade = null;
|
|
|
|
|
+ try {
|
|
|
|
|
+ //存在表不存在的月份,跳过报错视为无数据
|
|
|
|
|
+ myCloudTrade = baseMapper.getMyPosOrCloudTrade(statUserGetMyTradeDTO, tableName, 1, userId,"");
|
|
|
|
|
+ }catch (Exception e){
|
|
|
|
|
+ log.info(e.getMessage());
|
|
|
|
|
+ }
|
|
|
if(myCloudTrade == null){
|
|
if(myCloudTrade == null){
|
|
|
myCloudTrade = new KxsUserTrade();
|
|
myCloudTrade = new KxsUserTrade();
|
|
|
}
|
|
}
|
|
@@ -615,44 +627,60 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
|
|
|
//云闪付交易额
|
|
//云闪付交易额
|
|
|
statUserGetUserTradeStatListVO.setCloudAmunt(posAmount);
|
|
statUserGetUserTradeStatListVO.setCloudAmunt(posAmount);
|
|
|
totalAmount = totalAmount.add(posAmount);
|
|
totalAmount = totalAmount.add(posAmount);
|
|
|
- //助力宝交易额
|
|
|
|
|
- TotalTradeAmtVO TotalTradeAmtVO = kxsZlbTradeMapper.getZlbTrade(userId, String.valueOf(date), getType, totalType);
|
|
|
|
|
- TotalTradeAmtVO = TotalTradeAmtVO == null ? new TotalTradeAmtVO() : TotalTradeAmtVO;
|
|
|
|
|
|
|
|
|
|
|
|
+ if (!tradeType.equals(2)){//存量不存在以下数据
|
|
|
|
|
+ //助力宝交易额
|
|
|
|
|
+ TotalTradeAmtVO TotalTradeAmtVO = kxsZlbTradeMapper.getZlbTrade(userId, String.valueOf(date), getType, totalType);
|
|
|
|
|
+ TotalTradeAmtVO = TotalTradeAmtVO == null ? new TotalTradeAmtVO() : TotalTradeAmtVO;
|
|
|
|
|
|
|
|
- BigDecimal zlbAmt = TotalTradeAmtVO.getZlbAmt() == null ? BigDecimal.ZERO : TotalTradeAmtVO.getZlbAmt();
|
|
|
|
|
- statUserGetUserTradeStatListVO.setZlbAmount(zlbAmt);
|
|
|
|
|
- totalAmount = totalAmount.add(zlbAmt);
|
|
|
|
|
|
|
|
|
|
- //来客吧交易额
|
|
|
|
|
- TotalTradeAmtVO = kxsLkbTradeMapper.getLkbTrade(userId, String.valueOf(date), getType, totalType);
|
|
|
|
|
- TotalTradeAmtVO = TotalTradeAmtVO == null ? new TotalTradeAmtVO() : TotalTradeAmtVO;
|
|
|
|
|
-
|
|
|
|
|
- BigDecimal lkbActAmt = TotalTradeAmtVO.getLkbActAmt() == null ? BigDecimal.ZERO : TotalTradeAmtVO.getLkbActAmt();
|
|
|
|
|
- statUserGetUserTradeStatListVO.setLkbActivityAmount(lkbActAmt);
|
|
|
|
|
- totalAmount = totalAmount.add(lkbActAmt);
|
|
|
|
|
|
|
+ BigDecimal zlbAmt = TotalTradeAmtVO.getZlbAmt() == null ? BigDecimal.ZERO : TotalTradeAmtVO.getZlbAmt();
|
|
|
|
|
+ statUserGetUserTradeStatListVO.setZlbAmount(zlbAmt);
|
|
|
|
|
+ totalAmount = totalAmount.add(zlbAmt);
|
|
|
|
|
|
|
|
|
|
+ //来客吧交易额
|
|
|
|
|
+ TotalTradeAmtVO = kxsLkbTradeMapper.getLkbTrade(userId, String.valueOf(date), getType, totalType);
|
|
|
|
|
+ TotalTradeAmtVO = TotalTradeAmtVO == null ? new TotalTradeAmtVO() : TotalTradeAmtVO;
|
|
|
|
|
|
|
|
- BigDecimal lkbAmt = TotalTradeAmtVO.getLkbAmt() == null ? BigDecimal.ZERO : TotalTradeAmtVO.getLkbAmt();
|
|
|
|
|
- statUserGetUserTradeStatListVO.setLkbAmount(lkbAmt);
|
|
|
|
|
- totalAmount = totalAmount.add(lkbAmt);
|
|
|
|
|
- //广电话费
|
|
|
|
|
- TotalTradeAmtVO = kxsUserGdTradeMapper.getGdTrade(userId, String.valueOf(date), getType, totalType);
|
|
|
|
|
- TotalTradeAmtVO = TotalTradeAmtVO == null ? new TotalTradeAmtVO() : TotalTradeAmtVO;
|
|
|
|
|
|
|
+ BigDecimal lkbActAmt = TotalTradeAmtVO.getLkbActAmt() == null ? BigDecimal.ZERO : TotalTradeAmtVO.getLkbActAmt();
|
|
|
|
|
+ statUserGetUserTradeStatListVO.setLkbActivityAmount(lkbActAmt);
|
|
|
|
|
+ totalAmount = totalAmount.add(lkbActAmt);
|
|
|
|
|
|
|
|
- BigDecimal gdAmount = TotalTradeAmtVO.getGdAmount() == null ? BigDecimal.ZERO : TotalTradeAmtVO.getGdAmount();
|
|
|
|
|
- statUserGetUserTradeStatListVO.setGdTelephoneCharge(gdAmount);
|
|
|
|
|
- totalAmount = totalAmount.add(gdAmount);
|
|
|
|
|
|
|
|
|
|
|
|
+ BigDecimal lkbAmt = TotalTradeAmtVO.getLkbAmt() == null ? BigDecimal.ZERO : TotalTradeAmtVO.getLkbAmt();
|
|
|
|
|
+ statUserGetUserTradeStatListVO.setLkbAmount(lkbAmt);
|
|
|
|
|
+ totalAmount = totalAmount.add(lkbAmt);
|
|
|
|
|
+ //广电话费
|
|
|
|
|
+ TotalTradeAmtVO = kxsUserGdTradeMapper.getGdTrade(userId, String.valueOf(date), getType, totalType);
|
|
|
|
|
+ TotalTradeAmtVO = TotalTradeAmtVO == null ? new TotalTradeAmtVO() : TotalTradeAmtVO;
|
|
|
|
|
|
|
|
- //广电激活量
|
|
|
|
|
- TotalTradeAmtVO = kxsUserGdTradeMapper.getGdActCount(userId, String.valueOf(date), getType, totalType);
|
|
|
|
|
- TotalTradeAmtVO = TotalTradeAmtVO == null ? new TotalTradeAmtVO() : TotalTradeAmtVO;
|
|
|
|
|
|
|
+ BigDecimal gdAmount = TotalTradeAmtVO.getGdAmount() == null ? BigDecimal.ZERO : TotalTradeAmtVO.getGdAmount();
|
|
|
|
|
+ statUserGetUserTradeStatListVO.setGdTelephoneCharge(gdAmount);
|
|
|
|
|
+ totalAmount = totalAmount.add(gdAmount);
|
|
|
|
|
|
|
|
- BigDecimal gdActAmt = BigDecimal.valueOf(TotalTradeAmtVO.getGdCount() != null ? TotalTradeAmtVO.getGdCount() * 10000 : 0);
|
|
|
|
|
- statUserGetUserTradeStatListVO.setGdActivityAmount(gdActAmt);
|
|
|
|
|
- totalAmount = totalAmount.add(gdActAmt);
|
|
|
|
|
|
|
+ if (tradeType.equals(3)){//广电获取全部
|
|
|
|
|
+ //广电激活量
|
|
|
|
|
+ if(getType == 1){
|
|
|
|
|
+ TotalTradeAmtVO = kxsUserGdTradeMapper.getGdActCount(userId, String.valueOf(date), 3, totalType);
|
|
|
|
|
+ }else {
|
|
|
|
|
+ TotalTradeAmtVO = kxsUserGdTradeMapper.getGdActCount(userId, String.valueOf(date), 4, totalType);
|
|
|
|
|
+ }
|
|
|
|
|
+ TotalTradeAmtVO = TotalTradeAmtVO == null ? new TotalTradeAmtVO() : TotalTradeAmtVO;
|
|
|
|
|
|
|
|
|
|
+ BigDecimal gdActAmt = BigDecimal.valueOf(TotalTradeAmtVO.getGdCount() != null ? TotalTradeAmtVO.getGdCount() * 10000 : 0);
|
|
|
|
|
+ statUserGetUserTradeStatListVO.setGdActivityAmount(gdActAmt);
|
|
|
|
|
+ totalAmount = totalAmount.add(gdActAmt);
|
|
|
|
|
+ }
|
|
|
|
|
+ if (tradeType.equals(1)){//广电获取增量 只获取当前时间
|
|
|
|
|
+ //广电激活量
|
|
|
|
|
+ TotalTradeAmtVO = kxsUserGdTradeMapper.getGdActCount(userId, String.valueOf(date), getType, totalType);
|
|
|
|
|
+ TotalTradeAmtVO = TotalTradeAmtVO == null ? new TotalTradeAmtVO() : TotalTradeAmtVO;
|
|
|
|
|
+
|
|
|
|
|
+ BigDecimal gdActAmt = BigDecimal.valueOf(TotalTradeAmtVO.getGdCount() != null ? TotalTradeAmtVO.getGdCount() * 10000 : 0);
|
|
|
|
|
+ statUserGetUserTradeStatListVO.setGdActivityAmount(gdActAmt);
|
|
|
|
|
+ totalAmount = totalAmount.add(gdActAmt);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
//总额
|
|
//总额
|
|
|
statUserGetUserTradeStatListVO.setTotalAmount(totalAmount);
|
|
statUserGetUserTradeStatListVO.setTotalAmount(totalAmount);
|
|
|
|
|
|