68 lines
2.4 KiB
C#
68 lines
2.4 KiB
C#
using CoreCms.Net.IServices;
|
|
using CoreCms.Net.Model.Entities;
|
|
using CoreCms.Net.Model.ViewModels.SQ;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace CoreCms.Net.IServices
|
|
{
|
|
/// <summary>
|
|
/// 房间时段价格服务接口
|
|
/// </summary>
|
|
public interface ISQRoomPricingServices : IBaseServices<SQRoomPricing>
|
|
{
|
|
/// <summary>
|
|
/// 获取房间指定时段的价格配置
|
|
/// </summary>
|
|
/// <param name="roomId">房间ID</param>
|
|
/// <param name="timeSlotType">时段类型</param>
|
|
/// <param name="date">日期(可选,用于查询特定日期的价格,如节假日)</param>
|
|
/// <returns>价格配置</returns>
|
|
Task<SQRoomPricing> GetRoomPricingAsync(int roomId, int timeSlotType, DateTime? date = null);
|
|
|
|
/// <summary>
|
|
/// 获取房间所有时段的价格配置
|
|
/// </summary>
|
|
/// <param name="roomId">房间ID</param>
|
|
/// <param name="date">日期(可选)</param>
|
|
/// <returns>价格配置列表</returns>
|
|
Task<List<SQRoomPricing>> GetRoomAllPricingAsync(int roomId, DateTime? date = null);
|
|
|
|
/// <summary>
|
|
/// 设置房间时段价格
|
|
/// </summary>
|
|
/// <param name="dto">价格配置DTO</param>
|
|
/// <returns>是否成功</returns>
|
|
Task<bool> SetRoomPricingAsync(SetRoomPricingDto dto);
|
|
|
|
/// <summary>
|
|
/// 批量设置房间价格
|
|
/// </summary>
|
|
/// <param name="dto">批量价格配置DTO</param>
|
|
/// <returns>是否成功</returns>
|
|
Task<bool> BatchSetRoomPricingAsync(BatchSetRoomPricingDto dto);
|
|
|
|
/// <summary>
|
|
/// 获取房间价格列表(含时段名称)
|
|
/// </summary>
|
|
/// <param name="roomId">房间ID</param>
|
|
/// <returns>价格配置DTO列表</returns>
|
|
Task<List<SQRoomPricingDto>> GetRoomPricingListAsync(int roomId);
|
|
|
|
/// <summary>
|
|
/// 设置节假日价格
|
|
/// </summary>
|
|
/// <param name="dto">节假日定价DTO</param>
|
|
/// <returns>是否成功</returns>
|
|
Task<bool> SetHolidayPricingAsync(SetHolidayPricingDto dto);
|
|
|
|
Task<List<SQRoomPricing>> GetHolidayPricingByDateAsync(int roomId, DateTime date);
|
|
|
|
Task<bool> DeleteHolidayPricingAsync(int roomId, DateTime date);
|
|
|
|
Task<bool> HasHolidayPricingAsync(int roomId, DateTime date);
|
|
}
|
|
}
|
|
|