update search user

This commit is contained in:
aichy126 2023-06-02 15:35:20 +08:00
parent 0744658d7a
commit a7948729d5
4 changed files with 12 additions and 10 deletions

View File

@ -623,6 +623,7 @@ func (uc *UserController) SearchUserListByName(ctx *gin.Context) {
if handler.BindAndCheck(ctx, req) { if handler.BindAndCheck(ctx, req) {
return return
} }
resp, err := uc.userService.SearchUserListByName(ctx, req.Username) req.UserID = middleware.GetLoginUserIDFromContext(ctx)
resp, err := uc.userService.SearchUserListByName(ctx, req)
handler.HandleResponse(ctx, err, resp) handler.HandleResponse(ctx, err, resp)
} }

View File

@ -355,6 +355,7 @@ type UserBasicInfo struct {
type GetOtherUserInfoByUsernameReq struct { type GetOtherUserInfoByUsernameReq struct {
Username string `validate:"required,gt=0,lte=500" form:"username"` Username string `validate:"required,gt=0,lte=500" form:"username"`
UserID string `json:"-"`
} }
type GetOtherUserInfoResp struct { type GetOtherUserInfoResp struct {

View File

@ -567,12 +567,9 @@ func (qs *QuestionService) UpdateQuestionInviteUser(ctx context.Context, req *sc
for _, item := range req.InviteUser { for _, item := range req.InviteUser {
_, ok := inviteUserInfoList[item] _, ok := inviteUserInfoList[item]
if ok { if ok {
//The inviter can't be himself.
if req.UserID != inviteUserInfoList[item].ID {
inviteUserIDs = append(inviteUserIDs, inviteUserInfoList[item].ID) inviteUserIDs = append(inviteUserIDs, inviteUserInfoList[item].ID)
} }
} }
}
inviteUserStr := "" inviteUserStr := ""
inviteUserByte, err := json.Marshal(inviteUserIDs) inviteUserByte, err := json.Marshal(inviteUserIDs)
if err != nil { if err != nil {

View File

@ -817,18 +817,21 @@ func (us *UserService) getUserInfoMapping(ctx context.Context, userIDs []string)
return userInfoMapping, nil return userInfoMapping, nil
} }
func (us *UserService) SearchUserListByName(ctx context.Context, name string) ([]*schema.UserBasicInfo, error) { func (us *UserService) SearchUserListByName(ctx context.Context, input *schema.GetOtherUserInfoByUsernameReq) ([]*schema.UserBasicInfo, error) {
userinfolist := make([]*schema.UserBasicInfo, 0) userinfolist := make([]*schema.UserBasicInfo, 0)
list, err := us.userRepo.SearchUserListByName(ctx, name) list, err := us.userRepo.SearchUserListByName(ctx, input.Username)
if err != nil { if err != nil {
return userinfolist, err return userinfolist, err
} }
avatarMapping := us.siteInfoService.FormatListAvatar(ctx, list) avatarMapping := us.siteInfoService.FormatListAvatar(ctx, list)
for _, user := range list { for _, user := range list {
if input.UserID != user.ID {
userinfo := us.userCommonService.FormatUserBasicInfo(ctx, user) userinfo := us.userCommonService.FormatUserBasicInfo(ctx, user)
userinfo.Avatar = avatarMapping[user.ID].GetURL() userinfo.Avatar = avatarMapping[user.ID].GetURL()
userinfolist = append(userinfolist, userinfo) userinfolist = append(userinfolist, userinfo)
} }
}
return userinfolist, nil return userinfolist, nil
} }