refactor: 重构项目基础架构与实体体系
- 替换原有自定义生命周期接口为通用基础服务体系 - 将所有实体基类替换为带雪花ID的SqlSugarBaseEntity - 迁移DTO到Models项目并统一管理 - 移除冗余的Repository层实现,改用通用基础服务 - 添加Yitter.IdGenerator雪花ID生成支持 - 重构SqlSugar数据库上下文与依赖注入配置 - 新增微信用户、用户勋章、背包等实体与配套服务 - 整理分页查询与结果封装类 - 优化WebApi控制器结构
This commit is contained in:
96
QYZH.InteractiveMagazine.Models/Dto/Admin/AdminUserDto.cs
Normal file
96
QYZH.InteractiveMagazine.Models/Dto/Admin/AdminUserDto.cs
Normal file
@ -0,0 +1,96 @@
|
||||
using QYZH.InteractiveMagazine.Models.Dto;
|
||||
|
||||
namespace QYZH.InteractiveMagazine.Models.Dto;
|
||||
|
||||
/// <summary>
|
||||
/// 管理员创建/更新输入
|
||||
/// </summary>
|
||||
public class AdminUserInput
|
||||
{
|
||||
/// <summary>
|
||||
/// 用户名
|
||||
/// </summary>
|
||||
public string UserName { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 密码(创建时必填,更新时为空表示不修改密码)
|
||||
/// </summary>
|
||||
public string? Password { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 管理员类型: SuperAdmin, Editor
|
||||
/// </summary>
|
||||
public string Type { get; set; } = "Editor";
|
||||
|
||||
/// <summary>
|
||||
/// 状态: Active, Inactive
|
||||
/// </summary>
|
||||
public string Status { get; set; } = "Active";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 管理员输出
|
||||
/// </summary>
|
||||
public class AdminUserOutput
|
||||
{
|
||||
/// <summary>
|
||||
/// 主键ID
|
||||
/// </summary>
|
||||
public long Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 用户名
|
||||
/// </summary>
|
||||
public string UserName { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 管理员类型
|
||||
/// </summary>
|
||||
public string Type { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 状态
|
||||
/// </summary>
|
||||
public string Status { get; set; } = string.Empty;
|
||||
|
||||
/// <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 AdminUserQueryInput : PageQueryModel
|
||||
{
|
||||
/// <summary>
|
||||
/// 用户名(模糊查询)
|
||||
/// </summary>
|
||||
public string? UserName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 管理员类型
|
||||
/// </summary>
|
||||
public string? Type { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 状态
|
||||
/// </summary>
|
||||
public string? Status { get; set; }
|
||||
}
|
||||
40
QYZH.InteractiveMagazine.Models/Dto/Admin/AuthDto.cs
Normal file
40
QYZH.InteractiveMagazine.Models/Dto/Admin/AuthDto.cs
Normal file
@ -0,0 +1,40 @@
|
||||
namespace QYZH.InteractiveMagazine.Models.Dto;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 管理员登录输入
|
||||
/// </summary>
|
||||
public class AdminLoginInput
|
||||
{
|
||||
/// <summary>
|
||||
/// 用户名
|
||||
/// </summary>
|
||||
public string UserName { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 密码
|
||||
/// </summary>
|
||||
public string Password { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
public class AdminLoginOutput
|
||||
{
|
||||
public string Token { get; set; } = string.Empty;
|
||||
|
||||
public long UserId { get; set; }
|
||||
|
||||
public string UserName { get; set; } = string.Empty;
|
||||
|
||||
public string Type { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
public class AdminUserInfoOutput
|
||||
{
|
||||
public long UserId { get; set; }
|
||||
|
||||
public string UserName { get; set; } = string.Empty;
|
||||
|
||||
public string Type { get; set; } = string.Empty;
|
||||
|
||||
public string Status { get; set; } = string.Empty;
|
||||
}
|
||||
@ -1,33 +1,73 @@
|
||||
namespace QYZH.InteractiveMagazine.Models.Dto;
|
||||
|
||||
/// <summary>
|
||||
/// 分页输出
|
||||
/// 通用分页信息类
|
||||
/// </summary>
|
||||
/// <typeparam name="T">数据类型</typeparam>
|
||||
public class PageListModel<T>
|
||||
{
|
||||
/// <summary>
|
||||
/// 页码
|
||||
/// 每页行数
|
||||
/// </summary>
|
||||
public int PageIndex { get; set; }
|
||||
|
||||
public int PageSize { get; set; } = 10;
|
||||
/// <summary>
|
||||
/// 每页条数
|
||||
/// 当前页
|
||||
/// </summary>
|
||||
public int PageSize { get; set; }
|
||||
|
||||
public int PageIndex { get; set; } = 1;
|
||||
/// <summary>
|
||||
/// 总记录数
|
||||
/// </summary>
|
||||
public long TotalCount { get; set; }
|
||||
|
||||
public int TotalNum { get; set; }
|
||||
/// <summary>
|
||||
/// 总页数
|
||||
/// </summary>
|
||||
public int TotalPages => PageSize > 0 ? (int)Math.Ceiling((double)TotalCount / PageSize) : 0;
|
||||
public int TotalPage
|
||||
{
|
||||
get
|
||||
{
|
||||
if (TotalNum > 0)
|
||||
return TotalNum % PageSize == 0 ? TotalNum / PageSize : TotalNum / PageSize + 1;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
public List<T> Result { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 数据列表
|
||||
/// 额外数据
|
||||
/// </summary>
|
||||
public List<T>? List { get; set; }
|
||||
public Dictionary<string, object> Extra { get; set; } = new Dictionary<string, object>();
|
||||
/// <summary>
|
||||
/// 是否有上一页
|
||||
/// </summary>
|
||||
public bool HasPrev
|
||||
{
|
||||
get
|
||||
{
|
||||
return PageIndex > 1;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 下一页是否可用
|
||||
/// </summary>
|
||||
public bool HasNext
|
||||
{
|
||||
get
|
||||
{
|
||||
return TotalPage > PageIndex;
|
||||
}
|
||||
}
|
||||
|
||||
public PageListModel()
|
||||
{
|
||||
}
|
||||
|
||||
public PageListModel(List<T> result, int pageIndex, int pageSize, int totalNum)
|
||||
{
|
||||
PageIndex = pageIndex;
|
||||
PageSize = pageSize;
|
||||
TotalNum = totalNum;
|
||||
Result = result;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,27 +1,57 @@
|
||||
namespace QYZH.InteractiveMagazine.Models.Dto;
|
||||
|
||||
/// <summary>
|
||||
/// 分页查询输入
|
||||
/// 通用分页查询类
|
||||
/// </summary>
|
||||
public class PageQueryModel
|
||||
{
|
||||
/// <summary>
|
||||
/// 页码,默认1
|
||||
///当前页
|
||||
/// </summary>
|
||||
public int PageIndex { get; set; } = 1;
|
||||
|
||||
/// <summary>
|
||||
/// 每页条数,默认10
|
||||
///每页条数
|
||||
/// </summary>
|
||||
public int PageSize { get; set; } = 10;
|
||||
|
||||
/// <summary>
|
||||
/// 排序字段
|
||||
/// </summary>
|
||||
public string? SortField { get; set; }
|
||||
public string Sort { get; set; } = string.Empty;
|
||||
/// <summary>
|
||||
/// 排序类型,前端传入的是"ascending","descending"
|
||||
/// </summary>
|
||||
public string SortType { get; set; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 排序方式(asc/desc)
|
||||
/// 关键字
|
||||
/// </summary>
|
||||
public string? SortOrder { get; set; }
|
||||
public string? KeyWord { get; set; }
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 分页查询泛型类
|
||||
/// </summary>
|
||||
/// <typeparam name="T">查询参数类型</typeparam>
|
||||
public class PageQueryModel<T> : PageQueryModel where T : class, new()
|
||||
{
|
||||
/// <summary>
|
||||
/// 查询参数
|
||||
/// </summary>
|
||||
public T Params { get; set; } = new T();
|
||||
|
||||
public TP ConvertTo<TP>() where TP : class
|
||||
{
|
||||
if (Params != null)
|
||||
{
|
||||
return Params as TP;
|
||||
}
|
||||
return default;
|
||||
}
|
||||
|
||||
public int Start => (PageIndex - 1) * PageSize + 1;
|
||||
|
||||
public int End => PageIndex * PageSize;
|
||||
}
|
||||
|
||||
198
QYZH.InteractiveMagazine.Models/Dto/WeChat/WeChatDto.cs
Normal file
198
QYZH.InteractiveMagazine.Models/Dto/WeChat/WeChatDto.cs
Normal file
@ -0,0 +1,198 @@
|
||||
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; }
|
||||
|
||||
/// <summary>
|
||||
/// 用户类型
|
||||
/// </summary>
|
||||
public string? Type { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 状态
|
||||
/// </summary>
|
||||
public string? Status { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 微信手机号获取输出
|
||||
/// </summary>
|
||||
public class WeChatPhoneNumberOutput
|
||||
{
|
||||
/// <summary>
|
||||
/// 手机号
|
||||
/// </summary>
|
||||
public string PhoneNumber { get; set; } = string.Empty;
|
||||
}
|
||||
@ -6,19 +6,12 @@ namespace QYZH.InteractiveMagazine.Models.Entity
|
||||
///后台管理员表
|
||||
///</summary>
|
||||
[SugarTable("AdminUser")]
|
||||
public partial class AdminUser : BaseEntity
|
||||
public partial class AdminUser : SqlSugarBaseEntity
|
||||
{
|
||||
public AdminUser(){
|
||||
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// Desc:主键
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
[SugarColumn(IsPrimaryKey=true,IsIdentity=true)]
|
||||
public new int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:用户名
|
||||
|
||||
@ -1,43 +0,0 @@
|
||||
using SqlSugar;
|
||||
|
||||
namespace QYZH.InteractiveMagazine.Models.Entity;
|
||||
|
||||
/// <summary>
|
||||
/// 基础实体类
|
||||
/// </summary>
|
||||
public abstract class BaseEntity
|
||||
{
|
||||
/// <summary>
|
||||
/// 主键Id
|
||||
/// </summary>
|
||||
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
|
||||
public long Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否已删除
|
||||
/// </summary>
|
||||
[SugarColumn(IsIgnore = false)]
|
||||
public bool IsDeleted { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// 创建人
|
||||
/// </summary>
|
||||
[SugarColumn(Length = 50)]
|
||||
public string? CreatedBy { get; set; } = "System";
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间
|
||||
/// </summary>
|
||||
public DateTime CreatedAt { get; set; } = DateTime.Now;
|
||||
|
||||
/// <summary>
|
||||
/// 更新人
|
||||
/// </summary>
|
||||
[SugarColumn(Length = 50)]
|
||||
public string? UpdatedBy { get; set; } = "System";
|
||||
|
||||
/// <summary>
|
||||
/// 更新时间
|
||||
/// </summary>
|
||||
public DateTime? UpdatedAt { get; set; } = DateTime.Now;
|
||||
}
|
||||
@ -6,19 +6,13 @@ namespace QYZH.InteractiveMagazine.Models.Entity
|
||||
///签到配置表
|
||||
///</summary>
|
||||
[SugarTable("CheckInConfig")]
|
||||
public partial class CheckInConfig : BaseEntity
|
||||
public partial class CheckInConfig : SqlSugarBaseEntity
|
||||
{
|
||||
public CheckInConfig(){
|
||||
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// Desc:主键
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
[SugarColumn(IsPrimaryKey=true,IsIdentity=true)]
|
||||
public new int Id {get;set;}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Desc:连续签到天数
|
||||
|
||||
@ -6,18 +6,18 @@ namespace QYZH.InteractiveMagazine.Models.Entity
|
||||
///签到记录表
|
||||
///</summary>
|
||||
[SugarTable("CheckInRecord")]
|
||||
public partial class CheckInRecord : BaseEntity
|
||||
public partial class CheckInRecord : SqlSugarBaseEntity
|
||||
{
|
||||
public CheckInRecord(){
|
||||
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// Desc:用户Id
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public long UserId {get;set;}
|
||||
/// <summary>
|
||||
/// Desc:用户Id
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public long UserId {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:签到日期
|
||||
|
||||
@ -6,18 +6,19 @@ namespace QYZH.InteractiveMagazine.Models.Entity
|
||||
///社区预置消息表
|
||||
///</summary>
|
||||
[SugarTable("CommunityMessage")]
|
||||
public partial class CommunityMessage : BaseEntity
|
||||
public partial class CommunityMessage : SqlSugarBaseEntity
|
||||
{
|
||||
public CommunityMessage(){
|
||||
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// Desc:期刊Id
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public long JournalId {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:期刊Id
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public long JournalId {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:消息内容
|
||||
|
||||
@ -6,18 +6,18 @@ namespace QYZH.InteractiveMagazine.Models.Entity
|
||||
///期刊表
|
||||
///</summary>
|
||||
[SugarTable("Journal")]
|
||||
public partial class Journal : BaseEntity
|
||||
public partial class Journal : SqlSugarBaseEntity
|
||||
{
|
||||
public Journal(){
|
||||
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// Desc:期刊号
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int IssueNumber {get;set;}
|
||||
/// <summary>
|
||||
/// Desc:期刊号
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int IssueNumber {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:期刊标题
|
||||
|
||||
@ -6,74 +6,68 @@ namespace QYZH.InteractiveMagazine.Models.Entity
|
||||
///勋章定义表
|
||||
///</summary>
|
||||
[SugarTable("Medal")]
|
||||
public partial class Medal : BaseEntity
|
||||
public partial class Medal : SqlSugarBaseEntity
|
||||
{
|
||||
public Medal(){
|
||||
public Medal()
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// Desc:主键
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
[SugarColumn(IsPrimaryKey=true,IsIdentity=true)]
|
||||
public new int Id {get;set;}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:勋章名称
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string Name {get;set;}
|
||||
/// <summary>
|
||||
/// Desc:勋章名称
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:获得条件描述
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string Description {get;set;}
|
||||
/// <summary>
|
||||
/// Desc:获得条件描述
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string Description { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:图片地址
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string ImageUrl {get;set;}
|
||||
/// <summary>
|
||||
/// Desc:图片地址
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string ImageUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:条件类型: EvolutionCount, FeedingCount等
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string ConditionType {get;set;}
|
||||
/// <summary>
|
||||
/// Desc:条件类型: EvolutionCount, FeedingCount等
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string ConditionType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:条件阈值
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int ConditionValue {get;set;}
|
||||
/// <summary>
|
||||
/// Desc:条件阈值
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int ConditionValue { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:排序
|
||||
/// Default:0
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int SortOrder {get;set;}
|
||||
/// <summary>
|
||||
/// Desc:排序
|
||||
/// Default:0
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int SortOrder { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:勋章的类型: Pet, Community
|
||||
/// Default:Pet
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string Type {get;set;}
|
||||
/// <summary>
|
||||
/// Desc:勋章的类型: Pet, Community
|
||||
/// Default:Pet
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string Type { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:状态: Active, Inactive
|
||||
/// Default:Active
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string Status {get;set;}
|
||||
/// <summary>
|
||||
/// Desc:状态: Active, Inactive
|
||||
/// Default:Active
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string Status { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,18 +6,19 @@ namespace QYZH.InteractiveMagazine.Models.Entity
|
||||
///模板评论表
|
||||
///</summary>
|
||||
[SugarTable("MessageComment")]
|
||||
public partial class MessageComment : BaseEntity
|
||||
public partial class MessageComment : SqlSugarBaseEntity
|
||||
{
|
||||
public MessageComment(){
|
||||
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// Desc:用户Id
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public long UserId {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:用户Id
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public long UserId {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:消息Id
|
||||
|
||||
@ -6,18 +6,18 @@ namespace QYZH.InteractiveMagazine.Models.Entity
|
||||
///点赞记录表
|
||||
///</summary>
|
||||
[SugarTable("MessageLike")]
|
||||
public partial class MessageLike : BaseEntity
|
||||
public partial class MessageLike : SqlSugarBaseEntity
|
||||
{
|
||||
public MessageLike(){
|
||||
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// Desc:用户Id
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public long UserId {get;set;}
|
||||
/// <summary>
|
||||
/// Desc:用户Id
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public long UserId {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:消息Id
|
||||
|
||||
@ -6,18 +6,18 @@ namespace QYZH.InteractiveMagazine.Models.Entity
|
||||
///宠物实例表
|
||||
///</summary>
|
||||
[SugarTable("Pet")]
|
||||
public partial class Pet : BaseEntity
|
||||
public partial class Pet : SqlSugarBaseEntity
|
||||
{
|
||||
public Pet(){
|
||||
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// Desc:用户Id
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public long UserId {get;set;}
|
||||
/// <summary>
|
||||
/// Desc:用户Id
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public long UserId {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:宠物昵称
|
||||
|
||||
@ -6,19 +6,12 @@ namespace QYZH.InteractiveMagazine.Models.Entity
|
||||
///宠物进化链定义表
|
||||
///</summary>
|
||||
[SugarTable("PetEvolution")]
|
||||
public partial class PetEvolution : BaseEntity
|
||||
public partial class PetEvolution : SqlSugarBaseEntity
|
||||
{
|
||||
public PetEvolution(){
|
||||
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// Desc:主键
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
[SugarColumn(IsPrimaryKey=true,IsIdentity=true)]
|
||||
public new int Id {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:阶段名称
|
||||
|
||||
@ -6,18 +6,19 @@ namespace QYZH.InteractiveMagazine.Models.Entity
|
||||
///宠物喂养记录表
|
||||
///</summary>
|
||||
[SugarTable("PetFeedingRecord")]
|
||||
public partial class PetFeedingRecord : BaseEntity
|
||||
public partial class PetFeedingRecord : SqlSugarBaseEntity
|
||||
{
|
||||
public PetFeedingRecord(){
|
||||
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// Desc:宠物Id
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public long PetId {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:宠物Id
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public long PetId {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:用户Id
|
||||
|
||||
@ -6,18 +6,19 @@ namespace QYZH.InteractiveMagazine.Models.Entity
|
||||
///积分流水记录表
|
||||
///</summary>
|
||||
[SugarTable("PointsRecord")]
|
||||
public partial class PointsRecord : BaseEntity
|
||||
public partial class PointsRecord : SqlSugarBaseEntity
|
||||
{
|
||||
public PointsRecord(){
|
||||
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// Desc:用户Id
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public long UserId {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:用户Id
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public long UserId {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:变动数值
|
||||
|
||||
@ -6,19 +6,12 @@ namespace QYZH.InteractiveMagazine.Models.Entity
|
||||
///虚拟商品表
|
||||
///</summary>
|
||||
[SugarTable("Product")]
|
||||
public partial class Product : BaseEntity
|
||||
public partial class Product : SqlSugarBaseEntity
|
||||
{
|
||||
public Product(){
|
||||
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// Desc:主键
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
[SugarColumn(IsPrimaryKey=true,IsIdentity=true)]
|
||||
public new int Id {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:商品名称
|
||||
|
||||
63
QYZH.InteractiveMagazine.Models/Entity/SqlSugarBaseEntity.cs
Normal file
63
QYZH.InteractiveMagazine.Models/Entity/SqlSugarBaseEntity.cs
Normal file
@ -0,0 +1,63 @@
|
||||
using SqlSugar;
|
||||
using Yitter.IdGenerator;
|
||||
|
||||
namespace QYZH.InteractiveMagazine.Models.Entity
|
||||
{
|
||||
public class SqlSugarBaseEntity
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Desc:主键
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public long Id { get; set; } = YitIdHelper.NextId();
|
||||
/// <summary>
|
||||
/// Desc:状态 0禁用 1启用
|
||||
/// Default:1
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "Status")]
|
||||
public string Status { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:是否删除
|
||||
/// Default:b'0'
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "IsDeleted")]
|
||||
public bool IsDeleted { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// Desc:创建人
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "CreatedBy", IsOnlyIgnoreUpdate = true)]
|
||||
public string CreatedBy { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:创建时间
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "CreatedAt", IsOnlyIgnoreUpdate = true)]
|
||||
public DateTime CreatedAt { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:修改人
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "updatedBy", IsOnlyIgnoreInsert = true)]
|
||||
public string UpdatedBy { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:修改时间
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "UpdatedAt", IsOnlyIgnoreInsert = true)]
|
||||
public DateTime? UpdatedAt { get; set; }
|
||||
}
|
||||
}
|
||||
@ -6,19 +6,13 @@ namespace QYZH.InteractiveMagazine.Models.Entity
|
||||
///固定模板言论表
|
||||
///</summary>
|
||||
[SugarTable("TemplateSentence")]
|
||||
public partial class TemplateSentence : BaseEntity
|
||||
public partial class TemplateSentence : SqlSugarBaseEntity
|
||||
{
|
||||
public TemplateSentence(){
|
||||
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// Desc:主键
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
[SugarColumn(IsPrimaryKey=true,IsIdentity=true)]
|
||||
public new int Id {get;set;}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Desc:模板内容
|
||||
|
||||
@ -1,71 +0,0 @@
|
||||
using SqlSugar;
|
||||
|
||||
namespace QYZH.InteractiveMagazine.Models.Entity
|
||||
{
|
||||
///<summary>
|
||||
///用户表
|
||||
///</summary>
|
||||
[SugarTable("User")]
|
||||
public partial class User : BaseEntity
|
||||
{
|
||||
public User(){
|
||||
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// Desc:微信OpenId
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string OpenId {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:微信UnionId
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string UnionId {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:昵称
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string NickName {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:头像地址
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string AvatarUrl {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:手机号
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string Phone {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:积分余额
|
||||
/// Default:0
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int Points {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:用户类型: Normal, VIP
|
||||
/// Default:Normal
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string Type {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:状态: Active, Disabled
|
||||
/// Default:Active
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string Status {get;set;}
|
||||
}
|
||||
}
|
||||
80
QYZH.InteractiveMagazine.Models/Entity/WxUser.cs
Normal file
80
QYZH.InteractiveMagazine.Models/Entity/WxUser.cs
Normal file
@ -0,0 +1,80 @@
|
||||
using SqlSugar;
|
||||
|
||||
namespace QYZH.InteractiveMagazine.Models.Entity
|
||||
{
|
||||
///<summary>
|
||||
///用户表
|
||||
///</summary>
|
||||
[SugarTable("WxUser")]
|
||||
public partial class WxUser : SqlSugarBaseEntity
|
||||
{
|
||||
/// <summary>
|
||||
/// Desc:微信OpenId
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string OpenId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:微信UnionId
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string UnionId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:昵称
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string NickName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:头像地址
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string AvatarUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:手机号
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string Phone { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:积分余额
|
||||
/// Default:0
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int Points { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:用户类型: Normal, VIP
|
||||
/// Default:Normal
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string Type { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:状态: Active, Disabled
|
||||
/// Default:Active
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string Status { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:密码,默认手机后4位
|
||||
/// Default:Active
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public string Pwd { get; set; }
|
||||
/// <summary>
|
||||
/// Desc:当前成长值
|
||||
/// Default:0
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public int GrowthPoints { get; set; }
|
||||
}
|
||||
}
|
||||
@ -5,10 +5,10 @@ namespace QYZH.InteractiveMagazine.Models.Entity
|
||||
///<summary>
|
||||
///用户背包表
|
||||
///</summary>
|
||||
[SugarTable("UserBag")]
|
||||
public partial class UserBag : BaseEntity
|
||||
[SugarTable("WxUserBag")]
|
||||
public partial class WxUserBag : SqlSugarBaseEntity
|
||||
{
|
||||
public UserBag(){
|
||||
public WxUserBag(){
|
||||
|
||||
|
||||
}
|
||||
@ -5,10 +5,10 @@ namespace QYZH.InteractiveMagazine.Models.Entity
|
||||
///<summary>
|
||||
///用户勋章表
|
||||
///</summary>
|
||||
[SugarTable("UserMedal")]
|
||||
public partial class UserMedal : BaseEntity
|
||||
[SugarTable("WxUserMedal")]
|
||||
public partial class WxUserMedal : SqlSugarBaseEntity
|
||||
{
|
||||
public UserMedal(){
|
||||
public WxUserMedal(){
|
||||
|
||||
|
||||
}
|
||||
@ -8,7 +8,9 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Mapster" Version="7.4.0" />
|
||||
<PackageReference Include="SqlSugarCore" Version="5.1.4.166" />
|
||||
<PackageReference Include="Yitter.IdGenerator" Version="1.0.14" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
Reference in New Issue
Block a user