refactor: 批量新增枚举类型并完成实体、DTO、服务层枚举替换

- 新增30+业务枚举类型覆盖用户、宠物、商城、社区、积分等模块
- 完成实体类、DTO、服务层的字符串枚举替换为强类型枚举
- 修复用户状态枚举名称变更,将Frozen改为Disabled
- 新增批量发布社区消息接口与控制器实现
- 新增操作日志、积分管理、补偿任务相关服务与DTO
This commit is contained in:
glz
2026-06-08 16:57:44 +08:00
parent 698c404b72
commit 78b686f9e5
116 changed files with 4861 additions and 307 deletions

View File

@ -0,0 +1,37 @@
using QYZH.InteractiveMagazine.Models.Dto;
using QYZH.InteractiveMagazine.Models.Entity;
namespace QYZH.InteractiveMagazine.IService;
/// <summary>
/// 操作日志服务接口
/// </summary>
public interface IOperationLogService : IBaseService<OperationLog>
{
/// <summary>
/// 记录操作日志
/// </summary>
/// <param name="operatorId">操作人Id</param>
/// <param name="operatorName">操作人用户名</param>
/// <param name="actionType">操作类型(使用 OperationLogActionType 常量)</param>
/// <param name="targetType">目标类型(使用 OperationLogTargetType 常量)</param>
/// <param name="targetId">目标记录Id</param>
/// <param name="targetName">目标名称</param>
/// <param name="detail">操作详情可选JSON格式</param>
/// <param name="ipAddress">IP地址可选</param>
Task LogAsync(long operatorId, string operatorName, string actionType, string targetType, long targetId, string? targetName = null, string? detail = null, string? ipAddress = null);
/// <summary>
/// 分页查询操作日志
/// </summary>
/// <param name="input">查询参数</param>
/// <returns>分页结果</returns>
Task<PageListModel<OperationLogOutput>> GetListAsync(OperationLogQueryInput input);
/// <summary>
/// 获取操作日志详情
/// </summary>
/// <param name="id">日志Id</param>
/// <returns>日志详情</returns>
Task<OperationLogDetailOutput> GetDetailAsync(long id);
}