53 lines
1.5 KiB
C#
53 lines
1.5 KiB
C#
using HoneyBox.Admin.Business.Models;
|
|
using HoneyBox.Admin.Business.Models.Goods;
|
|
|
|
namespace HoneyBox.Admin.Business.Services.Interfaces;
|
|
|
|
/// <summary>
|
|
/// 奖品等级服务接口
|
|
/// </summary>
|
|
public interface IPrizeLevelService
|
|
{
|
|
/// <summary>
|
|
/// 获取奖品等级列表
|
|
/// </summary>
|
|
Task<PagedResult<PrizeLevelResponse>> GetPrizeLevelsAsync(PrizeLevelListRequest request);
|
|
|
|
/// <summary>
|
|
/// 获取奖品等级详情
|
|
/// </summary>
|
|
Task<PrizeLevelResponse?> GetPrizeLevelAsync(int id);
|
|
|
|
/// <summary>
|
|
/// 创建奖品等级
|
|
/// </summary>
|
|
Task<int> CreatePrizeLevelAsync(PrizeLevelCreateRequest request);
|
|
|
|
/// <summary>
|
|
/// 更新奖品等级
|
|
/// </summary>
|
|
Task<bool> UpdatePrizeLevelAsync(int id, PrizeLevelUpdateRequest request);
|
|
|
|
/// <summary>
|
|
/// 删除奖品等级
|
|
/// </summary>
|
|
Task<bool> DeletePrizeLevelAsync(int id);
|
|
|
|
/// <summary>
|
|
/// 获取所有奖品等级选项(用于下拉选择)
|
|
/// </summary>
|
|
Task<List<PrizeLevelOptionResponse>> GetPrizeLevelOptionsAsync();
|
|
|
|
/// <summary>
|
|
/// 根据盒子类型获取奖品等级选项
|
|
/// </summary>
|
|
/// <param name="goodsType">盒子类型</param>
|
|
/// <param name="isChildPrize">是否为子奖品(宝箱内奖品)</param>
|
|
Task<List<PrizeLevelOptionResponse>> GetPrizeLevelOptionsByTypeAsync(int goodsType, bool isChildPrize = false);
|
|
|
|
/// <summary>
|
|
/// 获取概率总和
|
|
/// </summary>
|
|
Task<decimal> GetTotalProbabilityAsync();
|
|
}
|