|
@@ -18,6 +18,8 @@ import com.xy.error.CommRuntimeException;
|
|
|
import com.xy.merc.EnumMercDeviceAlgorithmChargingPayType;
|
|
|
import com.xy.service.*;
|
|
|
import com.xy.service.be.MercFeignService;
|
|
|
+import com.xy.service.be.MercService;
|
|
|
+import com.xy.sys.EnumMercFeeType;
|
|
|
import com.xy.utils.LambdaUtils;
|
|
|
import com.xy.utils.PageBean;
|
|
|
import com.xy.utils.R;
|
|
@@ -62,6 +64,8 @@ public class MercFeeCountDayJob {
|
|
|
|
|
|
private final DeviceSimChargeServiceImpl deviceSimChargeService;
|
|
|
|
|
|
+ private final MercService mercService;
|
|
|
+
|
|
|
|
|
|
@PostMapping("excuteJob")
|
|
|
@ApiOperation("指定日期执行")
|
|
@@ -79,7 +83,7 @@ public class MercFeeCountDayJob {
|
|
|
@XxlJob("mercFeeCountDayJob")
|
|
|
public ReturnT<String> dayJob(String date) {
|
|
|
log.info("-----------商户佣金费用收益每日统计 开始-----------");
|
|
|
- long startTime = System.currentTimeMillis();
|
|
|
+// long startTime = System.currentTimeMillis();
|
|
|
DateTime yesterday = DateUtil.yesterday();
|
|
|
String queryDay = DateUtil.format(yesterday, DatePattern.PURE_DATE_PATTERN);
|
|
|
if (StrUtil.isNotEmpty(date)) {
|
|
@@ -110,6 +114,11 @@ public class MercFeeCountDayJob {
|
|
|
|
|
|
for (MercDto.Vo merc : approvedMercList) {
|
|
|
Long parentMercId = merc.getId();
|
|
|
+ List<Long> mercIds = R.feignCheckData(mercService.getChildMercIds(new MercDto.QuerySubDTO().setParentMercID(parentMercId)));
|
|
|
+ if (CollUtil.isEmpty(mercIds)) {
|
|
|
+ //子商户都没有,就不用查分佣收益了
|
|
|
+ continue;
|
|
|
+ }
|
|
|
//~~~~~~~~~~~~~1设备管理费
|
|
|
PageBean<DeviceChargingHistoryDto.PageVo> pageVoPageBean = getDeviceManagerFeeMerc(parentMercId, beginTime, endTime);
|
|
|
List<DeviceChargingHistoryDto.PageVo> records = pageVoPageBean == null ? null : pageVoPageBean.getRecords();
|
|
@@ -128,7 +137,7 @@ public class MercFeeCountDayJob {
|
|
|
Integer payMoney = devicePayMoneyMap.get(mercId);
|
|
|
Integer brokerage = deviceAgentMoneyMap.get(mercId);
|
|
|
MercFeeCountDay deviceDayFee = new MercFeeCountDay();
|
|
|
- deviceDayFee.setFeeType(1);
|
|
|
+ deviceDayFee.setFeeType(EnumMercFeeType.T1.getIntCode());
|
|
|
deviceDayFee.setParentMercId(parentMercId);
|
|
|
deviceDayFee.setDateValue(dateValue);
|
|
|
deviceDayFee.setPayMoney(payMoney);
|
|
@@ -139,6 +148,23 @@ public class MercFeeCountDayJob {
|
|
|
saveMercFeeCountList.add(deviceDayFee);
|
|
|
}
|
|
|
mercFeeCountDayService.saveBatch(saveMercFeeCountList);
|
|
|
+ } else {
|
|
|
+ //没有费用的也要记录,为了前端收益概览的展示
|
|
|
+ List<MercFeeCountDay> saveMercFeeCountList = new ArrayList<>();
|
|
|
+ for (Long mercId : mercIds) {
|
|
|
+
|
|
|
+ MercFeeCountDay deviceDayFee = new MercFeeCountDay();
|
|
|
+ deviceDayFee.setFeeType(EnumMercFeeType.T1.getIntCode());
|
|
|
+ deviceDayFee.setParentMercId(parentMercId);
|
|
|
+ deviceDayFee.setDateValue(dateValue);
|
|
|
+ deviceDayFee.setPayMoney(0);
|
|
|
+ deviceDayFee.setMonthValue(Integer.valueOf(monthValue));
|
|
|
+ deviceDayFee.setBrokerage(0);
|
|
|
+ deviceDayFee.setMercId(mercId);
|
|
|
+ deviceDayFee.setParentMercId(parentMercId);
|
|
|
+ saveMercFeeCountList.add(deviceDayFee);
|
|
|
+ }
|
|
|
+ mercFeeCountDayService.saveBatch(saveMercFeeCountList);
|
|
|
}
|
|
|
|
|
|
//~~~~~~~~~~~~~1设备管理费
|
|
@@ -161,7 +187,7 @@ public class MercFeeCountDayJob {
|
|
|
Integer payMoney = devicePayMoneyMap.get(mercId);
|
|
|
Integer brokerage = deviceAgentMoneyMap.get(mercId);
|
|
|
MercFeeCountDay deviceDayFee = new MercFeeCountDay();
|
|
|
- deviceDayFee.setFeeType(2);
|
|
|
+ deviceDayFee.setFeeType(EnumMercFeeType.T2.getIntCode());
|
|
|
deviceDayFee.setParentMercId(parentMercId);
|
|
|
deviceDayFee.setDateValue(dateValue);
|
|
|
deviceDayFee.setPayMoney(payMoney);
|
|
@@ -171,6 +197,23 @@ public class MercFeeCountDayJob {
|
|
|
saveMercFeeCountList.add(deviceDayFee);
|
|
|
}
|
|
|
mercFeeCountDayService.saveBatch(saveMercFeeCountList);
|
|
|
+ } else {
|
|
|
+ //没有费用的也要记录,为了前端收益概览的展示
|
|
|
+ List<MercFeeCountDay> saveMercFeeCountList = new ArrayList<>();
|
|
|
+ for (Long mercId : mercIds) {
|
|
|
+
|
|
|
+ MercFeeCountDay deviceDayFee = new MercFeeCountDay();
|
|
|
+ deviceDayFee.setFeeType(EnumMercFeeType.T2.getIntCode());
|
|
|
+ deviceDayFee.setParentMercId(parentMercId);
|
|
|
+ deviceDayFee.setDateValue(dateValue);
|
|
|
+ deviceDayFee.setPayMoney(0);
|
|
|
+ deviceDayFee.setMonthValue(Integer.valueOf(monthValue));
|
|
|
+ deviceDayFee.setBrokerage(0);
|
|
|
+ deviceDayFee.setMercId(mercId);
|
|
|
+ deviceDayFee.setParentMercId(parentMercId);
|
|
|
+ saveMercFeeCountList.add(deviceDayFee);
|
|
|
+ }
|
|
|
+ mercFeeCountDayService.saveBatch(saveMercFeeCountList);
|
|
|
}
|
|
|
|
|
|
//~~~~~~~~~~~~~2设备激活费
|
|
@@ -193,7 +236,7 @@ public class MercFeeCountDayJob {
|
|
|
Integer payMoney = devicePayMoneyMap.get(mercId);
|
|
|
Integer brokerage = deviceAgentMoneyMap.get(mercId);
|
|
|
MercFeeCountDay deviceDayFee = new MercFeeCountDay();
|
|
|
- deviceDayFee.setFeeType(2);
|
|
|
+ deviceDayFee.setFeeType(EnumMercFeeType.T3.getIntCode());
|
|
|
deviceDayFee.setParentMercId(parentMercId);
|
|
|
deviceDayFee.setDateValue(dateValue);
|
|
|
deviceDayFee.setPayMoney(payMoney);
|
|
@@ -203,6 +246,23 @@ public class MercFeeCountDayJob {
|
|
|
saveMercFeeCountList.add(deviceDayFee);
|
|
|
}
|
|
|
mercFeeCountDayService.saveBatch(saveMercFeeCountList);
|
|
|
+ } else {
|
|
|
+ //没有费用的也要记录,为了前端收益概览的展示
|
|
|
+ List<MercFeeCountDay> saveMercFeeCountList = new ArrayList<>();
|
|
|
+ for (Long mercId : mercIds) {
|
|
|
+
|
|
|
+ MercFeeCountDay deviceDayFee = new MercFeeCountDay();
|
|
|
+ deviceDayFee.setFeeType(EnumMercFeeType.T3.getIntCode());
|
|
|
+ deviceDayFee.setParentMercId(parentMercId);
|
|
|
+ deviceDayFee.setDateValue(dateValue);
|
|
|
+ deviceDayFee.setPayMoney(0);
|
|
|
+ deviceDayFee.setMonthValue(Integer.valueOf(monthValue));
|
|
|
+ deviceDayFee.setBrokerage(0);
|
|
|
+ deviceDayFee.setMercId(mercId);
|
|
|
+ deviceDayFee.setParentMercId(parentMercId);
|
|
|
+ saveMercFeeCountList.add(deviceDayFee);
|
|
|
+ }
|
|
|
+ mercFeeCountDayService.saveBatch(saveMercFeeCountList);
|
|
|
}
|
|
|
//~~~~~~~~~~~~~3算法服务费
|
|
|
|
|
@@ -224,7 +284,7 @@ public class MercFeeCountDayJob {
|
|
|
Integer payMoney = devicePayMoneyMap.get(mercId);
|
|
|
Integer brokerage = deviceAgentMoneyMap.get(mercId);
|
|
|
MercFeeCountDay deviceDayFee = new MercFeeCountDay();
|
|
|
- deviceDayFee.setFeeType(2);
|
|
|
+ deviceDayFee.setFeeType(EnumMercFeeType.T4.getIntCode());
|
|
|
deviceDayFee.setParentMercId(parentMercId);
|
|
|
deviceDayFee.setDateValue(dateValue);
|
|
|
deviceDayFee.setPayMoney(payMoney);
|
|
@@ -234,6 +294,23 @@ public class MercFeeCountDayJob {
|
|
|
saveMercFeeCountList.add(deviceDayFee);
|
|
|
}
|
|
|
mercFeeCountDayService.saveBatch(saveMercFeeCountList);
|
|
|
+ } else {
|
|
|
+ //没有费用的也要记录,为了前端收益概览的展示
|
|
|
+ List<MercFeeCountDay> saveMercFeeCountList = new ArrayList<>();
|
|
|
+ for (Long mercId : mercIds) {
|
|
|
+
|
|
|
+ MercFeeCountDay deviceDayFee = new MercFeeCountDay();
|
|
|
+ deviceDayFee.setFeeType(EnumMercFeeType.T4.getIntCode());
|
|
|
+ deviceDayFee.setParentMercId(parentMercId);
|
|
|
+ deviceDayFee.setDateValue(dateValue);
|
|
|
+ deviceDayFee.setPayMoney(0);
|
|
|
+ deviceDayFee.setMonthValue(Integer.valueOf(monthValue));
|
|
|
+ deviceDayFee.setBrokerage(0);
|
|
|
+ deviceDayFee.setMercId(mercId);
|
|
|
+ deviceDayFee.setParentMercId(parentMercId);
|
|
|
+ saveMercFeeCountList.add(deviceDayFee);
|
|
|
+ }
|
|
|
+ mercFeeCountDayService.saveBatch(saveMercFeeCountList);
|
|
|
}
|
|
|
//~~~~~~~~~~~~~4流量卡费
|
|
|
}
|