feat: 新增微信用户名字段并优化用户数据查询及接口请求方式
1. 新增WxUserName字段到UsersOutput Dto用于存储微信用户名 2. 关联WxUser表查询以获取微信用户名数据 3. 将用户相关的GET接口修改为POST接口,使用FromBody接收参数
This commit is contained in:
@ -28,10 +28,27 @@ public class UsersService(
|
||||
/// </summary>
|
||||
public async Task<BaseResponse<PageListModel<UsersOutput>>> GetListAsync(UsersQueryInput input)
|
||||
{
|
||||
var page = Queryable()
|
||||
.WhereIF(!string.IsNullOrEmpty(input.WxUserId), u => u.WxUserId.ToString() == input.WxUserId)
|
||||
.OrderBy(u => u.Id, OrderByType.Desc)
|
||||
.ToPage<Users, UsersOutput>(input);
|
||||
RefAsync<int> totalNumber = 0;
|
||||
var list = await Queryable()
|
||||
.LeftJoin<WxUser>((u, w) => u.WxUserId == w.Id && !w.IsDeleted)
|
||||
.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);
|
||||
}
|
||||
@ -41,7 +58,23 @@ public class UsersService(
|
||||
/// </summary>
|
||||
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)
|
||||
{
|
||||
return BaseResponse<UserDetailOutput>.Fail("用户不存在");
|
||||
|
||||
Reference in New Issue
Block a user