Переглянути джерело

Merge remote-tracking branch 'origin/main'

lishiqiang 1 тиждень тому
батько
коміт
3ead3bd3d7
15 змінених файлів з 263 додано та 0 видалено
  1. 36 0
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/pricearea/vo/PriceAreaRespVO.java
  2. 8 0
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/pricetemplate/PriceTemplateController.java
  3. 19 0
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/pricetemplate/vo/PriceCountryRespVO.java
  4. 4 0
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/pricetemplate/vo/PriceTemplateRespVO.java
  5. 5 0
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/pricetemplate/vo/PriceTemplateSaveReqVO.java
  6. 13 0
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/pricevoyage/PriceVoyageController.java
  7. 8 0
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/pricevoyage/vo/PriceVoyageRespVO.java
  8. 5 0
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/pricevoyage/vo/PriceVoyageSaveReqVO.java
  9. 49 0
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/dal/dataobject/pricearea/PriceAreaDO.java
  10. 32 0
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/dal/mysql/pricearea/PriceAreaMapper.java
  11. 19 0
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/service/pricearea/PriceAreaService.java
  12. 36 0
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/service/pricearea/PriceAreaServiceImpl.java
  13. 14 0
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/service/pricetemplate/PriceTemplateServiceImpl.java
  14. 13 0
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/service/pricevoyage/PriceVoyageServiceImpl.java
  15. 2 0
      ship-server-web/src/main/resources/application.yaml

+ 36 - 0
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/pricearea/vo/PriceAreaRespVO.java

@@ -0,0 +1,36 @@
+package com.yc.ship.module.product.controller.admin.pricearea.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import java.math.BigDecimal;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+import com.alibaba.excel.annotation.*;
+
+@Schema(description = "管理后台 - 区域加价设置 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class PriceAreaRespVO {
+
+    @Schema(description = "价格模板ID或者船票价格ID", example = "11557")
+    @ExcelProperty("价格模板ID或者船票价格ID")
+    private Long objectId;
+
+    @Schema(description = "区域ID", example = "25276")
+    @ExcelProperty("区域ID")
+    private Long areaId;
+
+    @Schema(description = "区域名称", example = "张三")
+    @ExcelProperty("区域名称")
+    private String areaName;
+
+    @Schema(description = "价格", example = "10043")
+    @ExcelProperty("价格")
+    private BigDecimal price;
+
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("创建时间")
+    private LocalDateTime createTime;
+
+}

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

@@ -7,11 +7,14 @@ import com.yc.ship.framework.common.pojo.PageResult;
 import com.yc.ship.framework.common.util.collection.CollectionUtils;
 import com.yc.ship.framework.common.util.object.BeanUtils;
 import com.yc.ship.framework.excel.core.util.ExcelUtils;
+import com.yc.ship.module.product.controller.admin.pricearea.vo.PriceAreaRespVO;
 import com.yc.ship.module.product.controller.admin.pricetemplate.vo.*;
+import com.yc.ship.module.product.dal.dataobject.pricearea.PriceAreaDO;
 import com.yc.ship.module.product.dal.dataobject.pricefloor.PriceFloorDO;
 import com.yc.ship.module.product.dal.dataobject.priceroommodel.PriceRoomModelDO;
 import com.yc.ship.module.product.dal.dataobject.pricesinglesetting.PriceSingleSettingDO;
 import com.yc.ship.module.product.dal.dataobject.pricetemplate.PriceTemplateDO;
+import com.yc.ship.module.product.service.pricearea.PriceAreaService;
 import com.yc.ship.module.product.service.pricefloor.PriceFloorService;
 import com.yc.ship.module.product.service.priceroommodel.PriceRoomModelService;
 import com.yc.ship.module.product.service.pricesinglesetting.PriceSingleSettingService;
