52 lines
1.3 KiB
C#
52 lines
1.3 KiB
C#
|
|
using QYZH.InteractiveMagazine.Models.Dto;
|
||
|
|
|
||
|
|
namespace QYZH.InteractiveMagazine.IService;
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 基础服务接口
|
||
|
|
/// </summary>
|
||
|
|
/// <typeparam name="T">实体类型</typeparam>
|
||
|
|
public interface IBaseService<T> where T : class, new()
|
||
|
|
{
|
||
|
|
/// <summary>
|
||
|
|
/// 根据ID获取实体
|
||
|
|
/// </summary>
|
||
|
|
/// <param name="id">实体ID</param>
|
||
|
|
/// <returns>实体对象</returns>
|
||
|
|
Task<T?> GetByIdAsync(long id);
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 获取所有实体列表
|
||
|
|
/// </summary>
|
||
|
|
/// <returns>实体列表</returns>
|
||
|
|
Task<List<T>> GetListAsync();
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 获取分页列表
|
||
|
|
/// </summary>
|
||
|
|
/// <param name="pageQuery">分页查询参数</param>
|
||
|
|
/// <returns>分页数据</returns>
|
||
|
|
Task<PageListModel<T>> GetPageListAsync(PageQueryModel pageQuery);
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 新增实体
|
||
|
|
/// </summary>
|
||
|
|
/// <param name="entity">实体对象</param>
|
||
|
|
/// <returns>是否成功</returns>
|
||
|
|
Task<bool> InsertAsync(T entity);
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 更新实体
|
||
|
|
/// </summary>
|
||
|
|
/// <param name="entity">实体对象</param>
|
||
|
|
/// <returns>是否成功</returns>
|
||
|
|
Task<bool> UpdateAsync(T entity);
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 根据ID删除实体
|
||
|
|
/// </summary>
|
||
|
|
/// <param name="id">实体ID</param>
|
||
|
|
/// <returns>是否成功</returns>
|
||
|
|
Task<bool> DeleteByIdAsync(long id);
|
||
|
|
}
|