refactor: 重构项目基础架构与实体体系

- 替换原有自定义生命周期接口为通用基础服务体系
- 将所有实体基类替换为带雪花ID的SqlSugarBaseEntity
- 迁移DTO到Models项目并统一管理
- 移除冗余的Repository层实现,改用通用基础服务
- 添加Yitter.IdGenerator雪花ID生成支持
- 重构SqlSugar数据库上下文与依赖注入配置
- 新增微信用户、用户勋章、背包等实体与配套服务
- 整理分页查询与结果封装类
- 优化WebApi控制器结构
This commit is contained in:
glz
2026-06-02 14:10:43 +08:00
parent 831f8ba7f5
commit 8ed012bba8
51 changed files with 1762 additions and 1141 deletions

View File

@ -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;
}
}