diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicIncludeIssueDetailResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicIncludeIssueDetailResultDTO.java new file mode 100644 index 0000000000..4ac316638c --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicIncludeIssueDetailResultDTO.java @@ -0,0 +1,68 @@ +package com.epmet.resi.group.dto.topic.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description 话题详情DTO(包含议题Id和是否转为议题Flag) + * @ClassName ResiTopicIncludeIssueDetailResultDTO + * @Auth wangc + * @Date 2020-05-11 17:31 + */ +@Data +public class ResiTopicIncludeIssueDetailResultDTO implements Serializable { + private static final long serialVersionUID = -6790536784979922200L; + + /** + * 话题Id + * */ + private String topicId; + + + /** + * 发布人名称 + * */ + private String releaseUserName; + + /** + * 发布人头像 + * */ + private String releaseUserHeadPhoto; + + /** + * 发布时间 yyyy-MM-dd HH:mm + * */ + private String releaseTime; + + /** + * 发布地址 + * */ + private String releaseAddress; + + /** + * 话题内容 + * */ + private String topicContent; + + /** + * 话题状态 + * */ + private String topicStatus; + + /** + * 图片访问地址 + * */ + private List topicImgs; + + /** + * 是否被转为议题true,false + * */ + private Boolean shiftIssueFlag; + + /** + * 议题Id,当shiftIssueFlag为false时返回"" + * */ + private String issueId; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicIncludeIssueInfoResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicIncludeIssueInfoResultDTO.java new file mode 100644 index 0000000000..55fe66f286 --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicIncludeIssueInfoResultDTO.java @@ -0,0 +1,74 @@ +package com.epmet.resi.group.dto.topic.result; + +import com.alibaba.fastjson.annotation.JSONField; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description 话题信息返回DTO(包含议题Id和是否转为议题Flag) + * @ClassName ResiTopicIncludeIssueInfoResultDTO + * @Auth wangc + * @Date 2020-05-11 15:56 + */ +@Data +public class ResiTopicIncludeIssueInfoResultDTO implements Serializable { + private static final long serialVersionUID = -7029232911456325417L; + + /** + * 话题Id + * */ + private String topicId; + + /** + * 用户Id 话题发布人 + * */ + private String userId; + + /** + * 发布人名称 + * */ + private String releaseUserName; + + /** + * 发布人头像 + * */ + private String releaseUserHeadPhoto; + + /** + * 发布时间 yyyy-MM-dd HH:mm + * */ + @JSONField(format="yyyy-MM-dd HH:mm") + private Date releaseTime; + + /** + * 话题内容 + * */ + private String topicContent; + + /** + * 话题状态 讨论中 已关闭 + * */ + private String status; + + /** + * 是否本人 me other + * */ + private String releaseUserFlag; + + /** + * 第一张图片 + * */ + private String firstPhoto; + + /** + * 是否被转为议题true,false + * */ + private Boolean shiftIssueFlag; + + /** + * 议题Id,当shiftIssueFlag为false时返回"" + * */ + private String issueId; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicInfoResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicInfoResultDTO.java index 278a75e45e..613b506acf 100644 --- a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicInfoResultDTO.java +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/topic/result/ResiTopicInfoResultDTO.java @@ -53,11 +53,6 @@ public class ResiTopicInfoResultDTO implements Serializable{ * */ private String status; - /** - * 网格名称 - * */ - private String gridName; - /** * 是否本人 me other * */ diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/redis/ResiGroupMemberRedis.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/redis/ResiGroupMemberRedis.java index d59e819155..2fc537cdb2 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/redis/ResiGroupMemberRedis.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/member/redis/ResiGroupMemberRedis.java @@ -96,7 +96,7 @@ public class ResiGroupMemberRedis { ResiGroupMemberInfoRedisDTO memberCache = (ResiGroupMemberInfoRedisDTO) redisUtils.get(RedisKeys.getResiGroupMemberInfoKey(groupId,userId)); //如果缓存中没有该成员数据 - if(null == memberCache && StringUtils.isNotBlank(memberCache.getUserId())){ + if(null == memberCache || StringUtils.isNotBlank(memberCache.getUserId())){ Map param = new HashMap<>(); param.put(TopicConstant.CUSTOMER_USER_ID,userId); param.put(TopicConstant.RESI_GROUP_ID,groupId); diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java index 4bc5da215b..f0f488efe5 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/controller/ResiTopicController.java @@ -7,6 +7,8 @@ import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.modules.topic.service.ResiTopicService; import com.epmet.resi.group.dto.topic.form.*; import com.epmet.resi.group.dto.topic.result.ResiTopicDetailResultDTO; +import com.epmet.resi.group.dto.topic.result.ResiTopicIncludeIssueDetailResultDTO; +import com.epmet.resi.group.dto.topic.result.ResiTopicIncludeIssueInfoResultDTO; import com.epmet.resi.group.dto.topic.result.ResiTopicInfoResultDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -54,7 +56,7 @@ public class ResiTopicController { * @Date 2020.04.01 23:48 **/ @PostMapping("gettopicdetail") - public Result getTopicDetail(@LoginUser TokenDto tokenDto, @RequestBody ResiTopicDetailFormDTO topicDetailFormDTO ){ + public Result getTopicDetail(@LoginUser TokenDto tokenDto, @RequestBody ResiTopicDetailFormDTO topicDetailFormDTO ){ ValidatorUtils.validateEntity(topicDetailFormDTO); return topicService.getTopicDetail(tokenDto,topicDetailFormDTO.getTopicId()); } @@ -68,7 +70,7 @@ public class ResiTopicController { * @Date 2020.04.01 10:36 **/ @PostMapping("getpasttopiclist") - public Result> getPastTopicList(@LoginUser TokenDto tokenDto, @RequestBody ResiTopicPageFormDTO topicPageFormDTO){ + public Result> getPastTopicList(@LoginUser TokenDto tokenDto, @RequestBody ResiTopicPageFormDTO topicPageFormDTO){ topicPageFormDTO.setUserId(tokenDto.getUserId()); ValidatorUtils.validateEntity(topicPageFormDTO); return topicService.getPastTopicList(tokenDto,topicPageFormDTO); @@ -78,12 +80,12 @@ public class ResiTopicController { * @Description 查看组内最近十条话题 * @Param tokenDto * @Param ResiTopicDefaultPageFormDTO - * @return Result> + * @return Result> * @Author wangc * @Date 2020.04.02 00:01 **/ @PostMapping("getlatesttopics") - public Result> getLatestTopics(@LoginUser TokenDto tokenDto,@RequestBody ResiTopicDefaultPageFormDTO topicDefaultPageFormDTO){ + public Result> getLatestTopics(@LoginUser TokenDto tokenDto,@RequestBody ResiTopicDefaultPageFormDTO topicDefaultPageFormDTO){ ValidatorUtils.validateEntity(topicDefaultPageFormDTO); return topicService.getLatestTopics(tokenDto,topicDefaultPageFormDTO.getGroupId()); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java index 7c602bc126..7399e0ca43 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/dao/ResiTopicDao.java @@ -22,6 +22,7 @@ import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.modules.topic.entity.ResiTopicEntity; import com.epmet.resi.group.dto.topic.ResiTopicDTO; import com.epmet.resi.group.dto.topic.form.ResiTopicPageFormDTO; +import com.epmet.resi.group.dto.topic.result.ResiTopicIncludeIssueInfoResultDTO; import com.epmet.resi.group.dto.topic.result.ResiTopicInfoResultDTO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -49,11 +50,11 @@ public interface ResiTopicDao extends BaseDao { /** * @Description 查询该组内最近十条话题信息 * @Param groupId - * @return List + * @return List * @Author wangc * @Date 2020.04.01 09:40 **/ - List getLatestTenTopics(@Param("groupId")String groupId,@Param("userId")String userId); + List getLatestTenTopics(@Param("groupId")String groupId,@Param("userId")String userId); /** * @Description 查看历史话题(分页,允许状态筛选) @@ -64,6 +65,15 @@ public interface ResiTopicDao extends BaseDao { **/ List getPastTopics(ResiTopicPageFormDTO topicPageFormDTO); + /** + * @Description 查看历史话题(分页,允许状态筛选) + * @param topicPageFormDTO + * @return List 每个实体类里包含shiftIssueFlag和issueId字段 + * @author wangc + * @date 2020.05.11 16:06 + **/ + List getTopicsIncludeIssueInfoByConditions(ResiTopicPageFormDTO topicPageFormDTO); + /** * @Description 修改话题 * @Param ResiTopicEntity.class diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/ResiTopicEntity.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/ResiTopicEntity.java index c3f9bfc0b1..d16ba57c73 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/ResiTopicEntity.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/entity/ResiTopicEntity.java @@ -23,7 +23,7 @@ import com.epmet.commons.mybatis.entity.BaseEpmetEntity; import lombok.Data; import lombok.EqualsAndHashCode; -import java.util.Date; + /** * 话题信息表 @@ -83,4 +83,14 @@ public class ResiTopicEntity extends BaseEpmetEntity { */ private String dimension; + /** + * 议题Id + */ + private String issueId; + + /** + * 是否转为议题标识 true:已转为议题 false:未转为议题 + * */ + private Boolean shiftIssue; + } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java index b15e4b6b44..2282d66cb9 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/ResiTopicService.java @@ -30,6 +30,8 @@ import com.epmet.resi.group.dto.topic.form.ResiTopicOperationFormDTO; import com.epmet.resi.group.dto.topic.form.ResiTopicPageFormDTO; import com.epmet.resi.group.dto.topic.form.ResiTopicPublishFormDTO; import com.epmet.resi.group.dto.topic.result.ResiTopicDetailResultDTO; +import com.epmet.resi.group.dto.topic.result.ResiTopicIncludeIssueDetailResultDTO; +import com.epmet.resi.group.dto.topic.result.ResiTopicIncludeIssueInfoResultDTO; import com.epmet.resi.group.dto.topic.result.ResiTopicInfoResultDTO; @@ -122,7 +124,7 @@ public interface ResiTopicService extends BaseService { * @Author wangc * @Date 2020.04.01 08:59 **/ - Result> getLatestTopics(TokenDto tokenDto, String groupId); + Result> getLatestTopics(TokenDto tokenDto, String groupId); /** * @return Result> @@ -132,7 +134,7 @@ public interface ResiTopicService extends BaseService { * @Author wangc * @Date 2020.04.01 10:36 **/ - Result> getPastTopicList(TokenDto tokenDto, ResiTopicPageFormDTO topicPageFormDTO); + Result> getPastTopicList(TokenDto tokenDto, ResiTopicPageFormDTO topicPageFormDTO); /** * @return Result @@ -172,7 +174,7 @@ public interface ResiTopicService extends BaseService { * @Author wangc * @Date 2020.04.01 15:56 **/ - Result getTopicDetail(TokenDto tokenDto, String topicId); + Result getTopicDetail(TokenDto tokenDto, String topicId); /** * @return List diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java index 0733a02226..aa688b9d26 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/topic/service/impl/ResiTopicServiceImpl.java @@ -64,6 +64,8 @@ import com.epmet.resi.group.dto.topic.form.ResiTopicOperationFormDTO; import com.epmet.resi.group.dto.topic.form.ResiTopicPageFormDTO; import com.epmet.resi.group.dto.topic.form.ResiTopicPublishFormDTO; import com.epmet.resi.group.dto.topic.result.ResiTopicDetailResultDTO; +import com.epmet.resi.group.dto.topic.result.ResiTopicIncludeIssueDetailResultDTO; +import com.epmet.resi.group.dto.topic.result.ResiTopicIncludeIssueInfoResultDTO; import com.epmet.resi.group.dto.topic.result.ResiTopicInfoResultDTO; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; @@ -274,36 +276,21 @@ public class ResiTopicServiceImpl extends BaseServiceImpl> getLatestTopics(TokenDto tokenDto, String groupId) { + public Result> getLatestTopics(TokenDto tokenDto, String groupId) { if (null == tokenDto) { logger.error(ModuleConstant.USER_NOT_NULL); throw new RenException(ModuleConstant.USER_NOT_NULL); } - if (StringUtils.isBlank(groupId)) { - return new Result>().error(); - } - //1.查询话题列表 - List lastestTenTopics = + List latestTenTopics = baseDao.getLatestTenTopics(groupId, tokenDto.getUserId()); + if(null != latestTenTopics && latestTenTopics.size() > 0) { - if(null != lastestTenTopics && lastestTenTopics.size() > 0) { - - //2.遍历存储用户信息 从数据库中查找 - /*List userIdList = new ArrayList<>(); - for (ResiTopicInfoResultDTO topic : lastestTenTopics) { - userIdList.add(topic.getUserId()); - } - UserResiInfoListFormDTO formDTO = new UserResiInfoListFormDTO(); - formDTO.setUserIdList(userIdList); - Result> userResiInfoDTOListResult = epmetUserFeignClient.getUserResiInfoList(formDTO); - setUserInfo(userResiInfoDTOListResult, lastestTenTopics); - */ //2.2从缓存中查找用户信息 - setCacheUserInfo(groupId,lastestTenTopics); + setCacheUserInfoWithIssue(groupId,latestTenTopics); } - return new Result>().ok(lastestTenTopics); + return new Result>().ok(latestTenTopics); } /** @@ -315,36 +302,22 @@ public class ResiTopicServiceImpl extends BaseServiceImpl> getPastTopicList(TokenDto tokenDto, ResiTopicPageFormDTO topicPageFormDTO) { + public Result> getPastTopicList(TokenDto tokenDto, ResiTopicPageFormDTO topicPageFormDTO) { //1.查询历史话题列表 topicPageFormDTO.setUserId(topicPageFormDTO.getUserId()); topicPageFormDTO.setPageNo((topicPageFormDTO.getPageNo() - NumConstant.ONE) * topicPageFormDTO.getPageSize()); - List pastTopics = - baseDao.getPastTopics(topicPageFormDTO); - + List pastTopics = + baseDao.getTopicsIncludeIssueInfoByConditions(topicPageFormDTO); if (null != pastTopics && pastTopics.size() > 0) { - /* - //2.遍历用户信息 - List userIdList = new ArrayList<>(); - for (ResiTopicInfoResultDTO topic : pastTopics) { - userIdList.add(topic.getUserId()); + //2. 在缓存中拉取用户信息 + setCacheUserInfoWithIssue(topicPageFormDTO.getGroupId(), pastTopics); } - UserResiInfoListFormDTO formDTO = new UserResiInfoListFormDTO(); - formDTO.setUserIdList(userIdList); - Result> userResiInfoDTOListResult = epmetUserFeignClient.getUserResiInfoList(formDTO); - setUserInfo(userResiInfoDTOListResult, pastTopics); - - */ - - //2.2 在缓存中拉取用户信息 - setCacheUserInfo(topicPageFormDTO.getGroupId(), pastTopics); - } - return new Result>().ok(pastTopics); + return new Result>().ok(pastTopics); } /** @@ -505,19 +478,21 @@ public class ResiTopicServiceImpl extends BaseServiceImpl getTopicDetail(TokenDto tokenDto, String topicId) { + public Result getTopicDetail(TokenDto tokenDto, String topicId) { //1.获取话题基本信息 ResiTopicEntity topicDetail = baseDao.selectById(topicId); if(null == topicDetail || !StringUtils.equals(topicDetail.getId(),topicId)){ logger.error(ModuleConstant.NO_SUCH_TOPIC); throw new RenException(ModuleConstant.NO_SUCH_TOPIC); } - ResiTopicDetailResultDTO resultDTO = new ResiTopicDetailResultDTO(); + ResiTopicIncludeIssueDetailResultDTO resultDTO = + ConvertUtils.sourceToTarget(topicDetail,ResiTopicIncludeIssueDetailResultDTO.class); resultDTO.setTopicId(topicId); resultDTO.setReleaseTime(new SimpleDateFormat("yyyy-MM-dd HH:mm").format(topicDetail.getCreatedTime())); resultDTO.setTopicContent(topicDetail.getTopicContent()); resultDTO.setReleaseAddress(topicDetail.getAddress()); resultDTO.setTopicStatus(topicDetail.getStatus()); + resultDTO.setShiftIssueFlag(topicDetail.getShiftIssue()); //2.查询话题附件 QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq(FieldConstant.DEL_FLAG,NumConstant.ZERO_STR); @@ -537,11 +512,11 @@ public class ResiTopicServiceImpl extends BaseServiceImpl().ok(resultDTO); + return new Result().ok(resultDTO); } /** @@ -703,7 +678,22 @@ public class ResiTopicServiceImpl extends BaseServiceImpl> getPastTopicListGov(ResiTopicPageFormDTO topicPageFormDTO) { - return getPastTopicList(null,topicPageFormDTO); + //1.查询历史话题列表 + + topicPageFormDTO.setUserId(topicPageFormDTO.getUserId()); + + topicPageFormDTO.setPageNo((topicPageFormDTO.getPageNo() - NumConstant.ONE) * topicPageFormDTO.getPageSize()); + + List pastTopics = + baseDao.getPastTopics(topicPageFormDTO); + + if (null != pastTopics && pastTopics.size() > 0) { + + //2. 在缓存中拉取用户信息 + setCacheUserInfo(topicPageFormDTO.getGroupId(), pastTopics); + } + return new Result>().ok(pastTopics); + } /** @@ -720,7 +710,12 @@ public class ResiTopicServiceImpl extends BaseServiceImpl getTopicDetailGov(String topicId) { - return getTopicDetail(null,topicId); + Result result = getTopicDetail(null,topicId); + if(result.success() && null != result.getData() && StringUtils.isNotBlank(result.getData().getTopicId())){ + return new Result().ok(ConvertUtils.sourceToTarget(result.getData(),ResiTopicDetailResultDTO.class)); + } + logger.error(ModuleConstant.NO_SUCH_TOPIC); + throw new RenException(ModuleConstant.NO_SUCH_TOPIC); } /** @@ -794,6 +789,77 @@ public class ResiTopicServiceImpl extends BaseServiceImpl + * @return void + * @Author wangc + * @Date 2020.04.14 10:32 + **/ + private void setCacheUserInfoWithIssue(String groupId ,List topics) { + + //1.初始化存储缺失缓存信息的组员Id的容器,默认去重 + Set usersNotInCache = new HashSet<>(); + + //2.读取用户缓存信息 + ResiGroupMemberInfoRedisResultDTO memberRedis = resiGroupMemberRedis.getKeys(groupId); + if (null != memberRedis && null != memberRedis.getMemberKeys() && null != memberRedis.getMemberMap()) { + String keyPrefix = RedisKeys.getResiGroupMemberInfoKey(groupId, ""); + for (ResiTopicIncludeIssueInfoResultDTO topic : topics) { + //缓存中有该用户的key + if (memberRedis.getMemberKeys().contains(keyPrefix.concat(topic.getUserId()))) { + ResiGroupMemberInfoRedisDTO memberInfoCache = memberRedis.getMemberMap().get(topic.getUserId()); + if (null != memberInfoCache) { + //缓存中有该用户信息 + topic.setReleaseUserName(StringUtils.isBlank(memberInfoCache.getUserShowName())?"":memberInfoCache.getUserShowName()); + topic.setReleaseUserHeadPhoto(StringUtils.isBlank(memberInfoCache.getUserHeadPhoto())?"":memberInfoCache.getUserHeadPhoto()); + } else { + //缓存中没有该用户信息 + usersNotInCache.add(topic.getUserId()); + } + } else { + //缓存中没有该用户的key + usersNotInCache.add(topic.getUserId()); + } + } + } + + //3.如果存在缺失缓存的组员,去数据库中查找,并存入缓存 + if (usersNotInCache.size() > 0) { + Map> topicMap + = topics.stream().collect(Collectors.groupingBy(ResiTopicIncludeIssueInfoResultDTO::getUserId)); + List userIds = new ArrayList<>(usersNotInCache); + Result> result = + epmetUserFeignClient.getUserResiInfoList(new UserResiInfoListFormDTO(userIds)); + + if (result.success() && null != result.getData() && result.getData().size() > 0) { + for (UserResiInfoResultDTO user : result.getData()) { + ResiTopicIncludeIssueInfoResultDTO topic = + topicMap.get(user.getUserId()).get(0); + topic.setReleaseUserHeadPhoto(user.getHeadPhoto()); + topic.setReleaseUserName(user.getShowName()); + + //存入缓存 + ResiGroupMemberInfoRedisDTO memberRedisDTO = new ResiGroupMemberInfoRedisDTO(); + ResiGroupMemberDTO memberMySql = resiGroupMemberDao.selectGroupMemberInfo(groupId, user.getUserId()); + memberRedisDTO.setMemberStatus(memberMySql.getStatus()); + memberRedisDTO.setUserId(user.getUserId()); + memberRedisDTO.setUserShowName(user.getShowName()); + memberRedisDTO.setEnterGroupType(memberMySql.getEnterGroupType()); + memberRedisDTO.setGroupLeaderFlag(memberMySql.getGroupLeaderFlag()); + memberRedisDTO.setUserHeadPhoto(user.getHeadPhoto()); + memberRedisDTO.setGroupId(groupId); + resiGroupMemberRedis.set(memberRedisDTO); + } + } else { + + logger.warn(ModuleConstant.USER_INFO_LIST_NOT_FOUND); + } + } + + } + /** * @Description 更新组统计缓存信息 * @Param groupId diff --git a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml index 57ba94d5b6..f274faffff 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml +++ b/epmet-module/resi-group/resi-group-server/src/main/resources/mapper/topic/ResiTopicDao.xml @@ -109,7 +109,7 @@ - SELECT topic.ID AS topicId, topic.GROUP_ID, @@ -117,7 +117,9 @@ topic.STATUS, topic.CREATED_TIME AS releaseTime, topic.CREATED_BY AS userId, - attachement2.firstPhoto, + topic.SHIFT_ISSUE AS shiftIssueFlag, + IFNULL(topic.ISSUE_ID,'') AS issueId, + IFNULL(attachement2.firstPhoto,'') AS firstPhoto, CASE WHEN topic.CREATED_BY = #{userId} THEN 'me' ELSE 'other' @@ -157,7 +159,56 @@ topic.STATUS, topic.CREATED_TIME AS releaseTime, topic.CREATED_BY AS userId, - attachement2.firstPhoto, + IFNULL(attachement2.firstPhoto,'') AS firstPhoto, + CASE + WHEN topic.CREATED_BY = #{userId} THEN 'me' + ELSE 'other' + END AS releaseUserFlag + FROM + RESI_TOPIC topic + LEFT JOIN + ( + SELECT + attachment.TOPIC_ID AS attachmentTopicId, + attachment.ATTACHMENT_URL as firstPhoto, + MIN(attachment.SORT) + FROM + RESI_TOPIC_ATTACHMENT attachment + WHERE + attachment.DEL_FLAG = '0' + GROUP BY attachment.TOPIC_ID + ) attachement2 + ON + topic.ID = attachement2.attachmentTopicId + + topic.DEL_FLAG = '0' + AND topic.GROUP_ID = #{groupId} + + AND 'hidden' ]]> + + + AND topic.STATUS = #{status} + + + + ORDER BY + topic.CREATED_TIME DESC + LIMIT #{pageNo},#{pageSize} + + + + +