|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  | 
|---|
|  |  |  | 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); | 
|---|