66 lines
2.5 KiB
C#
66 lines
2.5 KiB
C#
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);
|
||
|
||
|
||
}
|
||
}
|