Quellcode durchsuchen

Merge branch 'master' of http://139.224.213.4:3000/winhc-back/repal-service

zhangwei vor 2 Jahren
Ursprung
Commit
3da3a074ce

+ 3 - 0
src/main/java/com/winhc/repal/model/vo/GroupRoleMemberVO.java

@@ -44,6 +44,9 @@ public class GroupRoleMemberVO {
         @ApiModelProperty("成员id")
         private Long memberId;
 
+        @ApiModelProperty("openId")
+        private String openId;
+
     }
 
 

+ 0 - 2
src/main/java/com/winhc/repal/model/vo/MemberInfoVO.java

@@ -28,6 +28,4 @@ public class MemberInfoVO {
     @ApiModelProperty("上限数量")
     private Integer maxCount;
 
-    @ApiModelProperty("openId")
-    private String openId;
 }

+ 21 - 0
src/main/java/com/winhc/repal/model/vo/UserAvatarInfoVO.java

@@ -0,0 +1,21 @@
+package com.winhc.repal.model.vo;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+/**
+ * @Description: UserAvatarInfoVO
+ * @Author: xda
+ * @Date: 2022/5/27 17:07
+ */
+@Data
+@ApiModel("用户头像openid")
+public class UserAvatarInfoVO {
+
+
+    private Long userId;
+
+    private String avatar;
+
+    private String openId;
+}

+ 15 - 0
src/main/java/com/winhc/repal/repository/UserInfoMapper.java

@@ -2,12 +2,27 @@ package com.winhc.repal.repository;
 
 import com.winhc.repal.entity.UserInfo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.winhc.repal.model.vo.UserAvatarInfoVO;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
 
 /**
  * @description UserInfo Mapper 接口
  * @author Generator
  * @date 2022-04-13
  */
+@Repository
 public interface UserInfoMapper extends BaseMapper<UserInfo> {
 
+
+    /**
+     * 获取用户头像信息
+     * @param userIdList userIdList
+     * @return java.util.List<com.winhc.repal.model.vo.UserAvatarInfoVO>
+     * @author xda
+     * @date 2022/5/27 17:08
+     */
+    List<UserAvatarInfoVO> getUserAvatarInfo(@Param("userIdList") List<Long> userIdList);
 }

+ 0 - 13
src/main/java/com/winhc/repal/service/impl/RepalBillServiceImpl.java

@@ -263,19 +263,6 @@ public class RepalBillServiceImpl extends ServiceImpl<RepalBillMapper, RepalBill
         searchBillPageBO.setReceivableFlag(repalRolePermissionService.checkUserPermission(userId, PermissionEnum.QUERY_ALL_RECEIVABLE.getCode()));
         searchBillPageBO.setReceiptFlag(repalRolePermissionService.checkUserPermission(userId, PermissionEnum.QUERY_ALL_RECEIPT.getCode()));
         searchBillPageBO.setRepalBillType(dto.getRepalBillType());
-//        if (Objects.isNull(dto.getRepalBillType())) {
-//            searchBillPageBO.setReceivableFlag(repalRolePermissionService.checkUserPermission(userId, PermissionEnum.QUERY_ALL_RECEIVABLE.getCode()));
-//            searchBillPageBO.setReceiptFlag(repalRolePermissionService.checkUserPermission(userId, PermissionEnum.QUERY_ALL_RECEIPT.getCode()));
-//        } else {
-//            searchBillPageBO.setRepalBillType(dto.getRepalBillType());
-//            if (RepalBillTypeEnum.RECEIVABLE.getCode().equals(dto.getRepalBillType())) {
-//                searchBillPageBO.setReceivableFlag(repalRolePermissionService.checkUserPermission(userId, PermissionEnum.QUERY_ALL_RECEIVABLE.getCode()));
-//                searchBillPageBO.setReceiptFlag(false);
-//            } else {
-//                searchBillPageBO.setReceivableFlag(false);
-//                searchBillPageBO.setReceiptFlag(repalRolePermissionService.checkUserPermission(userId, PermissionEnum.QUERY_ALL_RECEIPT.getCode()));
-//            }
-//        }
         searchBillPageBO.setKeyword(dto.getKeyword());
         searchBillPageBO.setUserId(userId);
         searchBillPageBO.setRepalGroupId(groupId);

+ 16 - 15
src/main/java/com/winhc/repal/service/impl/RepalGroupMemberServiceImpl.java

