瀏覽代碼

fix: 修改价格模板和航次价格,单人票设置改成每个房型不一样

luofeiyun 1 月之前
父節點
當前提交
fd475e08ee
共有 19 個文件被更改,包括 104 次插入69 次删除
  1. 3 0
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/pricetemplate/vo/PriceRoomModelRespVO.java
  2. 8 0
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/pricetemplate/vo/PriceSingleSettingRespVO.java
  3. 3 7
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/pricetemplate/vo/PriceTemplateRespVO.java
  4. 3 7
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/pricetemplate/vo/PriceTemplateSaveReqVO.java
  5. 16 6
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/pricevoyage/PriceVoyageController.java
  6. 0 3
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/pricevoyage/vo/PriceVoyagePageReqVO.java
  7. 0 7
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/pricevoyage/vo/PriceVoyageRespVO.java
  8. 0 7
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/pricevoyage/vo/PriceVoyageSaveReqVO.java
  9. 7 4
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/dal/dataobject/priceroommodel/PriceRoomModelDO.java
  10. 11 0
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/dal/dataobject/pricesinglesetting/PriceSingleSettingDO.java
  11. 3 2
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/dal/dataobject/pricetemplate/PriceTemplateDO.java
  12. 0 4
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/dal/dataobject/pricevoyage/PriceVoyageDO.java
  13. 4 2
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/dal/mysql/pricesinglesetting/PriceSingleSettingMapper.java
  14. 0 1
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/dal/mysql/pricevoyage/PriceVoyageMapper.java
  15. 3 1
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/service/pricesinglesetting/PriceSingleSettingService.java
  16. 2 1
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/service/pricesinglesetting/PriceSingleSettingServiceImpl.java
  17. 24 7
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/service/pricetemplate/PriceTemplateServiceImpl.java
  18. 13 4
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/service/pricevoyage/PriceVoyageServiceImpl.java
  19. 4 6
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/service/voyage/VoyageServiceImpl.java

+ 3 - 0
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/pricetemplate/vo/PriceRoomModelRespVO.java

@@ -45,4 +45,7 @@ public class PriceRoomModelRespVO {
     @ExcelProperty("拼房系数")
     private BigDecimal shareRate;
 
+    @Schema(description = "价格单人票设置")
+    private PriceSingleSettingRespVO singleSetting;
+
 }

+ 8 - 0
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/pricetemplate/vo/PriceSingleSettingRespVO.java