@@ -53,6 +56,9 @@ public class PriceTemplateController {
     @Resource
     private PriceSingleSettingService priceSingleSettingService;
 
+    @Resource
+    private PriceAreaService priceAreaService;
+
     @Resource
     private ShipApi shipApi;
 
@@ -93,6 +99,8 @@ public class PriceTemplateController {
         respVO.setRoomModelList(BeanUtils.toBean(roomModelDOList, PriceRoomModelRespVO.class));
         List<PriceFloorDO> floorDOList = priceFloorService.getListByObjectId(id);
         respVO.setFloorList(BeanUtils.toBean(floorDOList, PriceFloorRespVO.class));
+        List<PriceAreaDO> areaList = priceAreaService.getListByObjectId(id);
+        respVO.setAreaList(BeanUtils.toBean(areaList, PriceAreaRespVO.class));
         return success(respVO);
     }
 

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

@@ -0,0 +1,19 @@
+package com.yc.ship.module.product.controller.admin.pricetemplate.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class PriceCountryRespVO {
+
+    @Schema(description = "国家ID", example = "1")
+    private Integer countryId;
+
+
+    @Schema(description = "价格", example = "100")
+    private BigDecimal price;
+
+
+}

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

@@ -4,6 +4,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
 import com.alibaba.excel.annotation.ExcelProperty;
 import com.yc.ship.framework.excel.core.annotations.DictFormat;
 import com.yc.ship.framework.excel.core.convert.DictConvert;
+import com.yc.ship.module.product.controller.admin.pricearea.vo.PriceAreaRespVO;
 import com.yc.ship.module.product.dal.dataobject.pricefloor.PriceFloorDO;
 import com.yc.ship.module.product.dal.dataobject.priceroommodel.PriceRoomModelDO;
 import com.yc.ship.module.product.dal.dataobject.pricesinglesetting.PriceSingleSettingDO;
@@ -64,4 +65,7 @@ public class PriceTemplateRespVO {
     @Schema(description = "单房型价格系数")
     private PriceSingleSettingRespVO singleSetting;
 
+    @Schema(description = "区域加价设置")
+    private List<PriceAreaRespVO> areaList;
+
 }

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

@@ -1,5 +1,7 @@
 package com.yc.ship.module.product.controller.admin.pricetemplate.vo;
 
+import com.yc.ship.module.product.controller.admin.pricearea.vo.PriceAreaRespVO;
+import com.yc.ship.module.product.dal.dataobject.pricearea.PriceAreaDO;
 import com.yc.ship.module.product.dal.dataobject.pricefloor.PriceFloorDO;
 import com.yc.ship.module.product.dal.dataobject.priceroommodel.PriceRoomModelDO;
 import com.yc.ship.module.product.dal.dataobject.pricesinglesetting.PriceSingleSettingDO;
@@ -45,4 +47,7 @@ public class PriceTemplateSaveReqVO {
     @Schema(description = "单房型价格系数")
     private PriceSingleSettingDO singleSetting;
 
+    @Schema(description = "区域加价设置")
+    private List<PriceAreaDO> areaList;
+
 }

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

@@ -8,18 +8,22 @@ import com.yc.ship.framework.common.pojo.PageResult;
 import com.yc.ship.framework.common.util.collection.CollectionUtils;
 import com.yc.ship.framework.common.util.object.BeanUtils;
 import com.yc.ship.framework.excel.core.util.ExcelUtils;
+import com.yc.ship.module.product.controller.admin.pricearea.vo.PriceAreaRespVO;
+import com.yc.ship.module.product.controller.admin.pricetemplate.vo.PriceCountryRespVO;
 import com.yc.ship.module.product.controller.admin.pricetemplate.vo.PriceFloorRespVO;
 import com.yc.ship.module.product.controller.admin.pricetemplate.vo.PriceRoomModelRespVO;
 import com.yc.ship.module.product.controller.admin.pricetemplate.vo.PriceSingleSettingRespVO;
 import com.yc.ship.module.product.controller.admin.pricevoyage.vo.PriceVoyagePageReqVO;
 import com.yc.ship.module.product.controller.admin.pricevoyage.vo.PriceVoyageRespVO;
 import com.yc.ship.module.product.controller.admin.pricevoyage.vo.PriceVoyageSaveReqVO;
+import com.yc.ship.module.product.dal.dataobject.pricearea.PriceAreaDO;
 import com.yc.ship.module.product.dal.dataobject.pricefloor.PriceFloorDO;
 import com.yc.ship.module.product.dal.dataobject.priceroommodel.PriceRoomModelDO;
 import com.yc.ship.module.product.dal.dataobject.pricesinglesetting.PriceSingleSettingDO;
 import com.yc.ship.module.product.dal.dataobject.pricevoyage.PriceVoyageDO;
 import com.yc.ship.module.product.dal.dataobject.voyage.VoyageDO;
 import com.yc.ship.module.product.enums.ErrorCodeConstants;
+import com.yc.ship.module.product.service.pricearea.PriceAreaService;
 import com.yc.ship.module.product.service.pricefloor.PriceFloorService;
 import com.yc.ship.module.product.service.priceroommodel.PriceRoomModelService;
 import com.yc.ship.module.product.service.pricesinglesetting.PriceSingleSettingService;
@@ -69,6 +73,9 @@ public class PriceVoyageController {
     @Resource
     private VoyageService voyageService;
 
+    @Resource
+    private PriceAreaService priceAreaService;
+
     @Resource
     private ShipApi shipApi;
 
@@ -113,6 +120,8 @@ public class PriceVoyageController {
         respVO.setRoomModelList(BeanUtils.toBean(roomModelDOList, PriceRoomModelRespVO.class));
         List<PriceFloorDO> floorDOList = priceFloorService.getListByObjectId(id);
         respVO.setFloorList(BeanUtils.toBean(floorDOList, PriceFloorRespVO.class));
+        List<PriceAreaDO> areaList = priceAreaService.getListByObjectId(id);
+        respVO.setAreaList(BeanUtils.toBean(areaList, PriceAreaRespVO.class));
         return success(respVO);
     }
 
@@ -131,6 +140,10 @@ public class PriceVoyageController {
         respVO.setRoomModelList(BeanUtils.toBean(roomModelDOList, PriceRoomModelRespVO.class));
         List<PriceFloorDO> floorDOList = priceFloorService.getListByObjectId(id);
         respVO.setFloorList(BeanUtils.toBean(floorDOList, PriceFloorRespVO.class));
+        List<PriceAreaDO> areaList = priceAreaService.getListByObjectId(id);
+        respVO.setAreaList(BeanUtils.toBean(areaList, PriceAreaRespVO.class));
+        List<PriceCountryRespVO> countryList = priceAreaService.getCountryPriceByObjectId(id);
+        respVO.setCountryList(countryList);
         return success(respVO);
     }
 

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

@@ -4,6 +4,8 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
 import com.alibaba.excel.annotation.ExcelProperty;
 import com.yc.ship.framework.excel.core.annotations.DictFormat;
 import com.yc.ship.framework.excel.core.convert.DictConvert;
+import com.yc.ship.module.product.controller.admin.pricearea.vo.PriceAreaRespVO;
+import com.yc.ship.module.product.controller.admin.pricetemplate.vo.PriceCountryRespVO;
 import com.yc.ship.module.product.controller.admin.pricetemplate.vo.PriceFloorRespVO;
 import com.yc.ship.module.product.controller.admin.pricetemplate.vo.PriceRoomModelRespVO;
 import com.yc.ship.module.product.controller.admin.pricetemplate.vo.PriceSingleSettingRespVO;
@@ -80,4 +82,10 @@ public class PriceVoyageRespVO {
     @Schema(description = "单房型价格系数")
     private PriceSingleSettingRespVO singleSetting;
 
+    @Schema(description = "区域价格")
+    private List<PriceAreaRespVO> areaList;
+
+    @Schema(description = "国家价格")
+    private List<PriceCountryRespVO> countryList;
+
 }

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

@@ -1,5 +1,7 @@
 package com.yc.ship.module.product.controller.admin.pricevoyage.vo;
 
+import com.yc.ship.module.product.controller.admin.pricearea.vo.PriceAreaRespVO;
+import com.yc.ship.module.product.dal.dataobject.pricearea.PriceAreaDO;
 import com.yc.ship.module.product.dal.dataobject.pricefloor.PriceFloorDO;
 import com.yc.ship.module.product.dal.dataobject.priceroommodel.PriceRoomModelDO;
 import com.yc.ship.module.product.dal.dataobject.pricesinglesetting.PriceSingleSettingDO;
@@ -51,4 +53,7 @@ public class PriceVoyageSaveReqVO {
     @Schema(description = "单房型价格系数")
     private PriceSingleSettingDO singleSetting;
 
+    @Schema(description = "区域价格")
+    private List<PriceAreaDO> areaList;
+
 }

+ 49 - 0
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/dal/dataobject/pricearea/PriceAreaDO.java

@@ -0,0 +1,49 @@
+package com.yc.ship.module.product.dal.dataobject.pricearea;
+
+import com.yc.ship.framework.tenant.core.db.TenantBaseDO;
+import lombok.*;
+import java.util.*;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.*;
+import com.yc.ship.framework.mybatis.core.dataobject.BaseDO;
+
+/**
+ * 区域加价设置 DO
+ *
+ * @author 管理员
+ */
+@TableName("product_price_area")
+@KeySequence("product_price_area_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class PriceAreaDO extends TenantBaseDO {
+
+    /**
+     * ID
+     */
+    @TableId(type = IdType.ASSIGN_ID)
+    private Long id;
+    /**
+     * 价格模板ID或者船票价格ID
+     */
+    private Long objectId;
+    /**
+     * 区域ID
+     */
+    private Long areaId;
+    /**
+     * 区域名称
+     */
+    private String areaName;
+    /**
+     * 价格
+     */
+    private BigDecimal price;
+
+}

+ 32 - 0
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/dal/mysql/pricearea/PriceAreaMapper.java

@@ -0,0 +1,32 @@
+package com.yc.ship.module.product.dal.mysql.pricearea;
+
+import com.yc.ship.framework.mybatis.core.mapper.BaseMapperX;
+import com.yc.ship.framework.mybatis.core.query.LambdaQueryWrapperX;
+import com.yc.ship.module.product.controller.admin.pricetemplate.vo.PriceCountryRespVO;
+import com.yc.ship.module.product.dal.dataobject.pricearea.PriceAreaDO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+/**
+ * 区域加价设置 Mapper
+ *
+ * @author 管理员
+ */
+@Mapper
+public interface PriceAreaMapper extends BaseMapperX<PriceAreaDO> {
+
+
+    default void deleteByObjectId(Long objectId) {
+        delete(new LambdaQueryWrapperX<PriceAreaDO>().eq(PriceAreaDO::getObjectId, objectId));
+    }
+
+    default List<PriceAreaDO> selectListByObjectId(Long id) {
+        return selectList(new LambdaQueryWrapperX<PriceAreaDO>().eq(PriceAreaDO::getObjectId, id));
+    }
+
+    @Select("select t1.price, t2.country_id from product_price_area t1 LEFT JOIN system_area_country t2 on t1.area_id = t2.area_id\n" +
+            "where t1.object_id = #{id} and t1.deleted = 0 and t2.deleted = 0")
+    List<PriceCountryRespVO> selectCountryPriceByObjectId(Long id);
+}

+ 19 - 0
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/service/pricearea/PriceAreaService.java

@@ -0,0 +1,19 @@
+package com.yc.ship.module.product.service.pricearea;
+
+import com.yc.ship.module.product.controller.admin.pricearea.vo.PriceAreaRespVO;
+import com.yc.ship.module.product.controller.admin.pricetemplate.vo.PriceCountryRespVO;
+import com.yc.ship.module.product.dal.dataobject.pricearea.PriceAreaDO;
+
+import java.util.List;
+
+/**
+ * 区域加价设置 Service 接口
+ *
+ * @author 管理员
+ */
+public interface PriceAreaService {
+
+
+    List<PriceAreaDO> getListByObjectId(Long id);
+    List<PriceCountryRespVO> getCountryPriceByObjectId(Long id);
+}

+ 36 - 0
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/service/pricearea/PriceAreaServiceImpl.java

@@ -0,0 +1,36 @@
+package com.yc.ship.module.product.service.pricearea;
+
+import com.yc.ship.module.product.controller.admin.pricearea.vo.PriceAreaRespVO;
+import com.yc.ship.module.product.controller.admin.pricetemplate.vo.PriceCountryRespVO;
+import com.yc.ship.module.product.dal.dataobject.pricearea.PriceAreaDO;
+import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
+import org.springframework.validation.annotation.Validated;
+
+import com.yc.ship.module.product.dal.mysql.pricearea.PriceAreaMapper;
+
+import java.util.List;
+
+/**
+ * 区域加价设置 Service 实现类
+ *
+ * @author 管理员
+ */
+@Service
+@Validated
+public class PriceAreaServiceImpl implements PriceAreaService {
+
+    @Resource
+    private PriceAreaMapper priceAreaMapper;
+
+
+    @Override
+    public List<PriceAreaDO> getListByObjectId(Long id) {
+        return priceAreaMapper.selectListByObjectId(id);
+    }
+
+    @Override
+    public List<PriceCountryRespVO> getCountryPriceByObjectId(Long id) {
+        return priceAreaMapper.selectCountryPriceByObjectId(id);
+    }
+}

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

@@ -5,10 +5,12 @@ import com.yc.ship.framework.common.util.object.BeanUtils;
 import com.yc.ship.module.product.controller.admin.pricetemplate.vo.PriceTemplatePageReqVO;
 import com.yc.ship.module.product.controller.admin.pricetemplate.vo.PriceTemplateReqVO;
 import com.yc.ship.module.product.controller.admin.pricetemplate.vo.PriceTemplateSaveReqVO;
+import com.yc.ship.module.product.dal.dataobject.pricearea.PriceAreaDO;
 import com.yc.ship.module.product.dal.dataobject.pricefloor.PriceFloorDO;
 import com.yc.ship.module.product.dal.dataobject.priceroommodel.PriceRoomModelDO;
 import com.yc.ship.module.product.dal.dataobject.pricesinglesetting.PriceSingleSettingDO;
 import com.yc.ship.module.product.dal.dataobject.pricetemplate.PriceTemplateDO;
+import com.yc.ship.module.product.dal.mysql.pricearea.PriceAreaMapper;
 import com.yc.ship.module.product.dal.mysql.pricefloor.PriceFloorMapper;
 import com.yc.ship.module.product.dal.mysql.priceroommodel.PriceRoomModelMapper;
 import com.yc.ship.module.product.dal.mysql.pricesinglesetting.PriceSingleSettingMapper;
@@ -44,6 +46,9 @@ public class PriceTemplateServiceImpl implements PriceTemplateService {
     @Resource
     private PriceSingleSettingMapper priceSingleSettingMapper;
 
+    @Resource
+    private PriceAreaMapper priceAreaMapper;
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Long createPriceTemplate(PriceTemplateSaveReqVO createReqVO) {
@@ -118,12 +123,21 @@ public class PriceTemplateServiceImpl implements PriceTemplateService {
         PriceSingleSettingDO singleSetting = vo.getSingleSetting();
         singleSetting.setObjectId(objectId);
         priceSingleSettingMapper.insert(singleSetting);
+
+        //插入区域加价
+        List<PriceAreaDO> areaList = vo.getAreaList();
+        areaList.stream().forEach(area -> {
+            area.setObjectId(objectId);
+        });
+        priceAreaMapper.insertBatch(areaList);
+
     }
 
     private void deleteRelation(Long objectId) {
         priceRoomModelMapper.deleteByObjectId(objectId);
         priceFloorMapper.deleteByObjectId(objectId);
         priceSingleSettingMapper.deleteByObjectId(objectId);
+        priceAreaMapper.deleteByObjectId(objectId);
     }
 
 }

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

@@ -4,10 +4,12 @@ import com.yc.ship.framework.common.pojo.PageResult;
 import com.yc.ship.framework.common.util.object.BeanUtils;
 import com.yc.ship.module.product.controller.admin.pricevoyage.vo.PriceVoyagePageReqVO;
 import com.yc.ship.module.product.controller.admin.pricevoyage.vo.PriceVoyageSaveReqVO;
+import com.yc.ship.module.product.dal.dataobject.pricearea.PriceAreaDO;
 import com.yc.ship.module.product.dal.dataobject.pricefloor.PriceFloorDO;
 import com.yc.ship.module.product.dal.dataobject.priceroommodel.PriceRoomModelDO;
 import com.yc.ship.module.product.dal.dataobject.pricesinglesetting.PriceSingleSettingDO;
 import com.yc.ship.module.product.dal.dataobject.pricevoyage.PriceVoyageDO;
+import com.yc.ship.module.product.dal.mysql.pricearea.PriceAreaMapper;
 import com.yc.ship.module.product.dal.mysql.pricefloor.PriceFloorMapper;
 import com.yc.ship.module.product.dal.mysql.priceroommodel.PriceRoomModelMapper;
 import com.yc.ship.module.product.dal.mysql.pricesinglesetting.PriceSingleSettingMapper;
@@ -43,6 +45,9 @@ public class PriceVoyageServiceImpl implements PriceVoyageService {
     @Resource
     private PriceSingleSettingMapper priceSingleSettingMapper;
 
+    @Resource
+    private PriceAreaMapper priceAreaMapper;
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Long createPriceVoyage(PriceVoyageSaveReqVO createReqVO) {
@@ -120,12 +125,20 @@ public class PriceVoyageServiceImpl implements PriceVoyageService {
         PriceSingleSettingDO singleSetting = vo.getSingleSetting();
         singleSetting.setObjectId(objectId);
         priceSingleSettingMapper.insert(singleSetting);
+
+        //插入区域加价
+        List<PriceAreaDO> areaList = vo.getAreaList();
+        areaList.stream().forEach(area -> {
+            area.setObjectId(objectId);
+        });
+        priceAreaMapper.insertBatch(areaList);
     }
 
     private void deleteRelation(Long objectId) {
         priceRoomModelMapper.deleteByObjectId(objectId);
         priceFloorMapper.deleteByObjectId(objectId);
         priceSingleSettingMapper.deleteByObjectId(objectId);
+        priceAreaMapper.deleteByObjectId(objectId);
     }
 
 }

+ 2 - 0
ship-server-web/src/main/resources/application.yaml

@@ -309,6 +309,8 @@ yudao:
       - system_sequence_number
       - product_supplier_category
       - distributor_discount
+      - system_area
+      - system_area_country
     ignore-caches:
       - user_role_ids
       - permission_menu_ids