huliguo
8 天以前 594cfe56c8713b78e12894f6281923684385f927
优化
5个文件已修改
1个文件已添加
89 ■■■■ 已修改文件
pt-admin/src/main/java/com/ruoyi/web/controller/errand/CourierController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pt-admin/src/main/resources/application.yml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pt-errand/src/main/java/com/ruoyi/errand/object/vo/app/WorkNumberVO.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pt-errand/src/main/java/com/ruoyi/errand/service/CourierService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pt-errand/src/main/java/com/ruoyi/errand/service/impl/CourierServiceImpl.java 51 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pt-errand/src/main/java/com/ruoyi/errand/utils/JwtUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pt-admin/src/main/java/com/ruoyi/web/controller/errand/CourierController.java
@@ -49,6 +49,16 @@
    }
    /**
     * 工作台-数据统计
     */
    @GetMapping("/getWorkNumber")
    @ApiOperation(value = "工作台-订单数量统计",tags = "app用户端-跑腿员")
    public R<WorkNumberVO> getWorkNumber() {
        return R.ok(courierService.getWorkNumber());
    }
    /**
     * 订单列表  1待确认2进行中3已取消4已完成
     */
    @GetMapping("/getCourierOrderList")
pt-admin/src/main/resources/application.yml
@@ -17,6 +17,7 @@
server:
  # 服务器的HTTP端口,默认为8080
  port: 8080
#  port: 8086
  servlet:
    # 应用的访问路径
    context-path: /
pt-errand/src/main/java/com/ruoyi/errand/object/vo/app/WorkNumberVO.java
New file
@@ -0,0 +1,18 @@
package com.ruoyi.errand.object.vo.app;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("")
public class WorkNumberVO {
    @ApiModelProperty("全部")
    private Integer totalNumber;
    @ApiModelProperty("待接单")
    private Integer waitNumber;
    @ApiModelProperty("进行中")
    private Integer inProgressNumber;
    @ApiModelProperty("完成")
    private Integer completedNumber;
}
pt-errand/src/main/java/com/ruoyi/errand/service/CourierService.java
@@ -7,10 +7,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.CourierPageListVO;
import com.ruoyi.errand.object.vo.sys.CourierSysDetailVO;
@@ -42,4 +39,6 @@
    void delete(Integer id);
    List<AllCourierListVO> getAllCourierList();
    WorkNumberVO getWorkNumber();
}
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) // 过滤空时间
pt-errand/src/main/java/com/ruoyi/errand/utils/JwtUtil.java
@@ -18,7 +18,7 @@
     * 用户生成jwt令牌相关配置
     */
    private static final String secretKey = "xx";
    private static final long ttl =7200000;
    private static final long ttl =2592000000L;
    private static final String tokenName = "Authorization";
    /**