diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiGroupController.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiGroupController.java index b9f442381..fdb58d47b 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiGroupController.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/controller/ApiGroupController.java @@ -5,6 +5,7 @@ import com.elink.esua.epdc.commons.tools.annotation.LoginUser; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.group.GroupSettingStateDTO; import com.elink.esua.epdc.dto.group.form.GroupCreateFormDTO; +import com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO; import com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO; import com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO; import com.elink.esua.epdc.service.GroupService; @@ -83,4 +84,18 @@ public class ApiGroupController { return groupService.listGroupsOfRecommend(userDetail); } + /** + * + * 社群详情 + * + * @params [userDetail, id] + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @author liuchuang + * @since 2019/10/22 15:14 + */ + @GetMapping("detail/{id}") + public Result detail(@LoginUser TokenDto userDetail, @PathVariable("id") String id) { + return groupService.getGroupDetail(userDetail, id); + } + } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/GroupFeignClient.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/GroupFeignClient.java index 036c917bf..8ae0507dc 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/GroupFeignClient.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/GroupFeignClient.java @@ -4,7 +4,9 @@ import com.elink.esua.epdc.commons.tools.constant.ServiceConstant; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.group.GroupSettingStateDTO; import com.elink.esua.epdc.dto.group.form.GroupCreateFormDTO; +import com.elink.esua.epdc.dto.group.form.GroupDetailForMobileEndFormDTO; import com.elink.esua.epdc.dto.group.form.GroupsOfMineFormDTO; +import com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO; import com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO; import com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO; import com.elink.esua.epdc.feign.fallback.GroupFeignClientFallback; @@ -72,4 +74,16 @@ public interface GroupFeignClient { */ @GetMapping(value = "group/epdc-app/group/listOfRecommend", consumes = MediaType.APPLICATION_JSON_VALUE) Result> listGroupsOfRecommend(GroupsOfMineFormDTO formDto); + + /** + * + * 社群详情 + * + * @params [formDto] + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author liuchuang + * @since 2019/10/22 15:09 + */ + @GetMapping(value = "group/epdc-app/group/detail", consumes = MediaType.APPLICATION_JSON_VALUE) + Result detail(GroupDetailForMobileEndFormDTO formDto); } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/GroupFeignClientFallback.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/GroupFeignClientFallback.java index be39ebf02..c18b33695 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/GroupFeignClientFallback.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/GroupFeignClientFallback.java @@ -5,7 +5,9 @@ import com.elink.esua.epdc.commons.tools.utils.ModuleUtils; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.group.GroupSettingStateDTO; import com.elink.esua.epdc.dto.group.form.GroupCreateFormDTO; +import com.elink.esua.epdc.dto.group.form.GroupDetailForMobileEndFormDTO; import com.elink.esua.epdc.dto.group.form.GroupsOfMineFormDTO; +import com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO; import com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO; import com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO; import com.elink.esua.epdc.feign.GroupFeignClient; @@ -39,4 +41,9 @@ public class GroupFeignClientFallback implements GroupFeignClient { public Result> listGroupsOfRecommend(GroupsOfMineFormDTO formDto) { return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "listGroupsOfRecommend", formDto); } + + @Override + public Result detail(GroupDetailForMobileEndFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_GROUP_SERVER, "detail", formDto); + } } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/GroupService.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/GroupService.java index d4c55ac40..c0b2f9a18 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/GroupService.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/GroupService.java @@ -4,6 +4,7 @@ import com.elink.esua.epdc.common.token.dto.TokenDto; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.group.GroupSettingStateDTO; import com.elink.esua.epdc.dto.group.form.GroupCreateFormDTO; +import com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO; import com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO; import com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO; @@ -61,4 +62,15 @@ public interface GroupService { * @since 2019/10/22 13:54 */ Result> listGroupsOfRecommend(TokenDto userDetail); + + /** + * + * 社群详情 + * + * @params [userDetail, id] + * @return com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO + * @author liuchuang + * @since 2019/10/22 15:15 + */ + Result getGroupDetail(TokenDto userDetail, String id); } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/GroupServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/GroupServiceImpl.java index 9e2d94cea..41d0d9b35 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/GroupServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/GroupServiceImpl.java @@ -8,8 +8,10 @@ import com.elink.esua.epdc.dto.group.GroupSettingStateDTO; import com.elink.esua.epdc.dto.enums.GroupStateEnum; import com.elink.esua.epdc.dto.enums.GroupUserStateEnum; import com.elink.esua.epdc.dto.group.form.GroupCreateFormDTO; +import com.elink.esua.epdc.dto.group.form.GroupDetailForMobileEndFormDTO; import com.elink.esua.epdc.dto.group.form.GroupUserFormDTO; import com.elink.esua.epdc.dto.group.form.GroupsOfMineFormDTO; +import com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO; import com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO; import com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO; import com.elink.esua.epdc.feign.AdminFeignClient; @@ -98,4 +100,15 @@ public class GroupServiceImpl implements GroupService { formDto.setGridId(userDetail.getGridId()); return groupFeignClient.listGroupsOfRecommend(formDto); } + + @Override + public Result getGroupDetail(TokenDto userDetail, String id) { + if (null == userDetail) { + return new Result().error("获取用户信息失败"); + } + GroupDetailForMobileEndFormDTO formDto = new GroupDetailForMobileEndFormDTO(); + formDto.setId(id); + formDto.setUserId(userDetail.getUserId()); + return groupFeignClient.detail(formDto); + } } diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/form/GroupDetailForMobileEndFormDTO.java b/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/form/GroupDetailForMobileEndFormDTO.java new file mode 100644 index 000000000..746cdff97 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/form/GroupDetailForMobileEndFormDTO.java @@ -0,0 +1,30 @@ +package com.elink.esua.epdc.dto.group.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * + * 移动端-社群详情Form DTO + * + * @Author:liuchuang + * @Date:2019/10/22 14:59 + */ +@Data +public class GroupDetailForMobileEndFormDTO implements Serializable { + private static final long serialVersionUID = 143504049551089465L; + + /** + * 社群ID + */ + @NotBlank(message = "社群ID不能为空") + private String id; + + /** + * 用户ID + */ + @NotBlank(message = "用户ID不能为空") + private String userId; +} diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/result/GroupDetailForMobileEndResultDTO.java b/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/result/GroupDetailForMobileEndResultDTO.java new file mode 100644 index 000000000..8bed92e8e --- /dev/null +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-client/src/main/java/com.elink.esua.epdc/dto/group/result/GroupDetailForMobileEndResultDTO.java @@ -0,0 +1,62 @@ +package com.elink.esua.epdc.dto.group.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * + * 移动端-社群详情Result DTO + * + * @Author:liuchuang + * @Date:2019/10/22 14:53 + */ +@Data +public class GroupDetailForMobileEndResultDTO implements Serializable { + private static final long serialVersionUID = -9095533656720281885L; + + /** + * 社群ID + */ + private String id; + + /** + * 社群名称 + */ + private String groupName; + + /** + * 社群头像 + */ + private String groupAvatar; + + /** + * 群主 + */ + private String nickname; + + /** + * 总人数 + */ + private Integer totalNum; + + /** + * 话题数量 + */ + private Integer topicNum; + + /** + * 转到党群议事话题数量 + */ + private Integer changeToIssueNum; + + /** + * 社群类别(0:党员群,1:自建群) + */ + private String groupCategory; + + /** + * 当前用户是否是群主(0:否,1:是) + */ + private String lordFlag; +} diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/controller/AppGroupController.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/controller/AppGroupController.java index b9039ea44..71095da44 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/controller/AppGroupController.java +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/controller/AppGroupController.java @@ -5,7 +5,9 @@ import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; import com.elink.esua.epdc.dto.group.GroupSettingStateDTO; import com.elink.esua.epdc.dto.group.form.GroupCreateFormDTO; +import com.elink.esua.epdc.dto.group.form.GroupDetailForMobileEndFormDTO; import com.elink.esua.epdc.dto.group.form.GroupsOfMineFormDTO; +import com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO; import com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO; import com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO; import com.elink.esua.epdc.modules.group.service.GroupService; @@ -94,4 +96,21 @@ public class AppGroupController { return new Result>().ok(data); } + /** + * + * 社群详情 + * + * @params [formDto] + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author liuchuang + * @since 2019/10/22 15:07 + */ + @GetMapping("detail") + public Result detail(@RequestBody GroupDetailForMobileEndFormDTO formDto) { + //效验数据 + ValidatorUtils.validateEntity(formDto); + GroupDetailForMobileEndResultDTO resultDto = groupService.getGroupDetailForMobileEnd(formDto); + return new Result().ok(resultDto); + } + } diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/dao/GroupDao.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/dao/GroupDao.java index 866291014..661c7f075 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/dao/GroupDao.java +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/dao/GroupDao.java @@ -20,7 +20,9 @@ package com.elink.esua.epdc.modules.group.dao; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; import com.elink.esua.epdc.dto.group.GroupDetailDTO; import com.elink.esua.epdc.dto.group.GroupManagementDTO; +import com.elink.esua.epdc.dto.group.form.GroupDetailForMobileEndFormDTO; import com.elink.esua.epdc.dto.group.form.GroupsOfMineFormDTO; +import com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO; import com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO; import com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO; import com.elink.esua.epdc.modules.group.entity.GroupEntity; @@ -92,5 +94,16 @@ public interface GroupDao extends BaseDao { * @since 2019/10/22 13:45 */ List selectListGroupsOfRecommend(GroupsOfMineFormDTO formDto); + + /** + * + * 移动端-社群详情 + * + * @params [formDto] + * @return com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO + * @author liuchuang + * @since 2019/10/22 15:02 + */ + GroupDetailForMobileEndResultDTO selectOneOfGroupDetailForMobileEnd(GroupDetailForMobileEndFormDTO formDto); } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/GroupService.java b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/GroupService.java index 65d6ffb9e..abe4b11fc 100644 --- a/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/GroupService.java +++ b/esua-epdc/epdc-module/epdc-group/epdc-group-server/src/main/java/com.elink.esua.epdc/modules/group/service/GroupService.java @@ -25,7 +25,9 @@ import com.elink.esua.epdc.dto.group.GroupDetailDTO; import com.elink.esua.epdc.dto.group.GroupManagementDTO; import com.elink.esua.epdc.dto.group.GroupSettingStateDTO; import com.elink.esua.epdc.dto.group.form.GroupCreateFormDTO; +import com.elink.esua.epdc.dto.group.form.GroupDetailForMobileEndFormDTO; import com.elink.esua.epdc.dto.group.form.GroupsOfMineFormDTO; +import com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO; import com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO; import com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO; import com.elink.esua.epdc.modules.group.entity.GroupEntity; @@ -155,4 +157,15 @@ public interface GroupService extends BaseService { * @since 2019/10/22 13:46 */ List listGroupsOfRecommend(GroupsOfMineFormDTO formDto); + + /** + * + * 移动端-社群详情 + * + * @params [formDto] + * @return com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO + * @author liuchuang + * @since 2019/10/22 15:04 + */ + GroupDetailForMobileEndResultDTO getGroupDetailForMobileEnd(GroupDetailForMobileEndFormDTO formDto); } \ No newline at end of file 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 b4897399d..6a3ab9fee 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 @@ -30,7 +30,9 @@ import com.elink.esua.epdc.dto.group.*; import com.elink.esua.epdc.dto.enums.GroupStateEnum; import com.elink.esua.epdc.dto.enums.GroupUserStateEnum; import com.elink.esua.epdc.dto.group.form.GroupCreateFormDTO; +import com.elink.esua.epdc.dto.group.form.GroupDetailForMobileEndFormDTO; import com.elink.esua.epdc.dto.group.form.GroupsOfMineFormDTO; +import com.elink.esua.epdc.dto.group.result.GroupDetailForMobileEndResultDTO; import com.elink.esua.epdc.dto.group.result.GroupUserListResultDTO; import com.elink.esua.epdc.dto.group.result.GroupsOfMineResultDTO; import com.elink.esua.epdc.dto.group.result.GroupsOfRecommendResultDTO; @@ -211,4 +213,9 @@ public class GroupServiceImpl extends BaseServiceImpl imp return baseDao.selectListGroupsOfRecommend(formDto); } + @Override + public GroupDetailForMobileEndResultDTO getGroupDetailForMobileEnd(GroupDetailForMobileEndFormDTO formDto) { + return baseDao.selectOneOfGroupDetailForMobileEnd(formDto); + } + } \ No newline at end of file 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 4817f3283..a3a8f33f1 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 @@ -68,7 +68,7 @@ 0 ELSE SUM( ugp1.PARTY_MEMBER = '1' ) END AS partyMemberNum, COUNT( ugpr.ID ) AS unreadTopicNum, - MAX( ugpr.TOPIC_SUBMIT_TIME ) AS latestTopicTime, + MAX( tp.CREATED_TIME ) AS latestTopicTime, CASE WHEN gp.STATE = 0 THEN '网格长会尽快审核您创建的社群,请耐心等待' @@ -90,6 +90,8 @@ AND ugpr.DEL_FLAG = '0' AND ugpr.USER_ID = #{userId} AND ugpr.READ_FLAG = '0' + LEFT JOIN epdc_topic tp ON gp.ID = tp.GROUP_ID + AND tp.DEL_FLAG = '0' WHERE gp.DEL_FLAG = '0' AND gp.GRID_ID = #{gridId} @@ -97,7 +99,7 @@ GROUP BY gp.ID ORDER BY - latestTopicTime DESC + MAX( tp.CREATED_TIME ) DESC + +