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 @@