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,20 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 管理员类型枚举
/// </summary>
public enum AdminUserTypeEnum
{
/// <summary>
/// 编辑员
/// </summary>
Editor = 2,
/// <summary>
/// 超级管理员
/// </summary>
SuperAdmin = 0,
/// <summary>
/// 超级管理员
/// </summary>
Admin = 1
}

View File

@ -0,0 +1,17 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 签到配置状态枚举
/// </summary>
public enum CheckInConfigStatusEnum
{
/// <summary>
/// 未激活
/// </summary>
Inactive = 0,
/// <summary>
/// 激活
/// </summary>
Active = 1
}

View File

@ -0,0 +1,16 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 签到配置类型枚举
/// </summary>
public enum CheckInConfigTypeEnum
{
/// <summary>
/// 每日签到
/// </summary>
Daily = 1,
/// <summary>
/// 连续签到
/// </summary>
Streak = 2
}

View File

@ -0,0 +1,12 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 签到记录状态枚举
/// </summary>
public enum CheckInRecordStatusEnum
{
/// <summary>
/// 成功
/// </summary>
Success = 1
}

View File

@ -0,0 +1,16 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 签到记录类型枚举
/// </summary>
public enum CheckInRecordTypeEnum
{
/// <summary>
/// 正常签到
/// </summary>
Normal = 1,
/// <summary>
/// 补签
/// </summary>
MakeUp = 2
}

View File

@ -0,0 +1,17 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 模板评论状态枚举
/// </summary>
public enum CommunityMessageCommentStatusEnum
{
/// <summary>
/// 已隐藏
/// </summary>
Hidden = 0,
/// <summary>
/// 已发布
/// </summary>
Published = 1
}

View File

@ -0,0 +1,12 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 评论类型枚举
/// </summary>
public enum CommunityMessageCommentTypeEnum
{
/// <summary>
/// 模板评论
/// </summary>
TemplateComment = 1
}

View File

@ -0,0 +1,12 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 点赞类型枚举
/// </summary>
public enum CommunityMessageLikeTypeEnum
{
/// <summary>
/// 点赞
/// </summary>
Like = 1
}

View File

@ -0,0 +1,17 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 固定模板言论状态枚举
/// </summary>
public enum CommunityTemplateSentenceStatusEnum
{
/// <summary>
/// 未激活
/// </summary>
Inactive = 0,
/// <summary>
/// 激活
/// </summary>
Active = 1
}

View File

@ -0,0 +1,20 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 固定模板言论分类枚举
/// </summary>
public enum CommunityTemplateSentenceTypeEnum
{
/// <summary>
/// 正面
/// </summary>
Positive = 1,
/// <summary>
/// 中性
/// </summary>
Neutral = 2,
/// <summary>
/// 负面
/// </summary>
Negative = 3
}

View File

@ -0,0 +1,32 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 补偿任务状态枚举
/// </summary>
public enum CompensationTaskStatusEnum
{
/// <summary>
/// 待处理
/// </summary>
Pending = 0,
/// <summary>
/// 处理中
/// </summary>
Processing = 1,
/// <summary>
/// 成功
/// </summary>
Success = 2,
/// <summary>
/// 失败
/// </summary>
Failed = 3,
/// <summary>
/// 已取消
/// </summary>
Cancelled = 4
}

View File

@ -0,0 +1,24 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 补偿任务类型枚举
/// </summary>
public enum CompensationTaskTypeEnum
{
/// <summary>
/// 宠物喂养补偿
/// </summary>
PetFeeding = 1,
/// <summary>
/// 用户积分补偿
/// </summary>
UserPoints = 2,
/// <summary>
/// 用户成长值补偿
/// </summary>
UserGrowth = 3,
/// <summary>
/// 发送通知补偿
/// </summary>
SendNotification = 4
}

View File

@ -0,0 +1,32 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 点读文件明细状态枚举
/// </summary>
public enum DotFileDetailStatusEnum
{
/// <summary>
/// 待处理
/// </summary>
Pending = 0,
/// <summary>
/// 处理中
/// </summary>
Processing = 1,
/// <summary>
/// 成功
/// </summary>
Success = 2,
/// <summary>
/// 失败
/// </summary>
Failed = 3,
/// <summary>
/// 已取消
/// </summary>
Cancelled = 4
}

View File

@ -0,0 +1,32 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 点读文件状态枚举
/// </summary>
public enum DotFileStatusEnum
{
/// <summary>
/// 待处理
/// </summary>
Pending = 0,
/// <summary>
/// 处理中
/// </summary>
Processing = 1,
/// <summary>
/// 成功
/// </summary>
Success = 2,
/// <summary>
/// 失败
/// </summary>
Failed = 3,
/// <summary>
/// 已取消
/// </summary>
Cancelled = 4
}

View File

