huliguo
2025-08-06 1c7e22837254781947366d09282d48a45347d0e5
pt-errand/src/main/java/com/ruoyi/errand/utils/DeliveryWebSocket.java
@@ -148,16 +148,27 @@
    }
    private long countAvailableOrders(CommunityCourier courier) {
        return orderMapper.selectCount(
        //待确认
        Long count1 = orderMapper.selectCount(
                new LambdaQueryWrapper<Order>()
                        .eq(Order::getDelFlag, 0)
                        .eq(Order::getOrderStatus, 1)
                        .eq(Order::getPayStatus, 2)
                        .eq(Order::getCommunityId, courier.getCommunityId())
        );
        //进行中
        Long count2 = orderMapper.selectCount(
                new LambdaQueryWrapper<Order>()
                        .eq(Order::getDelFlag, 0)
                        .eq(Order::getOrderStatus, 2)
                        .eq(Order::getPayStatus, 2)
                        .eq(Order::getCourierId, courier.getCourierId())
        );
        return count1 + count2;
    }
    public void sendWaitOrderNum(String userId) {
        log.info("进入socket发送订单数量,userId:{}", userId);
        Session session = deliveryPersonSessions.get(userId);
        AppUser appUser = getAuthenticatedAppUser(userId);
        CommunityCourier courier = getCommunityCourier(appUser);
@@ -190,6 +201,7 @@
        Session session = deliveryPersonSessions.get(userId);
        if (session != null && session.isOpen()) {
            sendMessageToSession(session, message);
            log.info("发送订单数量:{}", message);
        } else {
            String key = "delivery:notification:" + userId;
            redisTemplate.opsForList().rightPush(key, message);