diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java
index 098dd1c14d..faee6de155 100644
--- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java
+++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java
@@ -9,6 +9,7 @@
package com.epmet.commons.tools.redis;
import com.epmet.commons.tools.constant.StrConstant;
+import org.apache.commons.lang3.StringUtils;
/**
* @author Mark sunlightcs@gmail.com
@@ -355,19 +356,34 @@ public class RedisKeys {
}
/**
+ * @return
+ * @Description 客户的ApiService
+ * @author wxz
+ * @date 2021.01.20 16:56
+ */
+ public static String getCustomerApiServiceKey(String customerId) {
+ return rootPrefix.concat("customer:thirdplat:apiservice:").concat(customerId);
+ }
+
+ /**
+ * @return epmet:resi:user:userId
* @Description 用户缓存Key
+ * @Param 用户Id
+ * @Author wangc
+ * @Date 2020.04.13 11:27
**/
- public static String getResiUserKey(String userId){
+ public static String getResiUserKey(String userId) {
return rootPrefix.concat("resi:user:").concat(userId);
}
/**
- * @Description 客户的ApiService
- * @return
- * @author wxz
- * @date 2021.01.20 16:56
+ * @param userId
+ * @return epmet:badge:user:[customerId]:[userId]
+ * @Description 用户勋章缓存 epmet:badge:user:[customerId]:[userId]
+ * @author wangc
+ * @date 2020.11.05 13:34
*/
- public static String getCustomerApiServiceKey(String customerId) {
- return rootPrefix.concat("customer:thirdplat:apiservice:").concat(customerId);
+ public static String getResiUserBadgeKey(String customerId, String userId) {
+ return rootPrefix.concat("badge:user:").concat(customerId).concat(":").concat(StringUtils.isBlank(userId) ? "*" : userId);
}
}
diff --git a/epmet-module/resi-group/resi-group-server/pom.xml b/epmet-module/resi-group/resi-group-server/pom.xml
index 7f86290566..e7432526b2 100644
--- a/epmet-module/resi-group/resi-group-server/pom.xml
+++ b/epmet-module/resi-group/resi-group-server/pom.xml
@@ -106,6 +106,12 @@
2.0.0
compile
+
+ com.epmet
+ epmet-user-client
+ 2.0.0
+ compile
+
diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java
index a4d13430a4..bfa6a16c94 100644
--- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java
+++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java
@@ -17,6 +17,7 @@
package com.epmet.modules.group.service.impl;
+import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -25,6 +26,8 @@ import com.epmet.commons.tools.constant.*;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.page.PageData;
+import com.epmet.commons.tools.redis.RedisKeys;
+import com.epmet.commons.tools.redis.RedisUtils;
import com.epmet.commons.tools.scan.param.ImgScanParamDTO;
import com.epmet.commons.tools.scan.param.ImgTaskDTO;
import com.epmet.commons.tools.scan.param.TextScanParamDTO;
@@ -34,6 +37,7 @@ import com.epmet.commons.tools.security.user.LoginUserUtil;
import com.epmet.commons.tools.utils.*;
import com.epmet.constant.ReadFlagConstant;
import com.epmet.dto.form.*;
+import com.epmet.dto.result.UserBaseInfoResultDTO;
import com.epmet.dto.result.UserResiInfoResultDTO;
import com.epmet.dto.result.UserRoleResultDTO;
import com.epmet.feign.EpmetMessageOpenFeignClient;
@@ -156,6 +160,8 @@ public class ResiGroupServiceImpl extends BaseServiceImpl page(Map params) {
@@ -1000,11 +1006,40 @@ public class ResiGroupServiceImpl extends BaseServiceImpl recommendGroupList = baseDao.selectListRecommendList(formDTO);
recommendGroupList.forEach(dto -> {
- Result groupLeaderUserInfo = this.getGroupLeaderUserInfo(dto.getGroupId());
- if (groupLeaderUserInfo.success() && null != groupLeaderUserInfo.getData()) {
- dto.setLeaderName(groupLeaderUserInfo.getData().getShowName());
+ ResiGroupMemberDTO groupMemberDTO = baseDao.selectGroupLeader(dto.getGroupId());
+ if (groupMemberDTO == null) {
+ logger.error("recommendedList 组长信息不存在,groupId:{}", dto.getGroupId());
+ return;
+ }
+ //获取居民缓存key
+ Map map = redisUtils.hGetAll(RedisKeys.getResiUserKey(groupMemberDTO.getCustomerUserId()));
+ UserBaseInfoResultDTO userInfo = null;
+ if (null != map && !map.isEmpty()) {
+ //缓存中有数据,直接返回
+ userInfo = BeanUtil.mapToBean(map, UserBaseInfoResultDTO.class, true);
+ }
+ if (userInfo == null) {
+ logger.error("recommendedList 用户基础信息不存在,customerUserId:{}", groupMemberDTO.getCustomerUserId());
+ UserResiInfoFormDTO resiUserInfoFormDTO = new UserResiInfoFormDTO();
+ resiUserInfoFormDTO.setUserId(groupMemberDTO.getCustomerUserId());
+ Result groupLeaderUserInfo = epmetUserFeignClient.getUserResiInfoDTO(resiUserInfoFormDTO);
+
+ if (groupLeaderUserInfo.success() && null != groupLeaderUserInfo.getData()) {
+ dto.setLeaderName(groupLeaderUserInfo.getData().getShowName());
+ } else {
+ logger.error("组长注册信息查询失败,msg:{},groupId:{}", groupLeaderUserInfo.getMsg(), dto.getGroupId());
+ }
} else {
- logger.warn("组长注册信息查询失败,msg:{},groupId:{}", groupLeaderUserInfo.getMsg(), dto.getGroupId());
+ String gender = null;
+ if (NumConstant.ONE_STR.equals(userInfo.getGender())) {
+ gender = "先生";
+ } else if (NumConstant.TWO_STR.equals(userInfo.getGender())) {
+ gender = "女士";
+ } else {
+ gender = "先生/女士";
+ }
+ String leaderName = userInfo.getStreet().concat(StrConstant.HYPHEN).concat(userInfo.getSurname()).concat(gender);
+ dto.setLeaderName(leaderName);
}
});
return recommendGroupList;
diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml
index d21ed5ccdd..5ccd3cdb7d 100644
--- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml
+++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml
@@ -165,7 +165,14 @@