@ -0,0 +1,17 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 兑换记录状态枚举
/// </summary>
public enum ExchangeRecordStatusEnum
{
/// <summary>
/// 成功
/// </summary>
Success = 1,
/// <summary>
/// 已退还
/// </summary>
Refunded = 2
}

View File

@ -0,0 +1,16 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 期刊目录类别枚举
/// </summary>
public enum JournalCatalogTypeEnum
{
/// <summary>
/// 单元
/// </summary>
Unit = 0,
/// <summary>
/// 页面
/// </summary>
Page = 1
}

View File

@ -0,0 +1,22 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 期刊页面状态枚举
/// </summary>
public enum JournalPageStatusEnum
{
/// <summary>
/// 验证失败
/// </summary>
Failed = -1,
/// <summary>
/// 未验证
/// </summary>
NotVerified = 0,
/// <summary>
/// 验证成功
/// </summary>
Success = 1
}

View File

@ -0,0 +1,24 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 杂志任务题型枚举
/// </summary>
public enum JournalPageTaskTypeEnum
{
/// <summary>
/// 单选题
/// </summary>
SingleChoice = 1,
/// <summary>
/// 多选题
/// </summary>
MultipleChoice = 2,
/// <summary>
/// 填空题
/// </summary>
FillInBlank = 3,
/// <summary>
/// 问答题
/// </summary>
QuestionAnswer = 4
}

View File

@ -0,0 +1,22 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 期刊状态枚举
/// </summary>
public enum JournalStatusEnum
{
/// <summary>
/// 草稿
/// </summary>
Draft = 0,
/// <summary>
/// 已发布
/// </summary>
Published = 1,
/// <summary>
/// 已归档
/// </summary>
Archived = 2
}

View File

@ -0,0 +1,16 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 期刊类型枚举
/// </summary>
public enum JournalTypeEnum
{
/// <summary>
/// 普通
/// </summary>
Normal = 1,
/// <summary>
/// 特刊
/// </summary>
Special = 2
}

View File

@ -0,0 +1,16 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 勋章类型枚举
/// </summary>
public enum MedalTypeEnum
{
/// <summary>
/// 宠物勋章
/// </summary>
Pet = 1,
/// <summary>
/// 社区勋章
/// </summary>
Community = 2
}

View File

@ -0,0 +1,22 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 社区消息状态枚举
/// </summary>
public enum MessageStatusEnum
{
/// <summary>
/// 审核中
/// </summary>
PendingReview = 0,
/// <summary>
/// 已通过
/// </summary>
Approved = 1,
/// <summary>
/// 已冻结
/// </summary>
Frozen = 2
}

View File

@ -0,0 +1,22 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 消息类型
/// </summary>
public enum MessageTypeEnum
{
/// <summary>
/// 文章
/// </summary>
Article = 1,
/// <summary>
/// 引用
/// </summary>
Quote = 2,
/// <summary>
/// 公告
/// </summary>
Announcement = 3
}

View File

@ -0,0 +1,17 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 宠物进化状态枚举
/// </summary>
public enum PetEvolutionStatusEnum
{
/// <summary>
/// 未激活
/// </summary>
Inactive = 0,
/// <summary>
/// 激活
/// </summary>
Active = 1
}

View File

@ -0,0 +1,16 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 宠物进化类型枚举
/// </summary>
public enum PetEvolutionTypeEnum
{
/// <summary>
/// 普通进化
/// </summary>
Normal = 1,
/// <summary>
/// 特殊进化
/// </summary>
Special = 2
}

View File

@ -0,0 +1,12 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 宠物喂养记录状态枚举
/// </summary>
public enum PetFeedingRecordStatusEnum
{
/// <summary>
/// 成功
/// </summary>
Success = 1
}

View File

@ -0,0 +1,16 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 宠物喂养记录类型枚举
/// </summary>
public enum PetFeedingRecordTypeEnum
{
/// <summary>
/// 普通喂养
/// </summary>
Normal = 1,
/// <summary>
/// 特殊喂养
/// </summary>
Special = 2
}

View File

@ -0,0 +1,16 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 宠物皮肤图片类型枚举
/// </summary>
public enum PetSkinImageTypeEnum
{
/// <summary>
/// 普通图片
/// </summary>
Normal = 1,
/// <summary>
/// 特殊图片
/// </summary>
Special = 2
}

View File

@ -0,0 +1,20 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 宠物皮肤类型枚举
/// </summary>
public enum PetSkinTypeEnum
{
/// <summary>
/// 普通皮肤
/// </summary>
Normal = 1,
/// <summary>
/// 限定皮肤
/// </summary>
Limited = 2,
/// <summary>
/// 活动皮肤
/// </summary>
Event = 3
}

View File

@ -0,0 +1,17 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 宠物模板状态枚举
/// </summary>
public enum PetTemplateStatusEnum
{
/// <summary>
/// 未激活
/// </summary>
Inactive = 0,
/// <summary>
/// 激活
/// </summary>
Active = 1
}

View File

