|
|
@@ -30,6 +30,8 @@ import java.time.LocalDateTime;
|
|
|
import java.time.LocalTime;
|
|
|
import java.time.temporal.TemporalAdjusters;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* <p>
|
|
|
@@ -196,12 +198,14 @@ public class WashOrderServiceImpl extends MyBaseServiceImpl<WashOrderMapper, Was
|
|
|
* @return
|
|
|
*/
|
|
|
@Override
|
|
|
- public Integer sumAmountByDate(LocalDate statDay) {
|
|
|
+ public Map<String, Integer> sumAmountByDate(LocalDate statDay) {
|
|
|
LambdaQueryWrapper<WashOrder> wrapper = new LambdaQueryWrapper<>();
|
|
|
wrapper.select(WashOrder::getAmount);
|
|
|
wrapper.ge(WashOrder::getStartTime, LocalDateTime.of(statDay, LocalTime.MIN));
|
|
|
wrapper.gt(WashOrder::getStartTime, LocalDateTime.of(statDay, LocalTime.MAX));
|
|
|
- return list(wrapper).stream().mapToInt(WashOrder::getAmount).sum();
|
|
|
+ var list = list(wrapper);
|
|
|
+ // 按照站点分组统计金额
|
|
|
+ return list.stream().collect(Collectors.groupingBy(WashOrder::getStationId, Collectors.summingInt(WashOrder::getAmount)));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -211,14 +215,16 @@ public class WashOrderServiceImpl extends MyBaseServiceImpl<WashOrderMapper, Was
|
|
|
* @return
|
|
|
*/
|
|
|
@Override
|
|
|
- public Integer sumMonthAmount(LocalDate statDay) {
|
|
|
+ public Map<String, Integer> sumMonthAmount(LocalDate statDay) {
|
|
|
var startTime = statDay.with(TemporalAdjusters.firstDayOfMonth()).with(LocalTime.MIN);
|
|
|
var endTime = statDay.with(TemporalAdjusters.lastDayOfMonth()).with(LocalTime.MAX);
|
|
|
LambdaQueryWrapper<WashOrder> wrapper = new LambdaQueryWrapper<>();
|
|
|
wrapper.select(WashOrder::getAmount);
|
|
|
wrapper.ge(WashOrder::getStartTime, startTime);
|
|
|
wrapper.gt(WashOrder::getStartTime, endTime);
|
|
|
- return list(wrapper).stream().mapToInt(WashOrder::getAmount).sum();
|
|
|
+ var list = list(wrapper);
|
|
|
+ // 按照站点分组统计金额
|
|
|
+ return list.stream().collect(Collectors.groupingBy(WashOrder::getStationId, Collectors.summingInt(WashOrder::getAmount)));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -228,11 +234,12 @@ public class WashOrderServiceImpl extends MyBaseServiceImpl<WashOrderMapper, Was
|
|
|
* @return
|
|
|
*/
|
|
|
@Override
|
|
|
- public Integer countOrdersCountByDate(LocalDate statDay) {
|
|
|
+ public Map<String, Integer> countOrdersCountByDate(LocalDate statDay) {
|
|
|
LambdaQueryWrapper<WashOrder> wrapper = new LambdaQueryWrapper<>();
|
|
|
wrapper.ge(WashOrder::getStartTime, LocalDateTime.of(statDay, LocalTime.MIN));
|
|
|
wrapper.gt(WashOrder::getStartTime, LocalDateTime.of(statDay, LocalTime.MAX));
|
|
|
- return (int) count(wrapper);
|
|
|
+ // 按照站点分组统计订单数量
|
|
|
+ return list(wrapper).stream().collect(Collectors.groupingBy(WashOrder::getStationId, Collectors.summingInt(o -> 1)));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -242,13 +249,14 @@ public class WashOrderServiceImpl extends MyBaseServiceImpl<WashOrderMapper, Was
|
|
|
* @return
|
|
|
*/
|
|
|
@Override
|
|
|
- public Integer countMonthOrdersCount(LocalDate statDay) {
|
|
|
+ public Map<String, Integer> countMonthOrdersCount(LocalDate statDay) {
|
|
|
var startTime = statDay.with(TemporalAdjusters.firstDayOfMonth()).with(LocalTime.MIN);
|
|
|
var endTime = statDay.with(TemporalAdjusters.lastDayOfMonth()).with(LocalTime.MAX);
|
|
|
LambdaQueryWrapper<WashOrder> wrapper = new LambdaQueryWrapper<>();
|
|
|
wrapper.ge(WashOrder::getStartTime, startTime);
|
|
|
wrapper.gt(WashOrder::getStartTime, endTime);
|
|
|
- return (int) count(wrapper);
|
|
|
+ // 按照站点分组统计订单数量
|
|
|
+ return list(wrapper).stream().collect(Collectors.groupingBy(WashOrder::getStationId, Collectors.summingInt(o -> 1)));
|
|
|
}
|
|
|
//endregion
|
|
|
}
|