Quellcode durchsuchen

Merge branch 'main' of http://git.wisesoft.net.cn/lishiqiang/ship-ota-server

lishiqiang vor 1 Monat
Ursprung
Commit
2e6c9d3d77
32 geänderte Dateien mit 237 neuen und 75 gelöschten Zeilen
  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
  20. 6 0
      ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/controller/admin/roommodel/vo/ResourceRoomModelRespVO.java
  21. 7 1
      ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/controller/admin/roommodel/vo/ResourceRoomModelSaveReqVO.java
  22. 3 0
      ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/controller/admin/route/vo/ResourceRouteRespVO.java
  23. 3 0
      ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/controller/admin/route/vo/ResourceRouteSaveReqVO.java
  24. 3 0
      ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/controller/admin/ship/vo/ResourceShipRespVO.java
  25. 3 0
      ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/controller/admin/ship/vo/ResourceShipSaveReqVO.java
  26. 74 0
      ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/controller/app/scenic/AppResourceScenicController.java
  27. 10 0
      ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/controller/app/scenic/vo/AppResourceScenicRespVO.java
  28. 5 4
      ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/controller/app/ship/AppResourceShipController.java
  29. 2 1
      ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/controller/app/ship/vo/AppResourceShipRespVo.java
  30. 6 0
      ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/dal/dataobject/roommodel/ResourceRoomModelDO.java
  31. 6 0
      ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/dal/dataobject/route/ResourceRouteDO.java
  32. 5 0
      ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/dal/dataobject/ship/ResourceShipDO.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));

+ 6 - 0
ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/controller/admin/roommodel/vo/ResourceRoomModelRespVO.java

