feat: 新增微信用户名字段并优化用户数据查询及接口请求方式
1. 新增WxUserName字段到UsersOutput Dto用于存储微信用户名 2. 关联WxUser表查询以获取微信用户名数据 3. 将用户相关的GET接口修改为POST接口,使用FromBody接收参数
This commit is contained in:
@ -26,6 +26,11 @@ public class UsersOutput
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public string WxUserId { get; set; } = string.Empty;
|
public string WxUserId { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 微信用户名
|
||||||
|
/// </summary>
|
||||||
|
public string? WxUserName { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 昵称
|
/// 昵称
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@ -28,10 +28,27 @@ public class UsersService(
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public async Task<BaseResponse<PageListModel<UsersOutput>>> GetListAsync(UsersQueryInput input)
|
public async Task<BaseResponse<PageListModel<UsersOutput>>> GetListAsync(UsersQueryInput input)
|
||||||
{
|
{
|
||||||
var page = Queryable()
|
RefAsync<int> totalNumber = 0;
|
||||||
.WhereIF(!string.IsNullOrEmpty(input.WxUserId), u => u.WxUserId.ToString() == input.WxUserId)
|
var list = await Queryable()
|
||||||
.OrderBy(u => u.Id, OrderByType.Desc)
|
.LeftJoin<WxUser>((u, w) => u.WxUserId == w.Id && !w.IsDeleted)
|
||||||
.ToPage<Users, UsersOutput>(input);
|
.WhereIF(!string.IsNullOrEmpty(input.WxUserId), (u, w) => u.WxUserId.ToString() == input.WxUserId)
|
||||||
|
.OrderBy((u, w) => u.Id, OrderByType.Desc)
|
||||||
|
.Select((u, w) => new UsersOutput
|
||||||
|
{
|
||||||
|
Id = u.Id,
|
||||||
|
WxUserId = u.WxUserId.ToString(),
|
||||||
|
WxUserName = w.Name,
|
||||||
|
Name = u.Name,
|
||||||
|
AvatarUrl = u.AvatarUrl,
|
||||||
|
Points = u.Points,
|
||||||
|
Type = u.Type.ToString(),
|
||||||
|
Status = u.Status.ToString(),
|
||||||
|
GrowthPoints = u.GrowthPoints,
|
||||||
|
UploadDomain = u.UploadDomain
|
||||||
|
})
|
||||||
|
.ToPageListAsync(input.PageIndex, input.PageSize, totalNumber);
|
||||||
|
|
||||||
|
var page = new PageListModel<UsersOutput>(list, input.PageIndex, input.PageSize, totalNumber);
|
||||||
|
|
||||||
return BaseResponse<PageListModel<UsersOutput>>.Success(page);
|
return BaseResponse<PageListModel<UsersOutput>>.Success(page);
|
||||||
}
|
}
|
||||||
@ -41,7 +58,23 @@ public class UsersService(
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public async Task<BaseResponse<UserDetailOutput>> GetDetailAsync(long id)
|
public async Task<BaseResponse<UserDetailOutput>> GetDetailAsync(long id)
|
||||||
{
|
{
|
||||||
var user = await GetByIdAsync<UsersOutput>(u => u.Id == id);
|
var user = await Queryable()
|
||||||
|
.LeftJoin<WxUser>((u, w) => u.WxUserId == w.Id && !w.IsDeleted)
|
||||||
|
.Where((u, w) => u.Id == id)
|
||||||
|
.Select((u, w) => new UsersOutput
|
||||||
|
{
|
||||||
|
Id = u.Id,
|
||||||
|
WxUserId = u.WxUserId.ToString(),
|
||||||
|
WxUserName = w.Name,
|
||||||
|
Name = u.Name,
|
||||||
|
AvatarUrl = u.AvatarUrl,
|
||||||
|
Points = u.Points,
|
||||||
|
Type = u.Type.ToString(),
|
||||||
|
Status = u.Status.ToString(),
|
||||||
|
GrowthPoints = u.GrowthPoints,
|
||||||
|
UploadDomain = u.UploadDomain
|
||||||
|
})
|
||||||
|
.FirstAsync();
|
||||||
if (user == null)
|
if (user == null)
|
||||||
{
|
{
|
||||||
return BaseResponse<UserDetailOutput>.Fail("用户不存在");
|
return BaseResponse<UserDetailOutput>.Fail("用户不存在");
|
||||||
|
|||||||
@ -28,8 +28,8 @@ public class UsersController : BaseController
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取用户列表(分页)
|
/// 获取用户列表(分页)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[HttpGet]
|
[HttpPost]
|
||||||
public async Task<BaseResponse<PageListModel<UsersOutput>>> GetList([FromQuery] UsersQueryInput input)
|
public async Task<BaseResponse<PageListModel<UsersOutput>>> GetList([FromBody] UsersQueryInput input)
|
||||||
{
|
{
|
||||||
return await _usersService.GetListAsync(input);
|
return await _usersService.GetListAsync(input);
|
||||||
}
|
}
|
||||||
@ -46,8 +46,8 @@ public class UsersController : BaseController
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 分页查询用户积分记录
|
/// 分页查询用户积分记录
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[HttpGet("{id}/pointsRecords")]
|
[HttpPost("{id}/pointsRecords")]
|
||||||
public async Task<BaseResponse<PageListModel<PointsRecordOutput>>> GetUserPointsRecords(long id, [FromQuery] PointsRecordQueryInput input)
|
public async Task<BaseResponse<PageListModel<PointsRecordOutput>>> GetUserPointsRecords(long id, [FromBody] PointsRecordQueryInput input)
|
||||||
{
|
{
|
||||||
return await _usersService.GetUserPointsRecordsAsync(id, input);
|
return await _usersService.GetUserPointsRecordsAsync(id, input);
|
||||||
}
|
}
|
||||||
@ -55,8 +55,8 @@ public class UsersController : BaseController
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 分页查询用户签到记录
|
/// 分页查询用户签到记录
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[HttpGet("{id}/checkInRecords")]
|
[HttpPost("{id}/checkInRecords")]
|
||||||
public async Task<BaseResponse<PageListModel<CheckInRecordOutput>>> GetUserCheckInRecords(long id, [FromQuery] PageQueryModel input)
|
public async Task<BaseResponse<PageListModel<CheckInRecordOutput>>> GetUserCheckInRecords(long id, [FromBody] PageQueryModel input)
|
||||||
{
|
{
|
||||||
return await _usersService.GetUserCheckInRecordsAsync(id, input);
|
return await _usersService.GetUserCheckInRecordsAsync(id, input);
|
||||||
}
|
}
|
||||||
@ -64,8 +64,8 @@ public class UsersController : BaseController
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 分页查询用户补偿任务
|
/// 分页查询用户补偿任务
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[HttpGet("{id}/compensationTasks")]
|
[HttpPost("{id}/compensationTasks")]
|
||||||
public async Task<BaseResponse<PageListModel<CompensationTaskOutput>>> GetUserCompensationTasks(long id, [FromQuery] CompensationTaskQueryInput input)
|
public async Task<BaseResponse<PageListModel<CompensationTaskOutput>>> GetUserCompensationTasks(long id, [FromBody] CompensationTaskQueryInput input)
|
||||||
{
|
{
|
||||||
return await _usersService.GetUserCompensationTasksAsync(id, input);
|
return await _usersService.GetUserCompensationTasksAsync(id, input);
|
||||||
}
|
}
|
||||||
@ -73,8 +73,8 @@ public class UsersController : BaseController
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 分页查询用户期刊列表
|
/// 分页查询用户期刊列表
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[HttpGet("{id}/journals")]
|
[HttpPost("{id}/journals")]
|
||||||
public async Task<BaseResponse<PageListModel<UserJournalItemOutput>>> GetUserJournals(long id, [FromQuery] UserJournalQueryInput input)
|
public async Task<BaseResponse<PageListModel<UserJournalItemOutput>>> GetUserJournals(long id, [FromBody] UserJournalQueryInput input)
|
||||||
{
|
{
|
||||||
return await _usersService.GetUserJournalsAsync(id, input);
|
return await _usersService.GetUserJournalsAsync(id, input);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user