Parcourir la source

fix: 房型和房间添加可售卖字段,处理内舱房问题,修改其他关联使用到的地方

luofeiyun il y a 1 semaine
Parent
commit
29e6f73a18
18 fichiers modifiés avec 82 ajouts et 2 suppressions
  1. 3 0
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/app/voyage/AppVoyageController.java
  2. 4 0
      ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/app/voyage/vo/AppPriceVoyageRespVO.java
  3. 3 0
      ship-module-product/ship-module-product-biz/src/main/resources/mapper/pricevoyage/PriceVoyageMapper.xml
  4. 4 0
      ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/controller/admin/room/vo/ResourceRoomBatchSaveReqVO.java
  5. 3 0
      ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/controller/admin/room/vo/ResourceRoomPageReqVO.java
  6. 3 0
      ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/controller/admin/room/vo/ResourceRoomRespVO.java
  7. 3 0
      ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/controller/admin/room/vo/ResourceRoomSaveReqVO.java
  8. 8 0
      ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/controller/admin/roommodel/ResourceRoomModelController.java
  9. 3 0
      ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/controller/admin/roommodel/vo/ResourceRoomModelPageReqVO.java
  10. 5 0
      ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/controller/admin/roommodel/vo/ResourceRoomModelRespVO.java
  11. 4 0
      ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/controller/admin/roommodel/vo/ResourceRoomModelSaveReqVO.java
  12. 7 0
      ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/dal/dataobject/room/ResourceRoomDO.java
  13. 7 0
      ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/dal/dataobject/roommodel/ResourceRoomModelDO.java
  14. 1 1
      ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/dal/mysql/room/ResourceRoomMapper.java
  15. 11 1
      ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/dal/mysql/roommodel/ResourceRoomModelMapper.java
  16. 1 0
      ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/service/room/ResourceRoomServiceImpl.java
  17. 7 0
      ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/service/roommodel/ResourceRoomModelService.java
  18. 5 0
      ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/service/roommodel/ResourceRoomModelServiceImpl.java

+ 3 - 0
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/app/voyage/AppVoyageController.java

@@ -199,6 +199,9 @@ public class AppVoyageController {
         //附加产品
         List<PriceSpuRespVO> spuList = priceSpuService.getListByObjectId(id);
         respVO.setSpuList(spuList);
+        VoyageDO voyage = voyageService.getVoyage(voyageId);
+        VoyageRespVO voyageRespVO = BeanUtils.toBean(voyage, VoyageRespVO.class);
+        respVO.setVoyage(voyageRespVO);
         return success(respVO);
     }
 

+ 4 - 0
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/app/voyage/vo/AppPriceVoyageRespVO.java

@@ -5,6 +5,7 @@ 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.pricetemplate.vo.*;
+import com.yc.ship.module.product.controller.admin.voyage.vo.VoyageRespVO;
 import com.yc.ship.module.resource.controller.admin.roommodel.vo.ResourceRoomModelRespVO;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
