feat: add medal module and optimize community entities
1. 新增勋章管理全流程功能,包含实体、DTO、服务层、控制器 2. 重构DotFile实体继承基础实体类 3. 删除UserJournal的无用JournalInstanceId字段 4. 重构CommunityMessage实体字段并新增点赞数、精选标记字段 5. 新增社区点赞、评论、模板言论实体并替换旧有实体文件 6. 更新gitignore忽略PROJECT_STRUCTURE.md文件
This commit is contained in:
73
QYZH.InteractiveMagazine.IService/IMedalService.cs
Normal file
73
QYZH.InteractiveMagazine.IService/IMedalService.cs
Normal file
@ -0,0 +1,73 @@
|
||||
using QYZH.InteractiveMagazine.Models.Dto;
|
||||
using QYZH.InteractiveMagazine.Models.Entity;
|
||||
|
||||
namespace QYZH.InteractiveMagazine.IService;
|
||||
|
||||
/// <summary>
|
||||
/// 勋章服务接口
|
||||
/// </summary>
|
||||
public interface IMedalService : IBaseService<Medal>
|
||||
{
|
||||
/// <summary>
|
||||
/// 创建勋章
|
||||
/// </summary>
|
||||
/// <param name="input">勋章输入</param>
|
||||
/// <returns>创建的勋章信息</returns>
|
||||
Task<MedalOutput> CreateAsync(MedalInput input);
|
||||
|
||||
/// <summary>
|
||||
/// 更新勋章
|
||||
/// </summary>
|
||||
/// <param name="id">勋章ID</param>
|
||||
/// <param name="input">勋章输入</param>
|
||||
/// <returns>更新后的勋章信息</returns>
|
||||
Task<MedalOutput> UpdateAsync(long id, MedalInput input);
|
||||
|
||||
/// <summary>
|
||||
/// 删除勋章(软删除)
|
||||
/// </summary>
|
||||
/// <param name="id">勋章ID</param>
|
||||
Task DeleteAsync(long id);
|
||||
|
||||
/// <summary>
|
||||
/// 根据ID获取勋章
|
||||
/// </summary>
|
||||
/// <param name="id">勋章ID</param>
|
||||
/// <returns>勋章信息</returns>
|
||||
Task<MedalOutput> GetByIdAsync(long id);
|
||||
|
||||
/// <summary>
|
||||
/// 分页查询勋章列表
|
||||
/// </summary>
|
||||
/// <param name="input">查询条件</param>
|
||||
/// <returns>分页结果</returns>
|
||||
Task<PageListModel<MedalOutput>> GetListAsync(MedalQueryInput input);
|
||||
|
||||
/// <summary>
|
||||
/// 更新勋章启用/禁用状态
|
||||
/// </summary>
|
||||
/// <param name="id">勋章ID</param>
|
||||
/// <param name="status">状态: 0=禁用, 1=启用</param>
|
||||
Task UpdateStatusAsync(long id, int status);
|
||||
|
||||
/// <summary>
|
||||
/// 获取所有启用勋章列表(含当前用户拥有状态)
|
||||
/// </summary>
|
||||
/// <param name="userId">当前用户ID</param>
|
||||
/// <returns>勋章列表</returns>
|
||||
Task<List<WxMedalListOutput>> GetAllMedalsAsync(long userId);
|
||||
|
||||
/// <summary>
|
||||
/// 获取用户已拥有的勋章列表
|
||||
/// </summary>
|
||||
/// <param name="userId">用户ID</param>
|
||||
/// <returns>用户勋章列表</returns>
|
||||
Task<List<WxUserMedalOutput>> GetUserMedalsAsync(long userId);
|
||||
|
||||
/// <summary>
|
||||
/// 激活/获得勋章
|
||||
/// </summary>
|
||||
/// <param name="userId">用户ID</param>
|
||||
/// <param name="input">激活输入</param>
|
||||
Task ActivateMedalAsync(long userId, WxMedalActivateInput input);
|
||||
}
|
||||
Reference in New Issue
Block a user