@@ -12,6 +12,10 @@ import java.math.BigDecimal;
 @ExcelIgnoreUnannotated
 public class PriceSingleSettingRespVO {
 
+    @Schema(description = "房型ID", example = "1")
+    @ExcelProperty("房型ID")
+    private Long roomModelId;
+
     @Schema(description = "成人占床")
     @ExcelProperty("成人占床")
     private BigDecimal adultTake;
@@ -92,5 +96,9 @@ public class PriceSingleSettingRespVO {
     @ExcelProperty("婴儿加床固定费用(套房)")
     private BigDecimal babyPlusSuitePrice;
 
+    @Schema(description = "加床类型")
+    @ExcelProperty("加床类型")
+    private Integer jctype;
+
 
 }

+ 3 - 7
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/pricetemplate/vo/PriceTemplateRespVO.java

@@ -7,6 +7,7 @@ import com.yc.ship.framework.excel.core.convert.DictConvert;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
+import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.util.List;
 
@@ -51,10 +52,8 @@ public class PriceTemplateRespVO {
     @DictFormat("common_status") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中
     private Integer status;
 
-    /***
-     * 加床类型 0:固定金额 1:百分比
-     */
-    private Integer jctype;
+    @Schema(description = "基准价格", example = "10043")
+    private BigDecimal price;
 
     @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @ExcelProperty("创建时间")
@@ -66,9 +65,6 @@ public class PriceTemplateRespVO {
     @Schema(description = "楼层价格系数")
     private List<PriceFloorRespVO> floorList;
 
-    @Schema(description = "单房型价格系数")
-    private PriceSingleSettingRespVO singleSetting;
-
     @Schema(description = "区域加价设置")
     private List<PriceAreaRespVO> areaList;
 

+ 3 - 7
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/pricetemplate/vo/PriceTemplateSaveReqVO.java

@@ -9,6 +9,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
 import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.util.List;
 
@@ -38,10 +39,8 @@ public class PriceTemplateSaveReqVO {
     @NotNull(message = "状态不能为空")
     private Integer status;
 
-    /***
-     * 加床类型 0:固定金额 1:百分比
-     */
-    private Integer jctype;
+    @Schema(description = "基准价格", example = "10043")
+    private BigDecimal price;
 
     @Schema(description = "房型价格系数")
     private List<PriceRoomModelDO> roomModelList;
@@ -49,9 +48,6 @@ public class PriceTemplateSaveReqVO {
     @Schema(description = "楼层价格系数")
     private List<PriceFloorDO> floorList;
 
-    @Schema(description = "单房型价格系数")
-    private PriceSingleSettingDO singleSetting;
-
     @Schema(description = "区域加价设置")
     private List<PriceAreaDO> areaList;
 

+ 16 - 6
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/pricevoyage/PriceVoyageController.java

@@ -113,10 +113,15 @@ public class PriceVoyageController {
     public CommonResult<PriceVoyageRespVO> getPriceVoyage(@RequestParam("id") Long id) {
         PriceVoyageDO priceVoyage = priceVoyageService.getPriceVoyage(id);
         PriceVoyageRespVO respVO = BeanUtils.toBean(priceVoyage, PriceVoyageRespVO.class);
-        PriceSingleSettingDO singleSettingDO = priceSingleSettingService.getByObjectId(id);
-        respVO.setSingleSetting(BeanUtils.toBean(singleSettingDO, PriceSingleSettingRespVO.class));
         List<PriceRoomModelDO> roomModelDOList = priceRoomModelService.getListByObjectId(id);
-        respVO.setRoomModelList(BeanUtils.toBean(roomModelDOList, PriceRoomModelRespVO.class));
+        List<PriceRoomModelRespVO> priceRoomModelRespVOS = BeanUtils.toBean(roomModelDOList, PriceRoomModelRespVO.class);
+        List<PriceSingleSettingDO> singleSettingDO = priceSingleSettingService.getByObjectId(id);
+        List<PriceSingleSettingRespVO> priceSingleSettingRespVOS = BeanUtils.toBean(singleSettingDO, PriceSingleSettingRespVO.class);
+        Map<Long, PriceSingleSettingRespVO> settingRespVOMap = CollectionUtils.convertMap(priceSingleSettingRespVOS, PriceSingleSettingRespVO::getRoomModelId);
+        priceRoomModelRespVOS.stream().forEach(item -> {
+            item.setSingleSetting(settingRespVOMap.get(item.getRoomModelId()));
+        });
+        respVO.setRoomModelList(priceRoomModelRespVOS);
         List<PriceFloorDO> floorDOList = priceFloorService.getListByObjectId(id);
         respVO.setFloorList(BeanUtils.toBean(floorDOList, PriceFloorRespVO.class));
         List<PriceAreaDO> areaList = priceAreaService.getListByObjectId(id);
@@ -136,10 +141,15 @@ public class PriceVoyageController {
         }
         Long id = priceVoyage.getId();
         PriceVoyageRespVO respVO = BeanUtils.toBean(priceVoyage, PriceVoyageRespVO.class);
-        PriceSingleSettingDO singleSettingDO = priceSingleSettingService.getByObjectId(id);
-        respVO.setSingleSetting(BeanUtils.toBean(singleSettingDO, PriceSingleSettingRespVO.class));
         List<PriceRoomModelDO> roomModelDOList = priceRoomModelService.getListByObjectId(id);
-        respVO.setRoomModelList(BeanUtils.toBean(roomModelDOList, PriceRoomModelRespVO.class));
+        List<PriceRoomModelRespVO> priceRoomModelRespVOS = BeanUtils.toBean(roomModelDOList, PriceRoomModelRespVO.class);
+        List<PriceSingleSettingDO> singleSettingDO = priceSingleSettingService.getByObjectId(id);
+        List<PriceSingleSettingRespVO> priceSingleSettingRespVOS = BeanUtils.toBean(singleSettingDO, PriceSingleSettingRespVO.class);
+        Map<Long, PriceSingleSettingRespVO> settingRespVOMap = CollectionUtils.convertMap(priceSingleSettingRespVOS, PriceSingleSettingRespVO::getRoomModelId);
+        priceRoomModelRespVOS.stream().forEach(item -> {
+            item.setSingleSetting(settingRespVOMap.get(item.getRoomModelId()));
+        });
+        respVO.setRoomModelList(priceRoomModelRespVOS);
         List<PriceFloorDO> floorDOList = priceFloorService.getListByObjectId(id);
         respVO.setFloorList(BeanUtils.toBean(floorDOList, PriceFloorRespVO.class));
         List<PriceAreaDO> areaList = priceAreaService.getListByObjectId(id);

+ 0 - 3
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/pricevoyage/vo/PriceVoyagePageReqVO.java

@@ -40,9 +40,6 @@ public class PriceVoyagePageReqVO extends PageParam {
     @Schema(description = "状态", example = "1")
     private Integer status;
 
-    @Schema(description = "加床类型", example = "1")
-    private Integer jctype;
-
     @Schema(description = "创建时间")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime[] createTime;

+ 0 - 7
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/pricevoyage/vo/PriceVoyageRespVO.java

@@ -65,10 +65,6 @@ public class PriceVoyageRespVO {
     @ExcelProperty("状态")
     private Integer status;
 
-    @Schema(description = "加床类型")
-    @ExcelProperty("加床类型")
-    private Integer jctype;
-
     @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @ExcelProperty("创建时间")
     private LocalDateTime createTime;
@@ -79,9 +75,6 @@ public class PriceVoyageRespVO {
     @Schema(description = "楼层价格系数")
     private List<PriceFloorRespVO> floorList;
 
-    @Schema(description = "单房型价格系数")
-    private PriceSingleSettingRespVO singleSetting;
-
     @Schema(description = "区域价格")
     private List<PriceAreaRespVO> areaList;
 

+ 0 - 7
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/pricevoyage/vo/PriceVoyageSaveReqVO.java

@@ -44,19 +44,12 @@ public class PriceVoyageSaveReqVO {
     @NotNull(message = "状态不能为空")
     private Integer status;
 
-    @Schema(description = "加床类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
-    @NotNull(message = "加床类型不能为空")
-    private Integer jctype;
-
     @Schema(description = "房型价格系数")
     private List<PriceRoomModelDO> roomModelList;
 
     @Schema(description = "楼层价格系数")
     private List<PriceFloorDO> floorList;
 
-    @Schema(description = "单房型价格系数")
-    private PriceSingleSettingDO singleSetting;
-
     @Schema(description = "区域价格")
     private List<PriceAreaDO> areaList;
 

+ 7 - 4
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/dal/dataobject/priceroommodel/PriceRoomModelDO.java

@@ -1,10 +1,8 @@
 package com.yc.ship.module.product.dal.dataobject.priceroommodel;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.KeySequence;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.*;
 import com.yc.ship.framework.tenant.core.db.TenantBaseDO;
+import com.yc.ship.module.product.dal.dataobject.pricesinglesetting.PriceSingleSettingDO;
 import lombok.*;
 
 import java.math.BigDecimal;
@@ -66,5 +64,10 @@ public class PriceRoomModelDO extends TenantBaseDO {
      * 拼房系数
      */
     private BigDecimal shareRate;
+    /**
+     * 单房型加价设置
+     */
+    @TableField(exist = false)
+    private PriceSingleSettingDO singleSetting;
 
 }

+ 11 - 0
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/dal/dataobject/pricesinglesetting/PriceSingleSettingDO.java

@@ -1,10 +1,12 @@
 package com.yc.ship.module.product.dal.dataobject.pricesinglesetting;
 
+import com.alibaba.excel.annotation.ExcelProperty;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.KeySequence;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.yc.ship.framework.tenant.core.db.TenantBaseDO;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
 import java.math.BigDecimal;
@@ -29,6 +31,11 @@ public class PriceSingleSettingDO extends TenantBaseDO {
      */
     @TableId(type = IdType.ASSIGN_ID)
     private Long id;
+
+    /**
+     * 房型ID
+     */
+    private Long roomModelId;
     /**
      * 价格模板ID或者船票价格ID
      */
@@ -113,5 +120,9 @@ public class PriceSingleSettingDO extends TenantBaseDO {
      * 婴儿加床固定费用(套房)
      */
     private BigDecimal babyPlusSuitePrice;
+    /**
+     * 加床类型 0:固定金额 1:百分比
+     */
+    private Integer jctype;
 
 }

+ 3 - 2
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/dal/dataobject/pricetemplate/PriceTemplateDO.java

@@ -8,6 +8,7 @@ import com.sun.xml.bind.v2.TODO;
 import com.yc.ship.framework.tenant.core.db.TenantBaseDO;
 import lombok.*;
 
+import java.math.BigDecimal;
 import java.time.LocalDateTime;
 
 /**
@@ -60,8 +61,8 @@ public class PriceTemplateDO extends TenantBaseDO {
     private Integer status;
 
     /***
-     * 加床类型 0:固定金额 1:百分比
+     * 基准价格
      */
-    private Integer jctype;
+    private BigDecimal price;
 
 }

+ 0 - 4
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/dal/dataobject/pricevoyage/PriceVoyageDO.java

@@ -64,9 +64,5 @@ public class PriceVoyageDO extends TenantBaseDO {
      * 状态
      */
     private Integer status;
-    /***
-     * 加床类型 0:固定金额 1:百分比
-     */
-    private Integer jctype;
 
 }

+ 4 - 2
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/dal/mysql/pricesinglesetting/PriceSingleSettingMapper.java

@@ -5,6 +5,8 @@ import com.yc.ship.framework.mybatis.core.query.LambdaQueryWrapperX;
 import com.yc.ship.module.product.dal.dataobject.pricesinglesetting.PriceSingleSettingDO;
 import org.apache.ibatis.annotations.Mapper;
 
+import java.util.List;
+
 /**
  * 价格单人票设置 Mapper
  *
@@ -13,8 +15,8 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface PriceSingleSettingMapper extends BaseMapperX<PriceSingleSettingDO> {
 
-    default PriceSingleSettingDO selectByObjectId(Long objectId) {
-        return selectOne(PriceSingleSettingDO::getObjectId, objectId);
+    default List<PriceSingleSettingDO> selectByObjectId(Long objectId) {
+        return selectList(PriceSingleSettingDO::getObjectId, objectId);
     }
 
     default void deleteByObjectId(Long objectId) {

+ 0 - 1
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/dal/mysql/pricevoyage/PriceVoyageMapper.java

@@ -26,7 +26,6 @@ public interface PriceVoyageMapper extends BaseMapperX<PriceVoyageDO> {
                 .eqIfPresent(PriceVoyageDO::getPriceMode, reqVO.getPriceMode())
                 .betweenIfPresent(PriceVoyageDO::getValidateTime, reqVO.getValidateTime())
                 .eqIfPresent(PriceVoyageDO::getStatus, reqVO.getStatus())
-                .eqIfPresent(PriceVoyageDO::getJctype, reqVO.getJctype())
                 .betweenIfPresent(PriceVoyageDO::getCreateTime, reqVO.getCreateTime())
                 .orderByDesc(PriceVoyageDO::getId));
     }

+ 3 - 1
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/service/pricesinglesetting/PriceSingleSettingService.java

@@ -2,6 +2,8 @@ package com.yc.ship.module.product.service.pricesinglesetting;
 
 import com.yc.ship.module.product.dal.dataobject.pricesinglesetting.PriceSingleSettingDO;
 
+import java.util.List;
+
 /**
  * 价格单人票设置 Service 接口
  *
@@ -32,6 +34,6 @@ public interface PriceSingleSettingService {
      * @param objectId 对象编号
      * @return 价格单人票设置
      */
-    PriceSingleSettingDO getByObjectId(Long objectId);
+    List<PriceSingleSettingDO> getByObjectId(Long objectId);
 
 }

+ 2 - 1
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/service/pricesinglesetting/PriceSingleSettingServiceImpl.java

@@ -6,6 +6,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.validation.annotation.Validated;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 /**
  * 价格单人票设置 Service 实现类
@@ -34,7 +35,7 @@ public class PriceSingleSettingServiceImpl implements PriceSingleSettingService
     }
 
     @Override
-    public PriceSingleSettingDO getByObjectId(Long objectId) {
+    public List<PriceSingleSettingDO> getByObjectId(Long objectId) {
         return priceSingleSettingMapper.selectByObjectId(objectId);
     }
 

+ 24 - 7
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/service/pricetemplate/PriceTemplateServiceImpl.java

@@ -28,6 +28,7 @@ import org.springframework.validation.annotation.Validated;
 import javax.annotation.Resource;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 import static com.yc.ship.framework.common.exception.util.ServiceExceptionUtil.exception;
 import static com.yc.ship.module.product.enums.ErrorCodeConstants.PRICE_TEMPLATE_NOT_EXISTS;
@@ -120,10 +121,15 @@ public class PriceTemplateServiceImpl implements PriceTemplateService {
     public PriceTemplateRespVO getPriceTemplate(Long id) {
         PriceTemplateDO priceTemplate = priceTemplateMapper.selectById(id);
         PriceTemplateRespVO respVO = BeanUtils.toBean(priceTemplate, PriceTemplateRespVO.class);
-        PriceSingleSettingDO singleSettingDO = priceSingleSettingService.getByObjectId(id);
-        respVO.setSingleSetting(BeanUtils.toBean(singleSettingDO, PriceSingleSettingRespVO.class));
         List<PriceRoomModelDO> roomModelDOList = priceRoomModelService.getListByObjectId(id);
-        respVO.setRoomModelList(BeanUtils.toBean(roomModelDOList, PriceRoomModelRespVO.class));
+        List<PriceRoomModelRespVO> priceRoomModelRespVOS = BeanUtils.toBean(roomModelDOList, PriceRoomModelRespVO.class);
+        List<PriceSingleSettingDO> singleSettingList = priceSingleSettingService.getByObjectId(id);
+        List<PriceSingleSettingRespVO> priceSingleSettingRespVOS = BeanUtils.toBean(singleSettingList, PriceSingleSettingRespVO.class);
+        Map<Long, PriceSingleSettingRespVO> singleSettingRespVOMap = CollectionUtils.convertMap(priceSingleSettingRespVOS, PriceSingleSettingRespVO::getRoomModelId);
+        priceRoomModelRespVOS.stream().forEach(item -> {
+            item.setSingleSetting(singleSettingRespVOMap.get(item.getRoomModelId()));
+        });
+        respVO.setRoomModelList(priceRoomModelRespVOS);
         List<PriceFloorDO> floorDOList = priceFloorService.getListByObjectId(id);
         respVO.setFloorList(BeanUtils.toBean(floorDOList, PriceFloorRespVO.class));
         List<PriceAreaDO> areaList = priceAreaService.getListByObjectId(id);
@@ -151,16 +157,27 @@ public class PriceTemplateServiceImpl implements PriceTemplateService {
             roomModel.setObjectId(objectId);
         });
         priceRoomModelMapper.insertBatch(roomModelList);
+
+        //插入单人票设置
+        List<PriceSingleSettingDO> singleSettingList = new ArrayList<>();
+        roomModelList.stream().forEach(roomModel -> {
+            PriceSingleSettingDO singleSetting = roomModel.getSingleSetting();
+            if(singleSetting != null) {
+                singleSetting.setRoomModelId(roomModel.getRoomModelId());
+                singleSetting.setObjectId(objectId);
+                singleSettingList.add(singleSetting);
+            }
+        });
+        if(singleSettingList.size() > 0) {
+            priceSingleSettingMapper.insertBatch(singleSettingList);
+        }
         //插入楼层价格系数
         List<PriceFloorDO> floorList = vo.getFloorList();
         floorList.stream().forEach(floor -> {
             floor.setObjectId(objectId);
         });
         priceFloorMapper.insertBatch(floorList);
-        //插入单人票设置
-        PriceSingleSettingDO singleSetting = vo.getSingleSetting();
-        singleSetting.setObjectId(objectId);
-        priceSingleSettingMapper.insert(singleSetting);
+
 
         //插入区域加价
         List<PriceAreaDO> areaList = vo.getAreaList();

+ 13 - 4
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/service/pricevoyage/PriceVoyageServiceImpl.java

@@ -128,11 +128,20 @@ public class PriceVoyageServiceImpl implements PriceVoyageService {
             floor.setObjectId(objectId);
         });
         priceFloorMapper.insertBatch(floorList);
-        //插入单人票设置
-        PriceSingleSettingDO singleSetting = vo.getSingleSetting();
-        singleSetting.setObjectId(objectId);
-        priceSingleSettingMapper.insert(singleSetting);
 
+        //插入单人票设置
+        List<PriceSingleSettingDO> singleSettingList = new ArrayList<>();
+        roomModelList.stream().forEach(roomModel -> {
+            PriceSingleSettingDO singleSetting = roomModel.getSingleSetting();
+            if(singleSetting != null) {
+                singleSetting.setRoomModelId(roomModel.getRoomModelId());
+                singleSetting.setObjectId(objectId);
+                singleSettingList.add(singleSetting);
+            }
+        });
+        if(singleSettingList.size() > 0) {
+            priceSingleSettingMapper.insertBatch(singleSettingList);
+        }
         //插入区域加价
         List<PriceAreaDO> areaList = vo.getAreaList();
         List<PriceAreaDO> insertAreaList = new ArrayList<>();

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

@@ -347,19 +347,17 @@ public class VoyageServiceImpl implements VoyageService {
                 priceVoyageSaveReqVO.setPriceMode(priceTemplate.getPriceMode());
                 priceVoyageSaveReqVO.setValidateTime(priceTemplate.getValidateTime());
                 priceVoyageSaveReqVO.setStatus(UseStatusEnum.ENABLE.getStatus());
-                priceVoyageSaveReqVO.setJctype(priceTemplate.getJctype());
                 List<PriceRoomModelRespVO> roomModelList = priceTemplate.getRoomModelList();
                 List<PriceRoomModelDO> priceRoomModelDOS = BeanUtils.toBean(roomModelList, PriceRoomModelDO.class);
-                priceRoomModelDOS.stream().forEach(priceRoomModelDO -> priceRoomModelDO.setObjectId(priceVoyageId));
+                priceRoomModelDOS.stream().forEach(priceRoomModelDO -> {
+                    priceRoomModelDO.setObjectId(priceVoyageId);
+                    priceRoomModelDO.getSingleSetting().setObjectId(priceVoyageId);
+                });
                 priceVoyageSaveReqVO.setRoomModelList(priceRoomModelDOS);
                 List<PriceFloorRespVO> floorList = priceTemplate.getFloorList();
                 List<PriceFloorDO> priceFloorDOS = BeanUtils.toBean(floorList, PriceFloorDO.class);
                 priceFloorDOS.stream().forEach(priceFloorDO -> priceFloorDO.setObjectId(priceVoyageId));
                 priceVoyageSaveReqVO.setFloorList(priceFloorDOS);
-                PriceSingleSettingRespVO singleSetting = priceTemplate.getSingleSetting();
-                PriceSingleSettingDO singleSettingDO = BeanUtils.toBean(singleSetting, PriceSingleSettingDO.class);
-                singleSettingDO.setObjectId(priceVoyageId);
-                priceVoyageSaveReqVO.setSingleSetting(singleSettingDO);
                 List<PriceAreaRespVO> areaList = priceTemplate.getAreaList();
                 List<PriceAreaDO> priceAreaDOS = BeanUtils.toBean(areaList, PriceAreaDO.class);
                 priceAreaDOS.stream().forEach(priceAreaDO -> priceAreaDO.setObjectId(priceVoyageId));