|
@@ -22,6 +22,7 @@ import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.YearMonth;
|
|
import java.time.YearMonth;
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
import java.util.stream.Stream;
|
|
import java.util.stream.Stream;
|
|
@@ -91,13 +92,17 @@ public class MonthStatServiceImpl extends MyBaseServiceImpl<MonthStatMapper, Mon
|
|
|
Map<String, Integer> amountMap = washOrderService.sumMonthAmount(statDay);
|
|
Map<String, Integer> amountMap = washOrderService.sumMonthAmount(statDay);
|
|
|
Map<String, Integer> registerMap = userService.countMonthRegister(statDay);
|
|
Map<String, Integer> registerMap = userService.countMonthRegister(statDay);
|
|
|
Map<String, Integer> ordersCountMap = washOrderService.countMonthOrders(statDay);
|
|
Map<String, Integer> ordersCountMap = washOrderService.countMonthOrders(statDay);
|
|
|
- Map<String, Integer> incomeMap = splitRecordService.sumMonthIncome(statDay);
|
|
|
|
|
- Map<String, Integer> crossIncomeMap = splitRecordService.sumMonthIncome(statDay, Boolean.TRUE);
|
|
|
|
|
- Map<String, Integer> expendMap = splitRecordService.sumMonthExpend(statDay, Boolean.TRUE);
|
|
|
|
|
- Map<String, Integer> refundMap = splitRecordService.sumMonthRefund(statDay);
|
|
|
|
|
- Map<String, Integer> rechargeCountMap = splitRecordService.countMonthRecharge(statDay);
|
|
|
|
|
- Map<String, Integer> refundCountMap = splitRecordService.countMonthRefund(statDay);
|
|
|
|
|
- Map<String, Integer> activeUserMap = washOrderService.countMonthActiveUsers(statDay);
|
|
|
|
|
|
|
+ var rechargeIncomeMap = splitRecordService.sumMonthRechargeIncome(statDay);
|
|
|
|
|
+ var crossIncomeMap = splitRecordService.sumMonthCrossIncome(statDay);
|
|
|
|
|
+ var crossExpendMap = splitRecordService.sumMonthCrossExpend(statDay);
|
|
|
|
|
+ var refundMap = splitRecordService.sumMonthRefund(statDay);
|
|
|
|
|
+ var rechargeCountMap = splitRecordService.countMonthRecharge(statDay);
|
|
|
|
|
+ var refundCountMap = splitRecordService.countMonthRefund(statDay);
|
|
|
|
|
+ var activeUserMap = washOrderService.countMonthActiveUsers(statDay);
|
|
|
|
|
+
|
|
|
|
|
+ // 总入账 = 充值收入 + 跨店收入
|
|
|
|
|
+ var incomeMap = new HashMap<>(rechargeIncomeMap);
|
|
|
|
|
+ crossIncomeMap.forEach((k, v) -> incomeMap.merge(k, v, Integer::sum));
|
|
|
|
|
|
|
|
var platformFeeMap = settlementService.lambdaQuery()
|
|
var platformFeeMap = settlementService.lambdaQuery()
|
|
|
.eq(SettlementRecord::getSettlementPeriod, statMonth)
|
|
.eq(SettlementRecord::getSettlementPeriod, statMonth)
|
|
@@ -109,7 +114,7 @@ public class MonthStatServiceImpl extends MyBaseServiceImpl<MonthStatMapper, Mon
|
|
|
Integer::sum));
|
|
Integer::sum));
|
|
|
|
|
|
|
|
var allStationIds = Stream.of(amountMap, registerMap, ordersCountMap, incomeMap,
|
|
var allStationIds = Stream.of(amountMap, registerMap, ordersCountMap, incomeMap,
|
|
|
- crossIncomeMap, expendMap, refundMap, rechargeCountMap, refundCountMap,
|
|
|
|
|
|
|
+ crossIncomeMap, crossExpendMap, refundMap, rechargeCountMap, refundCountMap,
|
|
|
activeUserMap, platformFeeMap)
|
|
activeUserMap, platformFeeMap)
|
|
|
.flatMap(m -> m.keySet().stream())
|
|
.flatMap(m -> m.keySet().stream())
|
|
|
.filter(s -> s != null && !"未分配".equals(s))
|
|
.filter(s -> s != null && !"未分配".equals(s))
|
|
@@ -136,7 +141,7 @@ public class MonthStatServiceImpl extends MyBaseServiceImpl<MonthStatMapper, Mon
|
|
|
stat.setOrdersCount(ordersCountMap.getOrDefault(stationId, 0));
|
|
stat.setOrdersCount(ordersCountMap.getOrDefault(stationId, 0));
|
|
|
stat.setTotalIncome(incomeMap.getOrDefault(stationId, 0));
|
|
stat.setTotalIncome(incomeMap.getOrDefault(stationId, 0));
|
|
|
stat.setCrossIncome(crossIncomeMap.getOrDefault(stationId, 0));
|
|
stat.setCrossIncome(crossIncomeMap.getOrDefault(stationId, 0));
|
|
|
- stat.setCrossExpend(expendMap.getOrDefault(stationId, 0));
|
|
|
|
|
|
|
+ stat.setCrossExpend(crossExpendMap.getOrDefault(stationId, 0));
|
|
|
stat.setTotalRefund(refundMap.getOrDefault(stationId, 0));
|
|
stat.setTotalRefund(refundMap.getOrDefault(stationId, 0));
|
|
|
stat.setPlatformFee(platformFeeMap.getOrDefault(stationId, 0));
|
|
stat.setPlatformFee(platformFeeMap.getOrDefault(stationId, 0));
|
|
|
stat.setRechargeCount(rechargeCountMap.getOrDefault(stationId, 0));
|
|
stat.setRechargeCount(rechargeCountMap.getOrDefault(stationId, 0));
|