refactor: 重构用户与商品模块,统一业务模型与服务
1. 新增用户状态枚举UserStatusEnum,统一用户状态定义 2. 重构用户体系:合并WxUser与User实体为Users实体,统一用户管理 3. 新增微信小程序认证相关服务与控制器,实现一键登录功能 4. 新增商品管理完整服务与控制器,修复商品表字段映射问题 5. 删除冗余的WxUser相关服务与控制器代码 6. 新增Newtonsoft.Json依赖用于微信接口响应解析 7. 清理无用的文件夹引用配置
This commit is contained in:
156
QYZH.InteractiveMagazine.Models/Dto/Mall/ProductDto.cs
Normal file
156
QYZH.InteractiveMagazine.Models/Dto/Mall/ProductDto.cs
Normal file
@ -0,0 +1,156 @@
|
||||
using QYZH.InteractiveMagazine.Models.Dto;
|
||||
|
||||
namespace QYZH.InteractiveMagazine.Models.Dto;
|
||||
|
||||
/// <summary>
|
||||
/// 商品创建/更新输入
|
||||
/// </summary>
|
||||
public class ProductInput
|
||||
{
|
||||
/// <summary>
|
||||
/// 商品名称
|
||||
/// </summary>
|
||||
public string Name { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 描述
|
||||
/// </summary>
|
||||
public string? Description { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 商品图片
|
||||
/// </summary>
|
||||
public string? ImageUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 所需积分
|
||||
/// </summary>
|
||||
public int Price { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 商品类型: MakeUpCard, PetBg
|
||||
/// </summary>
|
||||
public string Type { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 售卖状态: OnSale, OffSale
|
||||
/// </summary>
|
||||
public string SaleStatus { get; set; } = "OnSale";
|
||||
|
||||
/// <summary>
|
||||
/// 扩展数据
|
||||
/// </summary>
|
||||
public string? MetaData { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否上架
|
||||
/// </summary>
|
||||
public bool IsActive { get; set; } = true;
|
||||
|
||||
/// <summary>
|
||||
/// 库存(-1无限)
|
||||
/// </summary>
|
||||
public int Stock { get; set; } = -1;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 商品输出
|
||||
/// </summary>
|
||||
public class ProductOutput
|
||||
{
|
||||
/// <summary>
|
||||
/// 主键ID
|
||||
/// </summary>
|
||||
public long Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 商品名称
|
||||
/// </summary>
|
||||
public string Name { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 描述
|
||||
/// </summary>
|
||||
public string? Description { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 商品图片
|
||||
/// </summary>
|
||||
public string? ImageUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 所需积分
|
||||
/// </summary>
|
||||
public int Price { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 商品类型
|
||||
/// </summary>
|
||||
public string Type { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 售卖状态
|
||||
/// </summary>
|
||||
public string SaleStatus { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 扩展数据
|
||||
/// </summary>
|
||||
public string? MetaData { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否上架
|
||||
/// </summary>
|
||||
public bool IsActive { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 库存(-1无限)
|
||||
/// </summary>
|
||||
public int Stock { 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 ProductQueryInput : PageQueryModel
|
||||
{
|
||||
/// <summary>
|
||||
/// 商品名称(模糊查询)
|
||||
/// </summary>
|
||||
public string? Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 商品类型
|
||||
/// </summary>
|
||||
public string? Type { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 售卖状态: OnSale, OffSale
|
||||
/// </summary>
|
||||
public string? SaleStatus { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否上架
|
||||
/// </summary>
|
||||
public bool? IsActive { get; set; }
|
||||
}
|
||||
71
QYZH.InteractiveMagazine.Models/Dto/UsersDto.cs
Normal file
71
QYZH.InteractiveMagazine.Models/Dto/UsersDto.cs
Normal file
@ -0,0 +1,71 @@
|
||||
using QYZH.InteractiveMagazine.Models.Dto;
|
||||
|
||||
namespace QYZH.InteractiveMagazine.IService.Dto;
|
||||
|
||||
/// <summary>
|
||||
/// Users查询输入DTO
|
||||
/// </summary>
|
||||
public class UsersQueryInput : PageQueryModel
|
||||
{
|
||||
/// <summary>
|
||||
/// 微信用户ID
|
||||
/// </summary>
|
||||
public string? WxUserId { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Users输出DTO (基本信息)
|
||||
/// </summary>
|
||||
public class UsersOutput
|
||||
{
|
||||
/// <summary>
|
||||
/// 主键ID
|
||||
/// </summary>
|
||||
public long Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 微信用户ID
|
||||
/// </summary>
|
||||
public string WxUserId { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 昵称
|
||||
/// </summary>
|
||||
public string Name { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 头像地址
|
||||
/// </summary>
|
||||
public string? AvatarUrl { 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>
|
||||
/// 更新用户状态输入DTO
|
||||
/// </summary>
|
||||
public class UpdateUserStatusInput
|
||||
{
|
||||
/// <summary>
|
||||
/// 用户状态: 1-启用, 2-冻结
|
||||
/// </summary>
|
||||
public int Status { get; set; }
|
||||
}
|
||||
@ -1,7 +1,19 @@
|
||||
using QYZH.InteractiveMagazine.Models.Dto;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace QYZH.InteractiveMagazine.IService.Dto;
|
||||
|
||||
/// <summary>
|
||||
/// 微信小程序登录输入
|
||||
/// </summary>
|
||||
public class WeChatLoginInput
|
||||
{
|
||||
/// <summary>
|
||||
/// 微信登录凭证(wx.login 获取的 code)
|
||||
/// </summary>
|
||||
public string Code { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 微信登录输出
|
||||
/// </summary>
|
||||
@ -177,3 +189,39 @@ public class WxUserQueryInput : PageQueryModel
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 微信 code2session 接口响应
|
||||
/// </summary>
|
||||
public class WxCode2SessionResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 用户唯一标识
|
||||
/// </summary>
|
||||
[JsonProperty("openid")]
|
||||
public string? OpenId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 会话密钥
|
||||
/// </summary>
|
||||
[JsonProperty("session_key")]
|
||||
public string? SessionKey { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 用户统一标识(在开放平台绑定了多个应用时使用)
|
||||
/// </summary>
|
||||
[JsonProperty("unionid")]
|
||||
public string? UnionId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 错误码
|
||||
/// </summary>
|
||||
[JsonProperty("errcode")]
|
||||
public int ErrCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 错误信息
|
||||
/// </summary>
|
||||
[JsonProperty("errmsg")]
|
||||
public string? ErrMsg { get; set; }
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user