From 1c7e22837254781947366d09282d48a45347d0e5 Mon Sep 17 00:00:00 2001
From: huliguo <2023611923@qq.com>
Date: 星期三, 06 八月 2025 10:20:45 +0800
Subject: [PATCH] 发送小程序订单数量
---
pt-errand/src/main/java/com/ruoyi/errand/service/impl/CourierServiceImpl.java | 51 +++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 43 insertions(+), 8 deletions(-)
diff --git a/pt-errand/src/main/java/com/ruoyi/errand/service/impl/CourierServiceImpl.java b/pt-errand/src/main/java/com/ruoyi/errand/service/impl/CourierServiceImpl.java
index c5930db..3300fc0 100644
--- a/pt-errand/src/main/java/com/ruoyi/errand/service/impl/CourierServiceImpl.java
+++ b/pt-errand/src/main/java/com/ruoyi/errand/service/impl/CourierServiceImpl.java
@@ -17,10 +17,7 @@
import com.ruoyi.errand.object.dto.sys.AddCourierDTO;
import com.ruoyi.errand.object.dto.sys.CourierPageListDTO;
import com.ruoyi.errand.object.dto.sys.EditCourierDTO;
-import com.ruoyi.errand.object.vo.app.CompleteOrderDTO;
-import com.ruoyi.errand.object.vo.app.CourierInfoVO;
-import com.ruoyi.errand.object.vo.app.CourierOrderListVO;
-import com.ruoyi.errand.object.vo.app.CourierStatisticsVO;
+import com.ruoyi.errand.object.vo.app.*;
import com.ruoyi.errand.object.vo.sys.AllCourierListVO;
import com.ruoyi.errand.object.vo.sys.AppUserPageListVO;
import com.ruoyi.errand.object.vo.sys.CourierPageListVO;
@@ -40,10 +37,7 @@
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.temporal.TemporalAdjusters;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
import java.util.stream.Collectors;
@Service
@@ -458,6 +452,47 @@
}
+ @Override
+ public WorkNumberVO getWorkNumber() {
+ AppUser appuser = (AppUser) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
+ if (appuser.getCourierId()==null){
+ throw new ServiceException("您还不是跑腿员");
+ }
+ CommunityCourier communityCourier = communityCourierMapper.selectOne(new LambdaUpdateWrapper<CommunityCourier>()
+ .eq(CommunityCourier::getCourierId, appuser.getCourierId()));
+ if(communityCourier==null){
+ throw new ServiceException("您未绑定小区");
+ }
+ //查询订单
+ List<Order> orderList = orderMapper.selectList(new LambdaQueryWrapper<Order>()
+ .eq(Order::getCourierId, communityCourier.getCourierId())
+ .eq(Order::getDelFlag, DelFlagConstant.UNDELETE)
+ .eq(Order::getPayStatus,2)
+ );
+ Map<Integer, List<Order>> orderStatusMap = orderList.stream().collect(Collectors.groupingBy(Order::getOrderStatus));
+ Integer totalNum=orderList.size();
+ Integer inProgressNumber = orderStatusMap.getOrDefault(2, Collections.emptyList()).size();
+ Integer completedNumber = orderStatusMap.getOrDefault(4, Collections.emptyList()).size();
+ completedNumber += orderStatusMap.getOrDefault(5, Collections.emptyList()).size();
+
+ //待接单
+ Integer waitNumber = Math.toIntExact(orderMapper.selectCount(
+ new LambdaQueryWrapper<Order>()
+ .eq(Order::getDelFlag, 0)
+ .eq(Order::getOrderStatus, 1)
+ .eq(Order::getPayStatus, 2)
+ .eq(Order::getCommunityId, communityCourier.getCommunityId())
+ ));
+ totalNum += waitNumber;
+
+ WorkNumberVO workNumberVO = new WorkNumberVO();
+ workNumberVO.setTotalNumber(totalNum);
+ workNumberVO.setCompletedNumber(completedNumber);
+ workNumberVO.setInProgressNumber(inProgressNumber);
+ workNumberVO.setWaitNumber(waitNumber);
+ return workNumberVO;
+ }
+
private static long countByTimeRange(List<Order> orderList, LocalDateTime start, LocalDateTime end) {
return orderList.stream()
.filter(order -> order.getReceivingTime() != null) // 过滤空时间
--
Gitblit v1.7.1