60 lines
1.9 KiB
C#
60 lines
1.9 KiB
C#
|
|
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("更新失败");
|
||
|
|
}
|
||
|
|
}
|