From 242725f795b4cca830421c07f714a3ec36af0add Mon Sep 17 00:00:00 2001
From: hjl <1657978663@qq.com>
Date: 星期二, 02 七月 2024 13:59:39 +0800
Subject: [PATCH] feat: 代码初始化、腾讯云短信SDK

---
 ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/OrderServiceImpl.java |   53 ++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 36 insertions(+), 17 deletions(-)

diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/OrderServiceImpl.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/OrderServiceImpl.java
index f29415d..98a4736 100644
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/OrderServiceImpl.java
+++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/OrderServiceImpl.java
@@ -58,6 +58,8 @@
     private ServeCoordinateService serveCoordinateService;
     @Resource
     private EvaluateService evaluateService;
+    @Resource
+    private ChangeDispatchService changeDispatchService;
 
     @Override
     public OrderResultVO orderCountHome(OrderCountRequest orderCount) {
@@ -108,7 +110,7 @@
     }
 
     @Override
-    public R<String> excelExport(List<String> idList, HttpServletResponse response) {
+    public R<String> excelExport(OrderQueryRequest orderQueryRequest, HttpServletResponse response) {
         try {
             response.setCharacterEncoding(Constants.UTF8);
             response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
@@ -118,7 +120,13 @@
             return R.fail("excel导出失败!");
         }
         try {
-            List<Order> list = lambdaQuery().in(Order::getId, idList).eq(Order::getIsDelete, 0).list();
+            List<String> ids = orderQueryRequest.getIds();
+            List<Order> list;
+            if (null != ids && !ids.isEmpty()) {
+                list = baseMapper.exportByIdList(ids);
+            } else {
+                list = baseMapper.exportList(orderQueryRequest);
+            }
             // excel模板封装
             ExcelWriterBuilder excelWriterBuilder = EasyExcelFactory.write(response.getOutputStream());
             InputStream stream = Thread.currentThread().getContextClassLoader().getResourceAsStream("template/" + Constants.EXCEL_ORDER_FILE_NAME + ".xlsx");
@@ -140,7 +148,18 @@
     public IPage<Order> queryPage(OrderQueryRequest orderQueryRequest) {
         Page<Order> page = Page.of(orderQueryRequest.getPageNum(), orderQueryRequest.getPageSize());
         // 基础查询
-        return baseMapper.queryPage(orderQueryRequest, page);
+        IPage<Order> pageList = baseMapper.queryPage(orderQueryRequest, page);
+        for (Order order : pageList.getRecords()) {
+            ChangeDispatch changeDispatch = changeDispatchService.lambdaQuery()
+                    .eq(ChangeDispatch::getOrderId, order.getId())
+                    .eq(ChangeDispatch::getIsDelete, 0)
+                    .orderByDesc(ChangeDispatch::getCreateTime)
+                    .last("limit 1").one();
+            if (null != changeDispatch) {
+                order.setApplyReason(changeDispatch.getApplyReason());
+            }
+        }
+        return pageList;
     }
 
     @Override
@@ -165,18 +184,17 @@
         Evaluate evaluate = evaluateService.lambdaQuery().eq(Evaluate::getOrderId, order.getId())
                 .eq(Evaluate::getIsDelete, 0).one();
         OrderByEvaluateVO orderByEvaluate = new OrderByEvaluateVO();
-        orderByEvaluate.setStarRating(evaluate.getStarRating());
-        orderByEvaluate.setEvaluateTime(evaluate.getCreateTime());
-        orderByEvaluate.setEvaluateContent(evaluate.getContent());
+        if (null != evaluate) {
+            orderByEvaluate.setStarRating(evaluate.getStarRating());
+            orderByEvaluate.setEvaluateTime(evaluate.getCreateTime());
+            orderByEvaluate.setEvaluateContent(evaluate.getContent());
+        }
         result.setEvaluateInfo(orderByEvaluate);
     }
 
     private void serveRecordInfo(OrderDetailVO result, Order order) {
         ServeRecord serveRecord = serveRecordService.lambdaQuery().eq(ServeRecord::getOrderId, order.getId())
                 .eq(ServeRecord::getIsDelete, 0).one();
-        if (null == serveRecord) {
-            throw new GlobalException("服务记录信息异常,请重试");
-        }
         // 师傅路线轨迹
         List<ServeCoordinate> serveCoordinateList = serveCoordinateService.lambdaQuery().eq(ServeCoordinate::getWorkerId, order.getServerId())
                 .eq(ServeCoordinate::getIsDelete, 0).orderByDesc(ServeCoordinate::getCreateTime).list();
@@ -184,7 +202,9 @@
         orderByServeRecord.setAcceptOrderTime(order.getAcceptTime());
         orderByServeRecord.setReachTime(order.getTime());
         orderByServeRecord.setCoordinate(serveCoordinateList.stream().map(ServeCoordinate::getCoordinate).collect(Collectors.toList()));
-        orderByServeRecord.setPhoto(Arrays.stream(serveRecord.getPhoto().split(",")).collect(Collectors.toList()));
+        if (null != serveRecord) {
+            orderByServeRecord.setPhoto(Arrays.stream(serveRecord.getPhoto().split(",")).collect(Collectors.toList()));
+        }
         result.setServeRecordInfo(orderByServeRecord);
     }
 
@@ -233,12 +253,11 @@
     private void userInfo(OrderDetailVO result, Order order) {
         Integer userId = order.getUserId();
         User user = userMapper.selectById(userId);
-        if (null == user) {
-            throw new GlobalException("预约人信息异常,请重试");
-        }
         OrderByUserInfoVO orderByUserInfo = new OrderByUserInfoVO();
-        orderByUserInfo.setProfilePicture(user.getProfilePicture());
-        orderByUserInfo.setUserNumber(user.getUserNo());
+        if (null != user) {
+            orderByUserInfo.setProfilePicture(user.getProfilePicture());
+            orderByUserInfo.setUserNumber(user.getUserNo());
+        }
         orderByUserInfo.setReservationName(order.getReservationName());
         orderByUserInfo.setReservationPhone(order.getReservationPhone());
         orderByUserInfo.setReservationAddress(order.getReservationAddress());
@@ -252,8 +271,8 @@
     }
 
     @Override
-    public OrderPageCountVO orderPageCount(OrderQueryRequest orderQueryRequest) {
-        List<Order> orderList = baseMapper.orderPageCount(orderQueryRequest);
+    public OrderPageCountVO orderPageCount() {
+        List<Order> orderList = baseMapper.orderPageCount();
         int total = 0;
         int toBeDispatched = 0;
         int stayDoorstep = 0;

--
Gitblit v1.7.1