本次提交包含多项核心变更: 1. **用户体系重构**:将管理员用户状态从字符串改为整型枚举,移除微信用户冗余字段Points和GrowthPoints,新增通用基础实体主键配置 2. **代码清理**:删除HealthController、WxUserMedal、WxUserBag等废弃文件,移除WeChatDto中冗余查询字段 3. **响应格式统一**:重构BaseResponse与ResultCode枚举,标准化全局响应格式 4. **权限与验证优化**:添加JWT认证与开发环境免认证逻辑,新增模型验证过滤器,统一控制器认证配置 5. **工具与配置更新**:新增dotnet-tools.json配置EF工具,调整Swagger与压缩中间件配置,优化SqlSugar默认值处理逻辑 6. **业务逻辑简化**:移除AutoMapper映射,改为手动映射DTO以提升性能,修复异常处理与响应返回逻辑
180 lines
3.5 KiB
C#
180 lines
3.5 KiB
C#
using QYZH.InteractiveMagazine.Models.Dto;
|
||
|
||
namespace QYZH.InteractiveMagazine.IService.Dto;
|
||
|
||
/// <summary>
|
||
/// 微信登录输出
|
||
/// </summary>
|
||
public class WeChatLoginOutput
|
||
{
|
||
/// <summary>
|
||
/// 访问令牌
|
||
/// </summary>
|
||
public string Token { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 用户ID
|
||
/// </summary>
|
||
public long UserId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 用户名
|
||
/// </summary>
|
||
public string UserName { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 微信OpenId
|
||
/// </summary>
|
||
public string OpenId { get; set; } = string.Empty;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 微信用户创建/更新输入
|
||
/// </summary>
|
||
public class WxUserInput
|
||
{
|
||
/// <summary>
|
||
/// 微信OpenId
|
||
/// </summary>
|
||
public string OpenId { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 微信UnionId
|
||
/// </summary>
|
||
public string? UnionId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 昵称
|
||
/// </summary>
|
||
public string? NickName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 头像地址
|
||
/// </summary>
|
||
public string? AvatarUrl { get; set; }
|
||
|
||
/// <summary>
|
||
/// 手机号
|
||
/// </summary>
|
||
public string? Phone { get; set; }
|
||
|
||
/// <summary>
|
||
/// 积分余额
|
||
/// </summary>
|
||
public int Points { get; set; } = 0;
|
||
|
||
/// <summary>
|
||
/// 用户类型: Normal, VIP
|
||
/// </summary>
|
||
public string Type { get; set; } = "Normal";
|
||
|
||
/// <summary>
|
||
/// 状态: Active, Disabled
|
||
/// </summary>
|
||
public string Status { get; set; } = "Active";
|
||
|
||
/// <summary>
|
||
/// 密码,默认手机后4位
|
||
/// </summary>
|
||
public string? Pwd { get; set; }
|
||
|
||
/// <summary>
|
||
/// 当前成长值
|
||
/// </summary>
|
||
public int GrowthPoints { get; set; } = 0;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 微信用户输出
|
||
/// </summary>
|
||
public class WxUserOutput
|
||
{
|
||
/// <summary>
|
||
/// 主键ID
|
||
/// </summary>
|
||
public long Id { get; set; }
|
||
|
||
/// <summary>
|
||
/// 微信OpenId
|
||
/// </summary>
|
||
public string OpenId { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 微信UnionId
|
||
/// </summary>
|
||
public string? UnionId { get; set; }
|
||
|
||
/// <summary>
|
||
/// 昵称
|
||
/// </summary>
|
||
public string? NickName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 头像地址
|
||
/// </summary>
|
||
public string? AvatarUrl { get; set; }
|
||
|
||
/// <summary>
|
||
/// 手机号
|
||
/// </summary>
|
||
public string? Phone { get; set; }
|
||
|
||
/// <summary>
|
||
/// 积分余额
|
||
/// </summary>
|
||
public int Points { get; set; }
|
||
|
||
/// <summary>
|
||
/// 用户类型
|
||
/// </summary>
|
||
public string Type { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 状态
|
||
/// </summary>
|
||
public string Status { get; set; } = string.Empty;
|
||
|
||
/// <summary>
|
||
/// 当前成长值
|
||
/// </summary>
|
||
public int GrowthPoints { get; set; }
|
||
|
||
/// <summary>
|
||
/// 创建人
|
||
/// </summary>
|
||
public string? CreatedBy { get; set; }
|
||
|
||
/// <summary>
|
||
/// 创建时间
|
||
/// </summary>
|
||
public DateTime CreatedAt { get; set; }
|
||
|
||
/// <summary>
|
||
/// 更新人
|
||
/// </summary>
|
||
public string? UpdatedBy { get; set; }
|
||
|
||
/// <summary>
|
||
/// 更新时间
|
||
/// </summary>
|
||
public DateTime? UpdatedAt { get; set; }
|
||
}
|
||
|
||
/// <summary>
|
||
/// 微信用户分页查询输入
|
||
/// </summary>
|
||
public class WxUserQueryInput : PageQueryModel
|
||
{
|
||
/// <summary>
|
||
/// 昵称(模糊查询)
|
||
/// </summary>
|
||
public string? NickName { get; set; }
|
||
|
||
/// <summary>
|
||
/// 手机号(模糊查询)
|
||
/// </summary>
|
||
public string? Phone { get; set; }
|
||
|
||
}
|
||
|