Explorar o código

fix: 批量新增航次添加开航时间和离船时间的提前天数和延后天数配置

luofeiyun hai 1 semana
pai
achega
ae22d6587e

+ 12 - 0
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/voyage/vo/VoyageSaveBatchReqVO.java

@@ -81,4 +81,16 @@ public class VoyageSaveBatchReqVO {
      */
     @Schema(description = "儿童预定说明")
     private String childBookingNotice;
+
+    /**
+     * 登船开始时间增加天数
+     */
+    @Schema(description = "登船开始时间增加天数")
+    private Integer startIntervalDays;
+
+    /**
+     * 登船结束时间增加天数
+     */
+    @Schema(description = "登船结束时间增加天数")
+    private Integer leaveIntervalDays;
 }

+ 6 - 2
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/service/voyage/VoyageServiceImpl.java

@@ -42,6 +42,8 @@ import javax.annotation.Resource;
 
 import java.math.BigDecimal;
 import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.temporal.ChronoUnit;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
@@ -301,6 +303,8 @@ public class VoyageServiceImpl implements VoyageService {
         Long shipId = createReqVO.getShipId();
         Long routeId = createReqVO.getRouteId();
         Long templateId = createReqVO.getTemplateId();
+        Integer startIntervalDays = createReqVO.getStartIntervalDays();
+        Integer leaveIntervalDays = createReqVO.getLeaveIntervalDays();
         PriceTemplateRespVO priceTemplate = null;
         if(templateId != null) { //有价格模板就生成航次价格
             priceTemplate = priceTemplateService.getPriceTemplate(templateId);
@@ -320,8 +324,8 @@ public class VoyageServiceImpl implements VoyageService {
             voyageDO.setCode(VoyageUUCodeUtils.generateVoyageNo(shipRespDTO.getCode(), startDateStr, createReqVO.getBoardingAddress(), createReqVO.getLeaveAddress()));
             voyageDO.setShipId(shipId);
             voyageDO.setRouteId(routeId);
-            voyageDO.setStartTime(LocalDateTimeUtil.parse(startDateStr+"T"+startTime));
-            voyageDO.setLeaveTime(LocalDateTimeUtil.parse(leaveDate+"T"+leaveTime));
+            voyageDO.setStartTime(LocalDateTimeUtil.offset(LocalDateTimeUtil.parse(startDateStr + "T" + startTime), startIntervalDays, ChronoUnit.DAYS));
+            voyageDO.setLeaveTime(LocalDateTimeUtil.offset(LocalDateTimeUtil.parse(leaveDate + "T" + leaveTime), leaveIntervalDays, ChronoUnit.DAYS));
             voyageDO.setBoardingTime(LocalDateTimeUtil.parse(startDateStr+"T"+boardingTime));
             voyageDO.setType(createReqVO.getType());
             voyageDO.setTransfer(YesOrNoEnum.NO.getType());