(ctx context.Context, userIDs []string)
| 142 | } |
| 143 | |
| 144 | func (us *UserCommon) BatchUserBasicInfoByID(ctx context.Context, userIDs []string) (map[string]*schema.UserBasicInfo, error) { |
| 145 | userIDs = checker.FilterEmptyString(userIDs) |
| 146 | userMap := make(map[string]*schema.UserBasicInfo) |
| 147 | if len(userIDs) == 0 { |
| 148 | return userMap, nil |
| 149 | } |
| 150 | userList, err := us.userRepo.BatchGetByID(ctx, userIDs) |
| 151 | if err != nil { |
| 152 | return userMap, err |
| 153 | } |
| 154 | avatarMapping := us.siteInfoCommonService.FormatListAvatar(ctx, userList) |
| 155 | for _, user := range userList { |
| 156 | info := us.FormatUserBasicInfo(ctx, user) |
| 157 | info.Avatar = avatarMapping[user.ID].GetURL() |
| 158 | userMap[user.ID] = info |
| 159 | } |
| 160 | for _, id := range userIDs { |
| 161 | if _, ok := userMap[id]; !ok { |
| 162 | userMap[id] = &schema.UserBasicInfo{ |
| 163 | ID: id, |
| 164 | DisplayName: "user" + converter.DeleteUserDisplay(id), |
| 165 | Status: constant.UserDeleted, |
| 166 | } |
| 167 | } |
| 168 | } |
| 169 | return userMap, nil |
| 170 | } |
| 171 | |
| 172 | // FormatUserBasicInfo format user basic info |
| 173 | func (us *UserCommon) FormatUserBasicInfo(ctx context.Context, userInfo *entity.User) *schema.UserBasicInfo { |
no test coverage detected