mahjong_group/server/CoreCms.Net.IServices/SQ/ISQRoomPricingServices.cs
2026-01-01 14:35:52 +08:00

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);
}
}