namespace Dpz.Core.Service.RepositoryService;

/// <summary>
/// 时间轴
/// </summary>
public interface ITimelineService : ICacheService
{
    /// <summary>
    /// 获取时间轴
    /// </summary>
    /// <param name="account"></param>
    /// <returns></returns>
    Task<List<VmTimeline>> GetTimelinesAsync(string account);

    /// <summary>
    /// 保存时间轴
    /// </summary>
    /// <param name="viewModel"></param>
    /// <returns></returns>
    Task SaveAsync(VmTimeline viewModel);

    /// <summary>
    /// 删除时间轴
    /// </summary>
    /// <param name="id"></param>
    /// <returns></returns>
    Task DeleteAsync(params string[] id);

    /// <summary>
    /// 获取时间轴分页信息
    /// </summary>
    /// <param name="pageIndex"></param>
    /// <param name="pageSize"></param>
    /// <param name="content"></param>
    /// <param name="account"></param>
    /// <returns></returns>
    Task<IPagedList<VmTimeline>> GetPageAsync(
        int pageIndex,
        int pageSize,
        string? content = null,
        string? account = null
    );

    /// <summary>
    /// 查找时间轴
    /// </summary>
    /// <param name="id"></param>
    /// <returns></returns>
    Task<VmTimeline?> FindAsync(string id);
}
⚠⚠    以下内容为AI分析的结果,请根据实际情况进行判断。

上述代码定义了一个名为 ITimelineService 的接口,属于 Dpz.Core.Service.RepositoryService 命名空间。这个接口主要用于处理与时间轴(Timeline)相关的操作。以下是对每个方法的详细解释:

  1. GetTimelinesAsync:

    • 功能: 获取指定账户的时间轴列表。
    • 参数: account - 账户标识符。
    • 返回值: 返回一个 Task<List<VmTimeline>>,表示异步操作的结果,包含时间轴的列表。
    • 缓存策略: 使用 CacheModule 特性,设置缓存过期时间为一周。
  2. SaveAsync:

    • 功能: 保存一个时间轴对象。
    • 参数: viewModel - 要保存的时间轴视图模型。
    • 返回值: 返回一个 Task,表示异步操作的结果。
    • 缓存策略: 使用 CacheModule 特性,设置在保存后清除相关缓存。
  3. DeleteAsync:

    • 功能: 删除指定的时间轴。
    • 参数: id - 一个或多个要删除的时间轴的标识符。
    • 返回值: 返回一个 Task,表示异步操作的结果。
    • 缓存策略: 使用 CacheModule 特性,设置在删除后清除相关缓存。
  4. GetPageAsync:

    • 功能: 获取时间轴的分页信息。
    • 参数:
      • pageIndex - 当前页码。
      • pageSize - 每页的记录数。
      • content - 可选的搜索内容,用于过滤时间轴。
      • account - 可选的账户标识符,用于过滤时间轴。
    • 返回值: 返回一个 Task<IPagedList<VmTimeline>>,表示异步操作的结果,包含分页的时间轴列表。
    • 缓存策略: 使用 CacheModule 特性,设置缓存过期时间为一周。
  5. FindAsync:

    • 功能: 查找特定的时间轴。
    • 参数: id - 要查找的时间轴的标识符。
    • 返回值: 返回一个 Task<VmTimeline?>,表示异步操作的结果,可能返回找到的时间轴对象或 null(如果未找到)。
    • 缓存策略: 使用 CacheModule 特性,设置缓存过期时间为一周。

总结

ITimelineService 接口提供了一系列方法,用于管理时间轴的创建、读取、更新和删除(CRUD)操作,并且通过缓存机制提高性能。每个方法都支持异步操作,适合在现代应用程序中使用。

评论加载中...