ql_apimanager_backend/Apimanager_backend/Services/IPackageService.cs
2024-11-20 17:54:09 +08:00

66 lines
2.5 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using Apimanager_backend.Dtos;
using Apimanager_backend.Models;
namespace Apimanager_backend.Services
{
public interface IPackageService
{
/// <summary>
/// 添加套餐
/// </summary>
/// <param name="addPackageDto"></param>
/// <returns></returns>
public Task<PackageInfoDto> AddPackageAsync(AddPackageDto addPackageDto);
/// <summary>
/// 更新套餐信息
/// </summary>
/// <param name="packageId"></param>
/// <param name="updatePackageDto"></param>
/// <returns></returns>
public Task<PackageInfoDto> UpdatePackageAsync(int packageId,UpdatePackageDto updatePackageDto);
/// <summary>
/// 删除套餐
/// </summary>
/// <param name="packageId"></param>
/// <returns></returns>
public Task DeletePackageAsync(int packageId);
/// <summary>
/// 获取套餐列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="desc"></param>
/// <returns></returns>
public Task<List<PackageInfoDto>> GetAllPackagesAsync(int pageIndex,int pageSize,bool desc);
/// <summary>
/// 获取套餐信息
/// </summary>
/// <param name="packageId"></param>
/// <returns></returns>
public Task<PackageInfoDto> PackageInfoByIdAsync(int packageId);
/// <summary>
/// 获取用户所有订阅套餐
/// </summary>
/// <param name="userId"></param>
/// <returns></returns>
public Task<List<UserPackage>> GetUserPackagesAsync(int userId);
/// <summary>
/// 增加套餐订阅时长
/// </summary>
/// <param name="packageId">套餐Id注意这里不是用户订阅套餐表的Id</param>
/// <param name="time"></param>
/// <param name="isAdmin">判断是否为管理员操作(如果是则不扣除余额)</param>
/// <returns></returns>
public Task<UserPackage> AddUserPackageTimeAsync(int packageId,int userId,TimeSpan time,bool isAdmin);
/// <summary>
/// 扣除套餐订阅时长
/// </summary>
/// <param name="packageId">套餐Id注意这里不是用户订阅套餐表的Id</param>
/// <param name="time"></param>
/// <returns></returns>
public Task<UserPackage> DecuteUserPackageTimeAsync(int packageId,int userId,TimeSpan time);
}
}