refactor: 重构用户与商品模块,统一业务模型与服务
1. 新增用户状态枚举UserStatusEnum,统一用户状态定义 2. 重构用户体系:合并WxUser与User实体为Users实体,统一用户管理 3. 新增微信小程序认证相关服务与控制器,实现一键登录功能 4. 新增商品管理完整服务与控制器,修复商品表字段映射问题 5. 删除冗余的WxUser相关服务与控制器代码 6. 新增Newtonsoft.Json依赖用于微信接口响应解析 7. 清理无用的文件夹引用配置
This commit is contained in:
59
QYZH.InteractiveMagazine.Service/UsersService.cs
Normal file
59
QYZH.InteractiveMagazine.Service/UsersService.cs
Normal file
@ -0,0 +1,59 @@
|
||||
using Microsoft.Extensions.Logging;
|
||||
using QYZH.InteractiveMagazine.IService;
|
||||
using QYZH.InteractiveMagazine.IService.Dto;
|
||||
using QYZH.InteractiveMagazine.Models.Common;
|
||||
using QYZH.InteractiveMagazine.Models.Dto;
|
||||
using QYZH.InteractiveMagazine.Models.Entity;
|
||||
using QYZH.InteractiveMagazine.Repository;
|
||||
using SqlSugar;
|
||||
|
||||
namespace QYZH.InteractiveMagazine.Service;
|
||||
|
||||
public class UsersService(BaseRepository<Users> usersRepository, ILogger<UsersService> _logger) : BaseRepository<Users>, IUsersService
|
||||
{
|
||||
/// <summary>
|
||||
/// 分页查询用户列表
|
||||
/// </summary>
|
||||
public async Task<BaseResponse<PageListModel<UsersOutput>>> GetListAsync(UsersQueryInput input)
|
||||
{
|
||||
var page = Queryable()
|
||||
.WhereIF(!string.IsNullOrEmpty(input.WxUserId), u => u.OpenId == input.WxUserId)
|
||||
.OrderBy(u => u.Id, OrderByType.Desc)
|
||||
.ToPage<Users, UsersOutput>(input);
|
||||
|
||||
return BaseResponse<PageListModel<UsersOutput>>.Success(page);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取用户详情
|
||||
/// </summary>
|
||||
public async Task<BaseResponse<UsersOutput>> GetDetailAsync(long id)
|
||||
{
|
||||
var user = await GetByIdAsync<UsersOutput>(u => u.Id == id);
|
||||
if (user == null)
|
||||
{
|
||||
return BaseResponse<UsersOutput>.Fail("用户不存在");
|
||||
}
|
||||
return BaseResponse<UsersOutput>.Success(user);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 更新用户状态
|
||||
/// </summary>
|
||||
public async Task<BaseResponse> UpdateStatusAsync(long id, UpdateUserStatusInput input)
|
||||
{
|
||||
var exists = await Queryable().AnyAsync(u => u.Id == id);
|
||||
if (!exists)
|
||||
{
|
||||
return BaseResponse.Fail("用户不存在");
|
||||
}
|
||||
|
||||
var statusValue = input.Status == 1 ? "Active" : "Disabled";
|
||||
var result = await UpdateAsync(
|
||||
u => new Users { Status = statusValue },
|
||||
u => u.Id == id
|
||||
);
|
||||
|
||||
return result ? BaseResponse.Success() : BaseResponse.Fail("更新失败");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user