@@ -19,7 +19,9 @@ import com.winhc.repal.model.dto.AddGroupMemberDTO;
 import com.winhc.repal.model.dto.UpdateMemberRoleDTO;
 import com.winhc.repal.model.vo.GroupRoleMemberVO;
 import com.winhc.repal.model.vo.MemberInfoVO;
+import com.winhc.repal.model.vo.UserAvatarInfoVO;
 import com.winhc.repal.repository.RepalGroupMemberMapper;
+import com.winhc.repal.repository.UserInfoMapper;
 import com.winhc.repal.service.*;
 import com.winhc.repal.util.UserContextUtil;
 import org.slf4j.Logger;
@@ -29,6 +31,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.*;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 
 /**
@@ -60,6 +63,9 @@ public class RepalGroupMemberServiceImpl extends ServiceImpl<RepalGroupMemberMap
     private UserInfoService userInfoService;
 
     @Autowired
+    private UserInfoMapper userInfoMapper;
+
+    @Autowired
     private RepalResponsiblePersonService repalResponsiblePersonService;
 
     @Autowired
@@ -126,26 +132,28 @@ 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())));
+        List<UserAvatarInfoVO> avatarInfo = userInfoMapper.getUserAvatarInfo(memberList.stream().map(RepalGroupMember::getUserId).collect(Collectors.toList()));
+        Map<Long, UserAvatarInfoVO> infoMap = new HashMap<>();
+        if (CollUtil.isNotEmpty(avatarInfo)) {
+            infoMap = avatarInfo.stream().collect(Collectors.toMap(UserAvatarInfoVO::getUserId, Function.identity()));
+        }
         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(HashMap::new, (k, v) -> k.put(v.getUserId(), v.getAvatar()), HashMap::putAll);
-        }
         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;
+            Map<Long, UserAvatarInfoVO> finalAvatarMap = infoMap;
             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());
-                roleMemberVO.setAvatar(finalAvatarMap.get(t.getUserId()));
+                if (finalAvatarMap.containsKey(t.getUserId())) {
+                    roleMemberVO.setAvatar(finalAvatarMap.get(t.getUserId()).getAvatar());
+                    roleMemberVO.setOpenId(finalAvatarMap.get(t.getUserId()).getOpenId());
+                }
                 return roleMemberVO;
             }).sorted(Comparator.comparing(GroupRoleMemberVO.RoleMemberVO::getMemberId).reversed()).collect(Collectors.toList()));
             resultList.add(vo);
@@ -264,14 +272,7 @@ public class RepalGroupMemberServiceImpl extends ServiceImpl<RepalGroupMemberMap
     @Override
     public MemberInfoVO getMemberInfo() {
         long userId = UserContextUtil.getUser().getUserId();
-        ThirdPartyAccount account = thirdPartyAccountService.getOne(Wrappers.lambdaQuery(ThirdPartyAccount.class)
-                .eq(ThirdPartyAccount::getUserId, userId)
-                .eq(ThirdPartyAccount::getDeleted, DeletedStatusEnum.NORMAL.getCode()));
-        if (Objects.isNull(account)) {
-            throw new CommonException(CodeMsg.FAILED, "个人信息错误");
-        }
         MemberInfoVO info = repalGroupMemberMapper.getMemberInfo(userId);
-        info.setOpenId(account.getOpenId());
         info.setMemberCount(this.count(Wrappers.lambdaQuery(RepalGroupMember.class)
                 .eq(RepalGroupMember::getRepalGroupId, info.getRepalGroupId())
                 .eq(RepalGroupMember::getDeleted, DeletedStatusEnum.NORMAL.getCode())));

+ 11 - 0
src/main/resources/mapper/UserInfoMapper.xml

@@ -2,4 +2,15 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.winhc.repal.repository.UserInfoMapper">
 
+    <select id="getUserAvatarInfo" parameterType="java.util.ArrayList" resultType="com.winhc.repal.model.vo.UserAvatarInfoVO">
+        SELECT userInfo.USER_ID AS userId, userInfo.AVATAR AS avatar, account.OPEN_ID AS openId FROM USER_INFO AS userInfo
+        LEFT JOIN THIRD_PARTY_ACCOUNT AS account ON userInfo.USER_ID = account.USER_ID AND account.DELETED = 0
+        WHERE userInfo.USER_ID IN
+        <foreach item="item" index="index" collection="userIdList" open="(" close=")" separator=",">
+            #{item}
+        </foreach>
+    </select>
+
+
+
 </mapper>