diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/TopicServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/TopicServiceImpl.java index 776672f3c..4f12718e2 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/TopicServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/TopicServiceImpl.java @@ -90,6 +90,7 @@ public class TopicServiceImpl implements TopicService { return new Result().error("获取用户信息失败"); } formDto.setGridId(userDetail.getGridId()); + formDto.setCurrentUserId(userDetail.getUserId()); return topicFeignClient.listOfTopic(formDto); } diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/topic/form/TopicListFormDTO.java b/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/topic/form/TopicListFormDTO.java index 7be27cfe6..85e9ca29c 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/topic/form/TopicListFormDTO.java +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/topic/form/TopicListFormDTO.java @@ -48,4 +48,9 @@ public class TopicListFormDTO implements Serializable { */ private Date someMonthsAgo; + /** + * 当前用户ID + */ + private String currentUserId; + } diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/GroupServiceImpl.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/GroupServiceImpl.java index 8161afd5b..9c6ba6b3f 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/GroupServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/impl/GroupServiceImpl.java @@ -220,15 +220,7 @@ public class GroupServiceImpl extends BaseServiceImpl imp @Override public GroupDetailForMobileEndResultDTO getGroupDetailForMobileEnd(GroupDetailForMobileEndFormDTO formDto) { - // 获取社群详情 - GroupDetailForMobileEndResultDTO resultDto = baseDao.selectOneOfGroupDetailForMobileEnd(formDto); - // 更新用户未读标识为已读 - GroupTopicUserReadDTO readDto = new GroupTopicUserReadDTO(); - readDto.setGroupId(resultDto.getId()); - readDto.setUserId(formDto.getUserId()); - readDto.setReadFlag(NumConstant.ONE_STR); - groupTopicUserReadService.modifyTopicReadFlag(readDto); - return resultDto; + return baseDao.selectOneOfGroupDetailForMobileEnd(formDto); } @Override diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/service/impl/TopicServiceImpl.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/service/impl/TopicServiceImpl.java index ad59725ef..9b92b6dd8 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/service/impl/TopicServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/topic/service/impl/TopicServiceImpl.java @@ -43,6 +43,7 @@ import com.elink.esua.epdc.dto.group.UserGroupDTO; import com.elink.esua.epdc.dto.group.result.GroupUserListResultDTO; import com.elink.esua.epdc.dto.group.result.TopicAuditRecordResultDTO; import com.elink.esua.epdc.dto.issue.IssueDTO; +import com.elink.esua.epdc.dto.topic.GroupTopicUserReadDTO; import com.elink.esua.epdc.dto.topic.TopicDTO; import com.elink.esua.epdc.dto.topic.TopicDetailDTO; import com.elink.esua.epdc.dto.topic.form.TopicListFormDTO; @@ -275,7 +276,14 @@ public class TopicServiceImpl extends BaseServiceImpl imp formDto.setPageIndex(pageIndex); // 查询半年内的数据 formDto.setSomeMonthsAgo(DateUtils.addDateMonths(new Date(), -6)); - return baseDao.selectListOfTopic(formDto); + List resultTopics = baseDao.selectListOfTopic(formDto); + // 更新用户未读标识为已读 + GroupTopicUserReadDTO readDto = new GroupTopicUserReadDTO(); + readDto.setGroupId(formDto.getGroupId()); + readDto.setUserId(formDto.getCurrentUserId()); + readDto.setReadFlag(NumConstant.ONE_STR); + groupTopicUserReadService.modifyTopicReadFlag(readDto); + return resultTopics; } @Override diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/group/GroupDao.xml b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/group/GroupDao.xml index 6cb0258e9..88912add7 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/group/GroupDao.xml +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/resources/mapper/group/GroupDao.xml @@ -65,19 +65,16 @@ gp.GROUP_AVATAR, gp.GROUP_CATEGORY, gp.STATE, - COUNT( ugp1.ID ) AS totalNum, - CASE - WHEN SUM( ugp1.PARTY_MEMBER = '1' ) IS NULL THEN - 0 ELSE SUM( ugp1.PARTY_MEMBER = '1' ) - END AS partyMemberNum, - COUNT( ugpr.ID ) AS unreadTopicNum, + COUNT( DISTINCT ugp1.ID ) AS totalNum, + COUNT(DISTINCT ugp2.ID) AS partyMemberNum, + COUNT( DISTINCT ugpr.ID ) AS unreadTopicNum, MAX( tp.CREATED_TIME ) AS latestTopicTime, CASE WHEN gp.STATE = 0 THEN '网格长会尽快审核您创建的社群,请耐心等待' WHEN gp.STATE = 5 THEN gp.PROCESSING_OPINIONS - WHEN ( gp.STATE = 10 AND COUNT( ugp1.ID ) 1 AND gp.GROUP_CATEGORY = '1' ) THEN + WHEN ( gp.STATE = 10 AND COUNT( DISTINCT ugp1.ID ) 1 AND gp.GROUP_CATEGORY = '1' ) THEN '您的社群审核已通过,快加好友进来吧' ELSE '' END AS description FROM @@ -89,6 +86,10 @@ LEFT JOIN epdc_user_group ugp1 ON gp.ID = ugp1.GROUP_ID AND ugp1.DEL_FLAG = '0' AND ugp1.STATE = 10 + LEFT JOIN epdc_user_group ugp2 ON gp.ID = ugp2.GROUP_ID + AND ugp2.DEL_FLAG = '0' + AND ugp2.STATE = 10 + AND ugp2.PARTY_MEMBER = '1' LEFT JOIN epdc_group_topic_user_read ugpr ON gp.ID = ugpr.GROUP_ID AND ugpr.DEL_FLAG = '0' AND ugpr.USER_ID = #{userId}