using Dpz.Core.Public.ViewModel.Request;
using Dpz.Core.Public.ViewModel.Response;

namespace Dpz.Core.Service.RepositoryService;

public interface IMumbleService : ICacheService
{
    /// <summary>
    /// 创建新的碎碎念
    /// </summary>
    /// <param name="request"></param>
    /// <returns></returns>
    Task<MumbleResponse> CreateAsync(CreateMumbleRequest request);

    /// <summary>
    /// 编辑碎碎念
    /// </summary>
    /// <param name="request"></param>
    /// <returns></returns>
    Task<MumbleResponse?> EditContentAsync(EditMumbleRequest request);

    /// <summary>
    /// 获取分页信息
    /// </summary>
    /// <param name="pageIndex"></param>
    /// <param name="pageSize"></param>
    /// <param name="content"></param>
    /// <param name="account">账号</param>
    /// <returns></returns>
    Task<IPagedList<MumbleResponse>> GetPagesAsync(
        int pageIndex,
        int pageSize,
        string? content = null,
        string? account = null
    );

    /// <summary>
    /// 获取随机碎碎念
    /// </summary>
    /// <param name="count"></param>
    /// <returns></returns>
    Task<List<MumbleResponse>> GetRandomMumblesAsync(int count);

    /// <summary>
    /// 根据ID查找碎碎念信息
    /// </summary>
    /// <param name="id"></param>
    /// <returns></returns>
    Task<MumbleResponse?> FindAsync(string id);

    /// <summary>
    /// 根据ID删除碎碎念信息
    /// </summary>
    /// <param name="id"></param>
    /// <returns></returns>
    Task DeleteAsync(params string[] id);

    /// <summary>
    /// 点赞
    /// </summary>
    /// <param name="id"></param>
    /// <returns></returns>
    Task<MumbleResponse?> LikeAsync(string id);
}
⚠⚠    以下内容为AI分析的结果,请根据实际情况进行判断。

这段代码定义了一个名为 IMumbleService 的 C# 接口,它继承自 ICacheService 接口。这个接口主要用于管理"碎碎念"(Mumble)相关的服务操作。下面是每个方法的详细解释:

  1. CreateAsync(CreateMumbleRequest request)

    • 功能:创建一个新的碎碎念
    • 参数:CreateMumbleRequest 对象,包含创建碎碎念所需的信息
    • 返回:Task<MumbleResponse>,表示异步操作,返回创建后的碎碎念信息
  2. EditContentAsync(EditMumbleRequest request)

    • 功能:编辑现有的碎碎念内容
    • 参数:EditMumbleRequest 对象,包含编辑信息
    • 返回:Task<MumbleResponse?>,可能返回编辑后的碎碎念信息或null
  3. GetPagesAsync(int pageIndex, int pageSize, string? content, string? account)

    • 功能:获取分页的碎碎念列表
    • 参数:
      • pageIndex: 页码
      • pageSize: 每页大小
      • content(可选): 按内容筛选
      • account(可选): 按账号筛选
    • 返回:Task<IPagedList<MumbleResponse>>,分页的碎碎念列表
  4. GetRandomMumblesAsync(int count)

    • 功能:获取随机碎碎念
    • 参数:count - 要获取的数量
    • 返回:Task<List<MumbleResponse>>,随机碎碎念列表
  5. FindAsync(string id)

    • 功能:根据ID查找特定碎碎念
    • 参数:id - 碎碎念的唯一标识符
    • 返回:Task<MumbleResponse?>,可能返回找到的碎碎念或null
  6. DeleteAsync(params string[] id)

    • 功能:删除一个或多个碎碎念
    • 参数:id - 可变参数,可以传入一个或多个碎碎念ID
    • 返回:Task,无返回值
  7. LikeAsync(string id)

    • 功能:为指定碎碎念点赞
    • 参数:id - 碎碎念ID
    • 返回:Task<MumbleResponse?>,可能返回更新后的碎碎念信息或null

这个接口定义了一个完整的CRUD(创建、读取、更新、删除)操作集,以及一些特定功能如分页获取、随机获取和点赞。它使用了异步编程模式(Task),适合在Web应用程序或服务中使用。由于继承自ICacheService,可能还包含缓存相关的功能。

评论加载中...