@@ -80,6 +81,9 @@ public class AppPriceVoyageRespVO {
 
     private ResourceRoomModelRespVO roomModel;
 
+    @Schema(description = "航次详情")
+    private VoyageRespVO voyage;
+
     @Schema(description = "楼层价格系数")
     private List<PriceFloorRespVO> floorList;
 

+ 3 - 0
ship-module-product/ship-module-product-biz/src/main/resources/mapper/pricevoyage/PriceVoyageMapper.xml

@@ -19,6 +19,7 @@
             product_voyage t1
             LEFT JOIN product_price_voyage t2 ON t1.id = t2.voyage_id
             LEFT JOIN product_price_room_model t3 ON t2.id = t3.object_id
+        LEFT JOIN resource_room_model t4 on t3.room_model_id = t4.id
         WHERE
             t1.deleted = 0
           AND t2.deleted = 0
@@ -27,6 +28,7 @@
           AND t1.route_id = #{reqVO.routeId}
         and t1.start_time > now()
         and t1.channel like '%2%'
+        and t4.can_sale = 1
         <if test="reqVO.startDate != null and reqVO.startDate != ''">
             AND t1.start_time >= #{reqVO.startDate}
         </if>
@@ -50,6 +52,7 @@
             EXISTS (SELECT id FROM product_price_voyage WHERE voyage_id = #{voyageId} and t1.object_id= id AND deleted = 0 )
           AND t1.deleted = 0
           AND t2.deleted = 0
+        and t2.can_sale = 1
         ORDER BY
             t1.price ASC
     </select>

+ 4 - 0
ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/controller/admin/room/vo/ResourceRoomBatchSaveReqVO.java

@@ -36,4 +36,8 @@ public class ResourceRoomBatchSaveReqVO {
     @NotNull(message = "状态不能为空")
     private Integer status;
 
+    @Schema(description = "是否可售", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
+    @NotNull(message = "是否可售不能为空")
+    private Integer canSale;
+
 }

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

@@ -30,4 +30,7 @@ public class ResourceRoomPageReqVO extends PageParam {
     @Schema(description = "状态", example = "1")
     private Integer status;
 
+    @Schema(description = "是否可售", example = "1")
+    private Integer canSale;
+
 }

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

@@ -65,4 +65,7 @@ public class ResourceRoomRespVO {
      */
     @Schema(description = "备注")
     private String remark;
+
+    @Schema(description = "是否可售",example = "1")
+    private Integer canSale;
 }

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

@@ -40,4 +40,7 @@ public class ResourceRoomSaveReqVO {
     @NotNull(message = "状态不能为空")
     private Integer status;
 
+    @Schema(description = "是否可售", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
+    private Integer canSale;
+
 }

+ 8 - 0
ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/controller/admin/roommodel/ResourceRoomModelController.java

@@ -128,4 +128,12 @@ public class ResourceRoomModelController {
         return success(list);
     }
 
+    @GetMapping("/getRoomModelCanSaleListByShipId")
+    @Operation(summary = "根据游轮ID获取可以销售的游轮房间管理")
+    public CommonResult<List<ResourceRoomModelRespVO>> getRoomModelCanSaleListByShipId(@RequestParam("shipId") String shipId) {
+        List<ResourceRoomModelDO> roomModelList = roomModelService.getRoomModelCanSaleListByShipId(shipId);
+        List<ResourceRoomModelRespVO> list = BeanUtils.toBean(roomModelList, ResourceRoomModelRespVO.class);
+        return success(list);
+    }
+
 }

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

@@ -38,4 +38,7 @@ public class ResourceRoomModelPageReqVO extends PageParam {
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime[] createTime;
 
+    @Schema(description = "是否可售")
+    private Integer canSale;
+
 }

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

@@ -148,6 +148,11 @@ public class ResourceRoomModelRespVO {
     @Schema(description = "最大入住儿童人数")
     private Integer maxChildNum;
 
+    @Schema(description = "是否可售")
+    private Integer canSale;
+
+
+
     public void setFloorsNumStr(String floorsNum) {
         String[] split = floorsNum.split(",");
         this.floorsNumStr = Arrays.stream(split).map(element -> element + "F").collect(Collectors.joining( ","));

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

@@ -105,4 +105,8 @@ public class ResourceRoomModelSaveReqVO {
     @Schema(description = "最大入住儿童人数")
     private Integer maxChildNum;
 
+    @Schema(description = "是否可售", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
+    @NotNull(message = "是否可售不能为空")
+    private Integer canSale;
+
 }

+ 7 - 0
ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/dal/dataobject/room/ResourceRoomDO.java

@@ -66,4 +66,11 @@ public class ResourceRoomDO extends BaseDO {
      */
     private Integer status;
 
+    /**
+     * 是否可售
+     *
+     * 枚举 {@link TODO common_status 对应的类}
+     */
+    private Integer canSale;
+
 }

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

@@ -130,4 +130,11 @@ public class ResourceRoomModelDO extends TenantBaseDO {
      */
     private Integer maxChildNum;
 
+    /**
+     * 是否可销售
+     *
+     * 枚举 {@link TODO infra_boolean_string 对应的类}
+     */
+    private Integer canSale;
+
 }

+ 1 - 1
ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/dal/mysql/room/ResourceRoomMapper.java

@@ -54,7 +54,7 @@ public interface ResourceRoomMapper extends BaseMapperX<ResourceRoomDO> {
         return list.stream().map(ResourceRoomDO::getRoomNum).map(String::valueOf).collect(Collectors.toList());
     }
 
-    @Select("select t1.room_model_id as roomModelId, t1.floors as floor, count(t1.id) as num, t2.name as room_model_name from resource_room t1 left JOIN resource_room_model t2 on t1.room_model_id = t2.id where t1.ship_id = #{shipId} group by t1.room_model_id, t1.floors")
+    @Select("select t1.room_model_id as roomModelId, t1.floors as floor, count(t1.id) as num, t2.name as room_model_name from resource_room t1 left JOIN resource_room_model t2 on t1.room_model_id = t2.id where t1.ship_id = #{shipId} and t2.can_sale = 1 group by t1.room_model_id, t1.floors")
     List<RoomModelFloorNumDTO> selectRoomModelFloorToNum(Long shipId);
 
 }

+ 11 - 1
ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/dal/mysql/roommodel/ResourceRoomModelMapper.java

@@ -5,7 +5,9 @@ import java.util.*;
 import com.yc.ship.framework.common.pojo.PageResult;
 import com.yc.ship.framework.mybatis.core.query.LambdaQueryWrapperX;
 import com.yc.ship.framework.mybatis.core.mapper.BaseMapperX;
+import com.yc.ship.module.product.enums.YesOrNoEnum;
 import com.yc.ship.module.resource.dal.dataobject.roommodel.ResourceRoomModelDO;
+import com.yc.ship.module.resource.enums.CommonStatusEnum;
 import org.apache.ibatis.annotations.Mapper;
 import com.yc.ship.module.resource.controller.admin.roommodel.vo.*;
 
@@ -30,6 +32,14 @@ public interface ResourceRoomModelMapper extends BaseMapperX<ResourceRoomModelDO
 
     default List<ResourceRoomModelDO> selectListByShipId(String shipId) {
         return selectList(new LambdaQueryWrapperX<ResourceRoomModelDO>()
-                .eqIfPresent(ResourceRoomModelDO::getShipId, shipId));
+                .eqIfPresent(ResourceRoomModelDO::getShipId, shipId)
+                .eq(ResourceRoomModelDO::getStatus, CommonStatusEnum.ENABLE.getStatus()));
+    }
+
+    default List<ResourceRoomModelDO> selectRoomModelCanSaleListByShipId(String shipId) {
+        return selectList(new LambdaQueryWrapperX<ResourceRoomModelDO>()
+                .eqIfPresent(ResourceRoomModelDO::getShipId, shipId)
+                .eq(ResourceRoomModelDO::getStatus, CommonStatusEnum.ENABLE.getStatus())
+                .eq(ResourceRoomModelDO::getCanSale, YesOrNoEnum.YES.getType()));
     }
 }

+ 1 - 0
ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/service/room/ResourceRoomServiceImpl.java

@@ -139,6 +139,7 @@ public class ResourceRoomServiceImpl implements ResourceRoomService {
                     .floors(createReqVO.getFloors())
                     .brief(createReqVO.getBrief())
                     .status(createReqVO.getStatus())
+                    .canSale(createReqVO.getCanSale())
                     .build();
             list.add(room);
         });

+ 7 - 0
ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/service/roommodel/ResourceRoomModelService.java

@@ -60,4 +60,11 @@ public interface ResourceRoomModelService {
     List<ResourceRoomModelDO> getRoomModelListByShipId(String shipId);
 
     List<ResourceRoomModelDO> getList(List<Long> modelIds);
+
+    /**
+     * 获取可以销售的房型列表
+     * @param shipId
+     * @return
+     */
+    List<ResourceRoomModelDO> getRoomModelCanSaleListByShipId(String shipId);
 }

+ 5 - 0
ship-module-resource/ship-module-resource-biz/src/main/java/com/yc/ship/module/resource/service/roommodel/ResourceRoomModelServiceImpl.java

@@ -115,4 +115,9 @@ public class ResourceRoomModelServiceImpl implements ResourceRoomModelService {
         return roomModelMapper.selectByIds(modelIds);
     }
 
+    @Override
+    public List<ResourceRoomModelDO> getRoomModelCanSaleListByShipId(String shipId) {
+        return roomModelMapper.selectRoomModelCanSaleListByShipId(shipId);
+    }
+
 }