@@ -124,6 +124,12 @@ public class ResourceRoomModelRespVO {
     @Schema(description = "可加儿童数(和成人二选一)")
     private Integer addChildNum;
 
+    /**
+     * 可加人数
+     */
+    @Schema(description = "可加人数,成人和儿童最多可加人数")
+    private Integer addNum;
+
     public void setFloorsNumStr(String floorsNum) {
         String[] split = floorsNum.split(",");
         this.floorsNumStr = Arrays.stream(split).map(element -> element + "F").collect(Collectors.joining( ","));

+ 7 - 1
ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/controller/admin/roommodel/vo/ResourceRoomModelSaveReqVO.java

@@ -44,7 +44,7 @@ public class ResourceRoomModelSaveReqVO {
     @Schema(description = "成本价(元/晚)", example = "1742")
     private BigDecimal price;
 
-    @Schema(description = "是否房")
+    @Schema(description = "是否允许拼房")
     private Integer suite;
 
     @Schema(description = "房型介绍")
@@ -81,4 +81,10 @@ public class ResourceRoomModelSaveReqVO {
     @Schema(description = "可加儿童数(和成人二选一)")
     private Integer addChildNum;
 
+    /**
+     * 可加人数
+     */
+    @Schema(description = "可加人数,成人和儿童最多可加人数")
+    private Integer addNum;
+
 }

+ 3 - 0
ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/controller/admin/route/vo/ResourceRouteRespVO.java

@@ -91,4 +91,7 @@ public class ResourceRouteRespVO {
     @Schema(description = "航线图片")
     private String routeImg;
 
+    @Schema(description = "航线详情")
+    private String routeDetail;
+
 }

+ 3 - 0
ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/controller/admin/route/vo/ResourceRouteSaveReqVO.java

@@ -64,4 +64,7 @@ public class ResourceRouteSaveReqVO {
 
     @Schema(description = "航线图片")
     private String routeImg;
+
+    @Schema(description = "航线详情")
+    private String routeDetail;
 }

+ 3 - 0
ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/controller/admin/ship/vo/ResourceShipRespVO.java

@@ -22,6 +22,9 @@ public class ResourceShipRespVO {
     @ExcelProperty("游轮名称")
     private String name;
 
+    @Schema(description = "游轮简称")
+    private String shortName;
+
     @Schema(description = "游轮编码")
     @ExcelProperty("游轮编码")
     private String code;

+ 3 - 0
ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/controller/admin/ship/vo/ResourceShipSaveReqVO.java

@@ -15,6 +15,9 @@ public class ResourceShipSaveReqVO {
     @Schema(description = "游轮名称", example = "王五")
     private String name;
 
+    @Schema(description = "游轮简称", example = "王五")
+    private String shortName;
+
     @Schema(description = "游轮编码")
     private String code;
 

+ 74 - 0
ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/controller/app/scenic/AppResourceScenicController.java

@@ -0,0 +1,74 @@
+package com.yc.ship.module.resource.controller.app.scenic;
+
+import com.yc.ship.framework.common.enums.CommonStatusEnum;
+import com.yc.ship.framework.common.pojo.CommonResult;
+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.ip.core.utils.AreaUtils;
+import com.yc.ship.module.resource.controller.admin.scenic.vo.ResourceScenicPageReqVO;
+import com.yc.ship.module.resource.controller.app.scenic.vo.AppResourceScenicRespVO;
+import com.yc.ship.module.resource.dal.dataobject.dock.ResourceDockDO;
+import com.yc.ship.module.resource.dal.dataobject.scenic.ResourceScenicDO;
+import com.yc.ship.module.resource.service.dock.ResourceDockService;
+import com.yc.ship.module.resource.service.scenic.ResourceScenicService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+import java.util.List;
+import java.util.Map;
+
+import static com.yc.ship.framework.common.pojo.CommonResult.success;
+
+@Tag(name = "景区 APP - 景区接口")
+@RestController
+@RequestMapping("/resource/scenic")
+@Validated
+public class AppResourceScenicController {
+    @Resource
+    private ResourceScenicService scenicService;
+
+    @Resource
+    private ResourceDockService dockService;
+    @GetMapping("/page")
+    @Operation(summary = "获得景区管理分页")
+    public CommonResult<PageResult<AppResourceScenicRespVO>> getScenicPage(@Valid ResourceScenicPageReqVO pageReqVO) {
+        pageReqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
+        PageResult<ResourceScenicDO> pageResult = scenicService.getScenicPage(pageReqVO);
+        PageResult<AppResourceScenicRespVO> page = BeanUtils.toBean(pageResult, AppResourceScenicRespVO.class);
+        List<AppResourceScenicRespVO> list = page.getList();
+        List<Long> dockIds = CollectionUtils.convertList(list, AppResourceScenicRespVO::getDockId);
+        List<ResourceDockDO> dockList = dockService.getList(dockIds);
+        Map<Long, ResourceDockDO> longResourceDockDOMap = CollectionUtils.convertMap(dockList, ResourceDockDO::getId);
+        list.stream().forEach(item -> {
+            item.setDockName(longResourceDockDOMap.get(item.getDockId()).getName());
+            if(item.getCountyId() != null) {
+                String area = AreaUtils.format(item.getCountyId());
+                item.setArea(area);
+            }else if(item.getCityId() != null) {
+                String area = AreaUtils.format(item.getCityId());
+                item.setArea(area);
+            }else if(item.getProvinceId() != null) {
+                String area = AreaUtils.format(item.getProvinceId());
+                item.setArea(area);
+            }
+        });
+        return success(page);
+    }
+
+    @GetMapping("/get")
+    @Operation(summary = "获得景区详情")
+    @Parameter(name = "id", description = "编号", required = true, example = "1024")
+    public CommonResult<AppResourceScenicRespVO> getScenic(@RequestParam("id") Long id) {
+        ResourceScenicDO scenic = scenicService.getScenic(id);
+        return success(BeanUtils.toBean(scenic, AppResourceScenicRespVO.class));
+    }
+}

+ 10 - 0
ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/controller/app/scenic/vo/AppResourceScenicRespVO.java

@@ -0,0 +1,10 @@
+package com.yc.ship.module.resource.controller.app.scenic.vo;
+
+import com.yc.ship.module.resource.controller.admin.scenic.vo.ResourceScenicRespVO;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Schema(description = "景区APP - 景区 Response VO")
+@Data
+public class AppResourceScenicRespVO extends ResourceScenicRespVO {
+}

+ 5 - 4
ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/controller/app/ship/AppResourceShipController.java

@@ -3,6 +3,7 @@ package com.yc.ship.module.resource.controller.app.ship;
 import com.yc.ship.framework.common.pojo.CommonResult;
 import com.yc.ship.framework.common.util.object.BeanUtils;
 import com.yc.ship.module.resource.controller.admin.ship.vo.ResourceShipRespVO;
+import com.yc.ship.module.resource.controller.app.ship.vo.AppResourceShipRespVO;
 import com.yc.ship.module.resource.dal.dataobject.ship.ResourceShipDO;
 import com.yc.ship.module.resource.service.ship.ResourceShipService;
 import io.swagger.v3.oas.annotations.Operation;
@@ -28,16 +29,16 @@ public class AppResourceShipController {
 
     @GetMapping("/list-simple")
     @Operation(summary = "获取游轮列表(下拉筛选用)")
-    public CommonResult<List<ResourceShipRespVO>> getShipListSimple() {
+    public CommonResult<List<AppResourceShipRespVO>> getShipListSimple() {
         List<ResourceShipDO> list = shipService.getListSimple();
-        return success(BeanUtils.toBean(list, ResourceShipRespVO.class));
+        return success(BeanUtils.toBean(list, AppResourceShipRespVO.class));
     }
 
     @GetMapping("/detail")
     @Operation(summary = "获取游轮详情")
-    public CommonResult<ResourceShipRespVO> getShipDetail(Long id) {
+    public CommonResult<AppResourceShipRespVO> getShipDetail(Long id) {
         ResourceShipDO ship = shipService.getShip(id);
-        return success(BeanUtils.toBean(ship, ResourceShipRespVO.class));
+        return success(BeanUtils.toBean(ship, AppResourceShipRespVO.class));
     }
 
 }

+ 2 - 1
ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/controller/app/ship/vo/AppResourceShipRespVo.java

@@ -1,9 +1,10 @@
 package com.yc.ship.module.resource.controller.app.ship.vo;
 
+import com.yc.ship.module.resource.controller.admin.ship.vo.ResourceShipRespVO;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
 @Schema(description = "APP 游轮 - 游轮 Response VO")
 @Data
-public class AppResourceShipRespVo {
+public class AppResourceShipRespVO extends ResourceShipRespVO {
 }

+ 6 - 0
ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/dal/dataobject/roommodel/ResourceRoomModelDO.java

@@ -1,6 +1,7 @@
 package com.yc.ship.module.resource.dal.dataobject.roommodel;
 
 import com.yc.ship.framework.tenant.core.db.TenantBaseDO;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 import java.util.*;
 import java.math.BigDecimal;
@@ -109,4 +110,9 @@ public class ResourceRoomModelDO extends TenantBaseDO {
      */
     private Integer addChildNum;
 
+    /**
+     * 可加人数
+     */
+    private Integer addNum;
+
 }

+ 6 - 0
ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/dal/dataobject/route/ResourceRouteDO.java

@@ -1,5 +1,6 @@
 package com.yc.ship.module.resource.dal.dataobject.route;
 
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 import java.util.*;
 import java.time.LocalDateTime;
@@ -103,4 +104,9 @@ public class ResourceRouteDO extends BaseDO {
      */
     private String routeImg;
 
+    /**
+     * 航线详情
+     */
+    private String routeDetail;
+
 }

+ 5 - 0
ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/dal/dataobject/ship/ResourceShipDO.java

@@ -32,6 +32,11 @@ public class ResourceShipDO extends TenantBaseDO {
      * 游轮名称
      */
     private String name;
+
+    /**
+     * 游轮简称
+     */
+    private String shortName;
     /**
      * 游轮编码
      */