|
|
@@ -122,7 +122,7 @@ public class StatServiceImpl implements StatService {
|
|
|
.list();
|
|
|
|
|
|
// 今日收入:V2结算方案从订单中计算
|
|
|
- var todayIncome = todayOrders.stream().mapToInt(WashOrder::getAmountReceived).sum();
|
|
|
+ var todayIncome = todayOrders.stream().filter(o -> o.getAmountReceived() != null).mapToInt(WashOrder::getAmountReceived).sum();
|
|
|
|
|
|
// 站点今日注册人数
|
|
|
var todayRegistrations = userService.countDailyRegister(LocalDate.now(), stationId);
|
|
|
@@ -131,7 +131,7 @@ public class StatServiceImpl implements StatService {
|
|
|
var avgOrderPrice = todayOrders.isEmpty() ? 0 : (int)todayIncome/todayOrders.size();
|
|
|
|
|
|
// 平均洗车时长(秒)
|
|
|
- var avgOrderDuration = todayOrders.isEmpty() ? 0 : (int) (todayOrders.stream().mapToLong(WashOrder::getTotalSeconds).sum() / todayOrders.size());
|
|
|
+ var avgOrderDuration = todayOrders.isEmpty() ? 0 : (int) (todayOrders.stream().filter(o -> o.getTotalSeconds() != null).mapToLong(WashOrder::getTotalSeconds).sum() / todayOrders.size());
|
|
|
|
|
|
// 月度数据
|
|
|
var monthOrders = washOrderService.lambdaQuery()
|
|
|
@@ -139,8 +139,8 @@ public class StatServiceImpl implements StatService {
|
|
|
.ge(WashOrder::getStartTime, LocalDate.now().with(TemporalAdjusters.firstDayOfMonth()).atTime(LocalTime.MIN))
|
|
|
.le(WashOrder::getStartTime, LocalDate.now().with(TemporalAdjusters.lastDayOfMonth()).atTime(LocalTime.MAX))
|
|
|
.list();
|
|
|
- var monthConsumptionAmount = monthOrders.stream().mapToInt(WashOrder::getAmount).sum();
|
|
|
- var monthIncome = monthOrders.stream().mapToInt(WashOrder::getAmountReceived).sum();
|
|
|
+ var monthConsumptionAmount = monthOrders.stream().filter(o -> o.getAmount() != null).mapToInt(WashOrder::getAmount).sum();
|
|
|
+ var monthIncome = monthOrders.stream().filter(o -> o.getAmountReceived() != null).mapToInt(WashOrder::getAmountReceived).sum();
|
|
|
var monthRegistrations = userService.countMonthRegister(LocalDate.now());
|
|
|
var monthOrdersMap = washOrderService.countMonthOrders(LocalDate.now());
|
|
|
|
|
|
@@ -148,13 +148,13 @@ public class StatServiceImpl implements StatService {
|
|
|
var allOrders = washOrderService.lambdaQuery()
|
|
|
.eq(WashOrder::getStationId, stationId)
|
|
|
.list();
|
|
|
- var totalIncome = allOrders.stream().mapToInt(WashOrder::getAmountReceived).sum();
|
|
|
- var totalConsumptionAmount = allOrders.stream().mapToInt(WashOrder::getAmount).sum();
|
|
|
+ var totalIncome = allOrders.stream().filter(o -> o.getAmountReceived() != null).mapToInt(WashOrder::getAmountReceived).sum();
|
|
|
+ var totalConsumptionAmount = allOrders.stream().filter(o -> o.getAmount() != null).mapToInt(WashOrder::getAmount).sum();
|
|
|
var totalMembers = (int) userService.count();
|
|
|
|
|
|
DashboardVo dashboardVo = new DashboardVo();
|
|
|
dashboardVo.setTodayIncome(todayIncome);
|
|
|
- dashboardVo.setTodayConsumptionAmount(todayOrders.stream().mapToInt(WashOrder::getAmount).sum());
|
|
|
+ dashboardVo.setTodayConsumptionAmount(todayOrders.stream().filter(o -> o.getAmount() != null).mapToInt(WashOrder::getAmount).sum());
|
|
|
dashboardVo.setTodayWashOrders(todayOrders.size());
|
|
|
dashboardVo.setTodayRegisteredMembers(CommUtil.isEmptyOrNull(todayRegistrations) ? 0 : todayRegistrations.getOrDefault(stationId, 0));
|
|
|
|