瀏覽代碼

确认书调整
接站优化
航次排序

zhangshuling 6 天之前
父節點
當前提交
3a8459a0e2

+ 16 - 1
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/voyage/VoyageController.java

@@ -30,6 +30,8 @@ import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
 import java.io.IOException;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -153,6 +155,11 @@ public class VoyageController {
         List<Long> routeIds = CollectionUtils.convertList(voyageRespVOS, VoyageRespVO::getRouteId);
         List<ResourceRouteDO> routeList = routeService.getList(routeIds);
         Map<Long, Integer> routeDoMap = CollectionUtils.convertMap(routeList, ResourceRouteDO::getId, ResourceRouteDO::getDirection);
+
+        // 把已经过期的航次放到后面
+        List<VoyageRespVO> expireVoyageList = new ArrayList<>();
+        List<VoyageRespVO> voyageList = new ArrayList<>();
+
         voyageRespVOS.stream().forEach(voyageRespVO -> {
             MapUtils.findAndThen(routeDoMap, voyageRespVO.getRouteId(), direction -> voyageRespVO.setDirection(direction));
             if(routeDoMap.get(voyageRespVO.getRouteId()) == 2) {
@@ -160,8 +167,16 @@ public class VoyageController {
             }else {
                 voyageRespVO.setFname(voyageRespVO.getName()+"-上水");
             }
+            // 把已经过期的航次放到后面
+            if (voyageRespVO.getBoardingTime().isBefore(LocalDateTime.now())) {
+                expireVoyageList.add(voyageRespVO);
+            } else {
+                voyageList.add(voyageRespVO);
+            }
         });
-        return success(voyageRespVOS);
+        // 过期航次拼在后面
+        voyageList.addAll(expireVoyageList);
+        return success(voyageList);
     }
 
     @GetMapping("/listByShipId")

+ 2 - 6
ship-module-trade/ship-module-trade-biz/src/main/resources/mapper/order/TradeOrderMapper.xml

@@ -2548,17 +2548,13 @@
             ifnull(t2.actual_price,0) actual_price
         FROM
             trade_visitor t1
-                LEFT JOIN trade_detail t2 ON t1.id = t2.visitor_id
-                AND t2.product_type = 0
-                AND t1.deleted = 0
+                LEFT JOIN trade_detail t2 ON t1.id = t2.visitor_id AND t2.product_type = 0
                 LEFT JOIN resource_room_model t3 ON t1.room_model_id = t3.id
-                AND t3.deleted = 0
                 LEFT JOIN area t4 ON t1.nationality = t4.id
                 LEFT JOIN trade_order_room_model t5 ON t1.room_index_id = t5.room_index_id
-                AND t5.deleted = 0
                 LEFT JOIN product_price_room_model_type t6 ON t5.room_model_type_id = t6.id
         WHERE
-            t1.order_id = #{orderId}
+            t1.order_id = #{orderId} AND t1.deleted = 0 AND t3.deleted = 0  AND t5.deleted = 0
         GROUP BY
             t1.room_model_id,
             t1.floor,