Explorar el Código

feat: 添加分配库存新方式

luofeiyun hace 4 semanas
padre
commit
19565f33f0

+ 14 - 0
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/voyagestockdetail/VoyageStockDetailController.java

@@ -8,6 +8,8 @@ import com.yc.ship.module.product.dal.dataobject.voyagestockdetail.VoyageStockDe
 import com.yc.ship.module.product.enums.ProductStockStaticsName;
 import com.yc.ship.module.product.service.voyagestock.VoyageStockService;
 import com.yc.ship.module.product.service.voyagestockdetail.VoyageStockDetailService;
+import com.yc.ship.module.resource.dal.dataobject.roommodel.ResourceRoomModelDO;
+import com.yc.ship.module.resource.service.roommodel.ResourceRoomModelService;
 import org.springframework.web.bind.annotation.*;
 import javax.annotation.Resource;
 import org.springframework.validation.annotation.Validated;
@@ -41,6 +43,9 @@ public class VoyageStockDetailController {
     @Resource
     private VoyageStockService voyageStockService;
 
+    @Resource
+    private ResourceRoomModelService resourceRoomModelService;
+
     @PostMapping("/create")
     @Operation(summary = "创建航次库存")
     @PreAuthorize("@ss.hasPermission('product:voyage-stock-detail:create')")
@@ -173,4 +178,13 @@ public class VoyageStockDetailController {
         return success(map);
     }
 
+    @GetMapping("/getShelfedByVoyageId")
+    @Operation(summary = "获得已上架的航次库存")
+    @Parameter(name = "voyageId", description = "航次ID", required = true, example = "1024")
+    public CommonResult<List<VoyageStockDetailRespNewVO>> getShelfedByVoyageId(@RequestParam("voyageId") Long voyageId) {
+        List<VoyageStockDetailDO> list = voyageStockDetailService.getListByVoyageId(voyageId);
+        List<VoyageStockDetailRespNewVO> respList = BeanUtils.toBean(list, VoyageStockDetailRespNewVO.class);
+        return success(respList);
+    }
+
 }

+ 2 - 1
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/voyagestockdetail/vo/VoyageStockDetailRespNewVO.java

@@ -8,6 +8,7 @@ import lombok.Data;
 @Data
 public class VoyageStockDetailRespNewVO extends VoyageStockDetailDO {
 
-
+    @Schema(description = "房型名称")
+    private String roomModelName;
 
 }

+ 44 - 0
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/controller/admin/voyagestockdistributeNew/VoyageStockDistributeNewController.java

@@ -0,0 +1,44 @@
+package com.yc.ship.module.product.controller.admin.voyagestockdistributeNew;
+
+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.module.ota.api.OtaDistributorApi;
+import com.yc.ship.module.product.controller.admin.voyagestockdistribute.vo.*;
+import com.yc.ship.module.product.dal.dataobject.voyagestockdistribute.VoyageStockDistributeDO;
+import com.yc.ship.module.product.service.voyagestockdistribute.VoyageStockDistributeService;
+import com.yc.ship.module.resource.api.room.dto.RoomRespDTO;
+import com.yc.ship.module.resource.dal.dataobject.roommodel.ResourceRoomModelDO;
+import com.yc.ship.module.resource.service.roommodel.ResourceRoomModelService;
+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.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+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 = "管理后台 - 航次库存分配")
+@RestController
+@RequestMapping("/product/voyage-stock-distribute")
+@Validated
+public class VoyageStockDistributeNewController {
+
+    @Resource
+    private VoyageStockDistributeService voyageStockDistributeService;
+
+    @Resource
+    private OtaDistributorApi distributorApi;
+
+    @Resource
+    private ResourceRoomModelService resourceRoomModelService;
+
+
+}

+ 68 - 0
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/dal/dataobject/voyagestockdistribute/VoyageStockDistributeNewDO.java

@@ -0,0 +1,68 @@
+package com.yc.ship.module.product.dal.dataobject.voyagestockdistribute;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
+import com.yc.ship.framework.tenant.core.db.TenantBaseDO;
+import lombok.*;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 航次库存分配 DO
+ *
+ * @author 管理员
+ */
+@TableName(value = "product_voyage_stock_distribute_new", autoResultMap = true)
+@KeySequence("product_voyage_stock_distribute_new_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class VoyageStockDistributeNewDO extends TenantBaseDO {
+
+    /**
+     * ID
+     */
+    @TableId(type = IdType.ASSIGN_ID)
+    private Long id;
+
+    /**
+     * 分销商ID或者门店ID
+     */
+    private Long objectId;
+
+    /**
+     * 游轮ID
+     */
+    private Long shipId;
+    /**
+     * 航次ID
+     */
+    private Long voyageId;
+    /**
+     * 房型ID
+     */
+    private Long roomModelId;
+    /**
+     * 楼层号
+     */
+    private Integer floor;
+
+    /**
+     * 剩余房间数
+     */
+    private BigDecimal surplusNum;
+
+    /**
+     * 预订房间数
+     */
+    private BigDecimal bookNum;
+
+    /**
+     * 房型房间数
+     */
+    private BigDecimal roomModelNum;
+}

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

@@ -0,0 +1,19 @@
+package com.yc.ship.module.product.service.voyagestockdistribute;
+
+import com.yc.ship.framework.common.pojo.PageResult;
+import com.yc.ship.module.product.controller.admin.voyagestockdistribute.vo.*;
+import com.yc.ship.module.product.dal.dataobject.voyagestockdistribute.VoyageStockDistributeDO;
+import com.yc.ship.module.resource.api.room.dto.RoomRespDTO;
+
+import javax.validation.Valid;
+import java.util.List;
+
+/**
+ * 航次库存分配 Service 接口
+ *
+ * @author 管理员
+ */
+public interface VoyageStockDistributeNewService {
+
+
+}

+ 47 - 0
ship-module-product/ship-module-product-biz/src/main/java/com/yc/ship/module/product/service/voyagestockdistribute/VoyageStockDistributeNewServiceImpl.java

@@ -0,0 +1,47 @@
+package com.yc.ship.module.product.service.voyagestockdistribute;
+
+import com.yc.ship.module.ota.api.OtaDistributorApi;
+import com.yc.ship.module.otc.api.store.StoreApi;
+import com.yc.ship.module.product.dal.mysql.voyagestockdistribute.VoyageStockDistributeLogMapper;
+import com.yc.ship.module.product.dal.mysql.voyagestockdistribute.VoyageStockDistributeMapper;
+import com.yc.ship.module.product.service.voyage.VoyageService;
+import com.yc.ship.module.product.service.voyagestockdetail.VoyageStockDetailService;
+import com.yc.ship.module.resource.api.room.RoomApi;
+import org.springframework.stereotype.Service;
+import org.springframework.validation.annotation.Validated;
+
+import javax.annotation.Resource;
+
+/**
+ * 航次库存分配 Service 实现类
+ *
+ * @author 管理员
+ */
+@Service
+@Validated
+public class VoyageStockDistributeNewServiceImpl implements VoyageStockDistributeNewService {
+
+    @Resource
+    private VoyageStockDistributeMapper voyageStockDistributeMapper;
+
+    @Resource
+    private VoyageStockDistributeLogMapper voyageStockDistributeLogMapper;
+
+    @Resource
+    private VoyageStockDetailService voyageStockDetailService;
+
+    @Resource
+    private VoyageService voyageService;
+
+    @Resource
+    private OtaDistributorApi otaDistributorApi;
+
+    @Resource
+    private StoreApi storeApi;
+
+    @Resource
+    private RoomApi roomApi;
+
+
+
+}