@ -0,0 +1,20 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 宠物模板类型枚举
/// </summary>
public enum PetTemplateTypeEnum
{
/// <summary>
/// 普通
/// </summary>
Normal = 1,
/// <summary>
/// 特殊
/// </summary>
Special = 2,
/// <summary>
/// 限定
/// </summary>
Limited = 3
}

View File

@ -0,0 +1,52 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 积分变动类型
/// </summary>
public enum PointsChangeTypeEnum
{
/// <summary>
/// 签到奖励
/// </summary>
SignIn,
/// <summary>
/// 补签奖励
/// </summary>
MakeUpSign,
/// <summary>
/// 商城兑换扣除
/// </summary>
Exchange,
/// <summary>
/// 宠物喂养消耗
/// </summary>
FeedPet,
/// <summary>
/// 任务奖励(杂志任务等)
/// </summary>
TaskReward,
/// <summary>
/// 注册奖励
/// </summary>
RegisterBonus,
/// <summary>
/// 勋章奖励
/// </summary>
MedalBonus,
/// <summary>
/// 系统补偿
/// </summary>
SystemCompensation,
/// <summary>
/// 后台手动调整
/// </summary>
ManualAdjust
}

View File

@ -0,0 +1,17 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 积分流水分类
/// </summary>
public enum PointsFlowTypeEnum
{
/// <summary>
/// 收入
/// </summary>
Income,
/// <summary>
/// 支出
/// </summary>
Expense
}

View File

@ -0,0 +1,22 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 积分流水记录状态枚举
/// </summary>
public enum PointsRecordStatusEnum
{
/// <summary>
/// 待处理
/// </summary>
Pending = 0,
/// <summary>
/// 成功
/// </summary>
Success = 1,
/// <summary>
/// 失败
/// </summary>
Failed = 2
}

View File

@ -0,0 +1,16 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 商品类型枚举
/// </summary>
public enum ProductTypeEnum
{
/// <summary>
/// 补签卡
/// </summary>
MakeUpCard = 1,
/// <summary>
/// 宠物背景
/// </summary>
PetBg = 2
}

View File

@ -0,0 +1,17 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 用户背包状态枚举
/// </summary>
public enum UserBagStatusEnum
{
/// <summary>
/// 已过期
/// </summary>
Expired = 0,
/// <summary>
/// 可用
/// </summary>
Available = 1
}

View File

@ -0,0 +1,16 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 用户背包物品分类枚举
/// </summary>
public enum UserBagTypeEnum
{
/// <summary>
/// 补签卡
/// </summary>
MakeUpCard = 1,
/// <summary>
/// 宠物背景
/// </summary>
PetBg = 2
}

View File

@ -0,0 +1,17 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 用户期刊关联状态枚举
/// </summary>
public enum UserJournalStatusEnum
{
/// <summary>
/// 失效
/// </summary>
Inactive = 0,
/// <summary>
/// 正常
/// </summary>
Active = 1
}

View File

@ -0,0 +1,20 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 用户期刊关联类型枚举
/// </summary>
public enum UserJournalTypeEnum
{
/// <summary>
/// 已读
/// </summary>
Read = 1,
/// <summary>
/// 收藏
/// </summary>
Favorite = 2,
/// <summary>
/// 订阅
/// </summary>
Subscribe = 3
}

View File

@ -0,0 +1,17 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 用户勋章状态枚举
/// </summary>
public enum UserMedalStatusEnum
{
/// <summary>
/// 已撤销
/// </summary>
Revoked = 0,
/// <summary>
/// 已授予
/// </summary>
Awarded = 1
}

View File

@ -0,0 +1,16 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 用户勋章记录类型枚举
/// </summary>
public enum UserMedalTypeEnum
{
/// <summary>
/// 系统授予
/// </summary>
System = 1,
/// <summary>
/// 活动奖励
/// </summary>
Activity = 2
}

View File

@ -0,0 +1,22 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 用户宠物状态枚举
/// </summary>
public enum UserPetStatusEnum
{
/// <summary>
/// 未激活
/// </summary>
Inactive = 0,
/// <summary>
/// 激活
/// </summary>
Active = 1,
/// <summary>
/// 休眠中
/// </summary>
Sleeping = 2
}

View File

@ -0,0 +1,12 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 用户宠物类型枚举
/// </summary>
public enum UserPetTypeEnum
{
/// <summary>
/// 普通
/// </summary>
Normal = 1
}

View File

@ -11,7 +11,7 @@ public enum UserStatusEnum
Active = 1,
/// <summary>
/// 冻结
/// 禁用
/// </summary>
Frozen = 2
Disabled = 2
}

View File

@ -0,0 +1,16 @@
namespace QYZH.InteractiveMagazine.Models.Enum;
/// <summary>
/// 用户类型枚举
/// </summary>
public enum UsersTypeEnum
{
/// <summary>
/// 普通用户
/// </summary>
Normal = 1,
/// <summary>
/// VIP用户
/// </summary>
VIP = 2
}