Browse Source

成员头像

xda 2 years ago
parent
commit
6d2d1bc78a

+ 16 - 0
src/main/java/com/winhc/repal/service/UserInfoService.java

@@ -0,0 +1,16 @@
+package com.winhc.repal.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.winhc.repal.entity.UserInfo;
+
+
+/**
+ * @description UserInfo 接口类
+ * @author Generator
+ * @date 2022-04-08
+ */
+public interface UserInfoService extends IService<UserInfo> {
+
+
+
+}

+ 13 - 3
src/main/java/com/winhc/repal/service/impl/RepalGroupMemberServiceImpl.java

@@ -11,7 +11,7 @@ import com.winhc.repal.cloud.dto.RepalRegUserDTO;
 import com.winhc.repal.cloud.dto.RepalRegUserInfoDTO;
 import com.winhc.repal.entity.RepalGroupMember;
 import com.winhc.repal.entity.RepalGroupRole;
-import com.winhc.repal.entity.UserExt;
+import com.winhc.repal.entity.UserInfo;
 import com.winhc.repal.enums.DeletedStatusEnum;
 import com.winhc.repal.enums.RepalBillTypeEnum;
 import com.winhc.repal.enums.RoleTypeEnum;
@@ -22,6 +22,7 @@ import com.winhc.repal.repository.RepalGroupMemberMapper;
 import com.winhc.repal.service.RepalGroupMemberService;
 import com.winhc.repal.service.RepalGroupRoleService;
 import com.winhc.repal.service.UserExtService;
+import com.winhc.repal.service.UserInfoService;
 import com.winhc.repal.util.UserContextUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -53,6 +54,9 @@ public class RepalGroupMemberServiceImpl extends ServiceImpl<RepalGroupMemberMap
     @Autowired
     private LoginService loginService;
 
+    @Autowired
+    private UserInfoService userInfoService;
+
     @Override
     public Long getUserGroupId(Long userId) {
         RepalGroupMember repalGroupMember = this.getOne(Wrappers.lambdaQuery(RepalGroupMember.class)
@@ -101,20 +105,26 @@ public class RepalGroupMemberServiceImpl extends ServiceImpl<RepalGroupMemberMap
             return new ArrayList<>();
         }
         List<RepalGroupRole> roleList = repalGroupRoleService.getRoleByIdList(memberList.stream().map(RepalGroupMember::getRoleId).distinct().collect(Collectors.toList()));
+        List<UserInfo> userInfoList = userInfoService.list(Wrappers.lambdaQuery(UserInfo.class).in(UserInfo::getUserId,
+                memberList.stream().map(RepalGroupMember::getUserId).collect(Collectors.toList())));
         Map<Long, String> roleNameMap = roleList.stream().collect(Collectors.toMap(RepalGroupRole::getId, RepalGroupRole::getRoleName));
         Map<Long, List<RepalGroupMember>> memberMap = memberList.stream().collect(Collectors.groupingBy(RepalGroupMember::getRoleId, Collectors.toList()));
+        Map<Long, String> avatarMap = new HashMap<>();
+        if (CollUtil.isNotEmpty(userInfoList)) {
+            avatarMap = userInfoList.stream().collect(Collectors.toMap(UserInfo::getUserId, UserInfo::getAvatar));
+        }
         List<GroupRoleMemberVO> resultList = new ArrayList<>();
         for (Map.Entry<Long, List<RepalGroupMember>> entry : memberMap.entrySet()) {
             GroupRoleMemberVO vo = new GroupRoleMemberVO();
             vo.setRoleId(entry.getKey());
             vo.setRoleName(roleNameMap.get(entry.getKey()));
+            Map<Long, String> finalAvatarMap = avatarMap;
             vo.setRoleMemberList(entry.getValue().stream().map(t -> {
                 GroupRoleMemberVO.RoleMemberVO roleMemberVO = new GroupRoleMemberVO.RoleMemberVO();
                 roleMemberVO.setMemberId(t.getId());
                 roleMemberVO.setMemberName(t.getMemberUserName());
                 roleMemberVO.setUserId(t.getUserId());
-                // todo
-                //roleMemberVO.setAvatar();
+                roleMemberVO.setAvatar(finalAvatarMap.get(t.getUserId()));
                 return roleMemberVO;
             }).sorted(Comparator.comparing(GroupRoleMemberVO.RoleMemberVO::getMemberId).reversed()).collect(Collectors.toList()));
             resultList.add(vo);

+ 18 - 0
src/main/java/com/winhc/repal/service/impl/UserInfoServiceImpl.java

@@ -0,0 +1,18 @@
+package com.winhc.repal.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.winhc.repal.entity.UserInfo;
+import com.winhc.repal.repository.UserInfoMapper;
+import com.winhc.repal.service.UserInfoService;
+import org.springframework.stereotype.Service;
+
+/**
+ * @description UserInfoService 接口实现类
+ * @author Generator
+ * @date 2022-04-08
+ */
+@Service
+public class UserInfoServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo> implements UserInfoService {
+
+
+}