From ecca9ab70a9a87bcb60977c92fbf81053b8fc1bb Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期三, 04 九月 2024 09:17:55 +0800
Subject: [PATCH] 新增优化

---
 ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/service/impl/MasterWorkerServiceImpl.java |   39 ++++++++++++++++++++++++++++-----------
 1 files changed, 28 insertions(+), 11 deletions(-)

diff --git a/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/service/impl/MasterWorkerServiceImpl.java b/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/service/impl/MasterWorkerServiceImpl.java
index 1278b27..61fbf3f 100644
--- a/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/service/impl/MasterWorkerServiceImpl.java
+++ b/ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/service/impl/MasterWorkerServiceImpl.java
@@ -59,8 +59,7 @@
             Long distance = result.getDatas();
             // 回收服务信息
             RecoveryServe recoveryServe = recoveryServeService.lambdaQuery()
-                    .eq(RecoveryServe::getId, order.getServeId())
-                    .eq(RecoveryServe::getIsDelete, 0).one();
+                    .eq(RecoveryServe::getId, order.getServeId()).one();
             // vo类信息封装
             OrderListVO orderListVO = new OrderListVO();
             orderListVO.setOrderId(order.getId());
@@ -76,7 +75,12 @@
             orderListVO.setUserId(userid);
             orderListVO.setReservationName(order.getReservationName());
             orderListVO.setReservationPhone(order.getReservationPhone());
-            orderListVO.setReservationAddress(order.getReservationAddress());
+            if (order.getAddress()!=null) {
+                orderListVO.setReservationAddress(order.getReservationAddress() + order.getAddress());
+            }else {
+                orderListVO.setReservationAddress(order.getReservationAddress());
+
+            }
             orderListVO.setTime(order.getTime());
             orderListVO.setServerId(order.getServerId());
             orderListVO.setServerName(order.getServerName());
@@ -90,11 +94,22 @@
             orderListVO.setLongitude(order.getLongitude());
             orderListVO.setLatitude(order.getLatitude());
             orderListVO.setTopSort(topSort);
+            orderListVO.setFake(order.getFake()==null?0:order.getFake());
             OrderNotHandleVO vo = new OrderNotHandleVO(distance, orderListVO);
             list.add(vo);
         }
+        List<OrderNotHandleVO> newList = new ArrayList<>();
         if (item) {
-            return list.stream().map(OrderNotHandleVO::getOrderList).collect(Collectors.toList());
+            // 已置顶订单
+            List<OrderNotHandleVO> topSortNotNull = list.stream()
+                    .filter(data -> data.getOrderList().getTopSort() != null).collect(Collectors.toList());
+            newList.addAll(topSortNotNull);
+            // 未置顶订单,根据距离由近到远排序
+            List<OrderNotHandleVO> topSortNull = list.stream()
+                    .filter(data -> data.getOrderList().getTopSort() == null).collect(Collectors.toList());
+            topSortNull.sort(Comparator.comparing(OrderNotHandleVO::getDistance));
+            newList.addAll(topSortNull);
+            return newList.stream().map(OrderNotHandleVO::getOrderList).collect(Collectors.toList());
         } else {
             // 根据距离排序
             list.sort(Comparator.comparing(OrderNotHandleVO::getDistance));
@@ -102,8 +117,7 @@
             for (OrderListVO orderListVO : resultList) {
                 Integer serveId = orderListVO.getServeId();
                 // 回收服务信息
-                RecoveryServe recoveryServe = recoveryServeService.lambdaQuery().eq(RecoveryServe::getId, serveId)
-                        .eq(RecoveryServe::getIsDelete, 0).one();
+                RecoveryServe recoveryServe = recoveryServeService.lambdaQuery().eq(RecoveryServe::getId, serveId).one();
                 if (null != recoveryServe) {
                     orderListVO.setServePicture(recoveryServe.getCover());
                 }
@@ -128,8 +142,7 @@
             Long distance = result.getDatas();
             // 回收服务信息
             RecoveryServe recoveryServe = recoveryServeService.lambdaQuery()
-                    .eq(RecoveryServe::getId, order.getServeId())
-                    .eq(RecoveryServe::getIsDelete, 0).one();
+                    .eq(RecoveryServe::getId, order.getServeId()).one();
             // vo类信息封装
             OrderListVO orderListVO = new OrderListVO();
             orderListVO.setOrderId(order.getId());
@@ -145,7 +158,12 @@
             orderListVO.setUserId(userid);
             orderListVO.setReservationName(order.getReservationName());
             orderListVO.setReservationPhone(order.getReservationPhone());
-            orderListVO.setReservationAddress(order.getReservationAddress());
+            if (order.getAddress()!=null) {
+                orderListVO.setReservationAddress(order.getReservationAddress() + order.getAddress());
+            }else {
+                orderListVO.setReservationAddress(order.getReservationAddress());
+
+            }
             orderListVO.setTime(order.getTime());
             orderListVO.setServerId(order.getServerId());
             orderListVO.setServerName(order.getServerName());
@@ -168,8 +186,7 @@
         for (OrderListVO orderListVO : resultList) {
             Integer serveId = orderListVO.getServeId();
             // 回收服务信息
-            RecoveryServe recoveryServe = recoveryServeService.lambdaQuery().eq(RecoveryServe::getId, serveId)
-                    .eq(RecoveryServe::getIsDelete, 0).one();
+            RecoveryServe recoveryServe = recoveryServeService.lambdaQuery().eq(RecoveryServe::getId, serveId).one();
             if (null != recoveryServe) {
                 orderListVO.setServePicture(recoveryServe.getCover());
             }

--
Gitblit v1.7.1