package com.yc.ship.module.product.service.voyagestockdistribute;


import com.yc.ship.module.product.controller.admin.voyagestockdistributeNew.vo.VoyageStockDistributeNewDetailReqVO;
import com.yc.ship.module.product.controller.app.voyage.vo.AppCanSelectRoomReqVO;
import com.yc.ship.module.product.dal.dataobject.voyagestockdistribute.VoyageStockDistributeRoomDO;

import java.util.List;

/**
 * 航次库存分配 Service 接口
 *
 * @author 管理员
 */
public interface VoyageStockDistributeRoomService {

    /**
     * 获取该航次已分配的房间
     * @param voyageId
     * @return
     */
    List<VoyageStockDistributeRoomDO> getListByVoyageId(Long voyageId, Integer type);

    /**
     * 删除该航次已分配的房间
     * @param voyageId
     * @param type
     */
    void deleteByVoyageId(Long voyageId, Integer type);

    void createVoyageStockDistributeRoomBatch(List<VoyageStockDistributeRoomDO> roomList);

    /**
     * 获取房间列表
     * @param objectId 分销商或门店ID
     * @param roomModelIdFloorList 房型ID和楼层号列表
     * @return
     */
    List<VoyageStockDistributeRoomDO> getRoomListByRoomModelIdAndFloor(Long objectId, Long voyageId, List<String> roomModelIdFloorList);

    List<VoyageStockDistributeRoomDO> getListByVoyageIdAndObjectId(VoyageStockDistributeNewDetailReqVO reqVO);

    List<VoyageStockDistributeRoomDO> getAppCanSelectRoomList(AppCanSelectRoomReqVO reqVO);
}