diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/RecommendedListFormDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/RecommendedListFormDTO.java new file mode 100644 index 0000000000..a571541eec --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/form/RecommendedListFormDTO.java @@ -0,0 +1,32 @@ +package com.epmet.resi.group.dto.group.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/5/21 15:39 + */ +@Data +public class RecommendedListFormDTO implements Serializable { + + private static final long serialVersionUID = -4205042052361059952L; + /** + * 客户ID + */ + private String customerId; + /** + * 网格ID + */ + private String gridId; + /** + * 用户ID + */ + private String userId; + /** + * 客户定制化显示几条,传入几条 + */ + private Integer pageSize; +} diff --git a/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/RecommendedListResultDTO.java b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/RecommendedListResultDTO.java new file mode 100644 index 0000000000..d436bc724f --- /dev/null +++ b/epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/RecommendedListResultDTO.java @@ -0,0 +1,40 @@ +package com.epmet.resi.group.dto.group.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/5/21 15:41 + */ +@Data +public class RecommendedListResultDTO implements Serializable { + + private static final long serialVersionUID = -8909027543795476302L; + /** + * 小组id + */ + private String groupId; + /** + * 小组名称 + */ + private String groupName; + /** + * 小组头像 + */ + private String groupHeadPhoto; + /** + * 总成员数 + */ + private String totalMember; + /** + * 党员总数 + */ + private String totalPartyMember; + /** + * 组长名 + */ + private String leaderName; +} diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java index 4d2a9758bb..270df47002 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/ResiGroupController.java @@ -330,4 +330,16 @@ public class ResiGroupController { public Result shouldVoteCount(@RequestBody ShouldVoteCountFormDTO formDTO){ return new Result().ok(resiGroupService.shouldVoteCount(formDTO)); } + + /** + * 党建园地-推荐小组 + * @author zhaoqifeng + * @date 2020/5/21 15:50 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + */ + @PostMapping("recommendedlist") + public Result> recommendedList(@RequestBody RecommendedListFormDTO formDTO) { + return new Result>().ok(resiGroupService.recommendedList(formDTO)); + } } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java index 875163b278..92ab8d538b 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/dao/ResiGroupDao.java @@ -162,4 +162,13 @@ public interface ResiGroupDao extends BaseDao { * @author zxc */ ShouldVoteCountResultDTO shouldVoteCount(ShouldVoteCountFormDTO formDTO); + + /** + * 党建园地-推荐小组 + * @author zhaoqifeng + * @date 2020/5/21 15:55 + * @param formDTO + * @return java.util.List + */ + List selectListRecommendList(RecommendedListFormDTO formDTO); } diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java index 5859f46243..abf06683dd 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/ResiGroupService.java @@ -274,4 +274,13 @@ public interface ResiGroupService extends BaseService { * @author zxc */ ShouldVoteCountResultDTO shouldVoteCount(ShouldVoteCountFormDTO formDTO); + + /** + * 党建园地-推荐小组 + * @author zhaoqifeng + * @date 2020/5/21 15:51 + * @param formDTO + * @return java.util.List + */ + List recommendedList(RecommendedListFormDTO formDTO); } 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 5a9950f577..1e2150f13f 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 @@ -843,6 +843,22 @@ public class ResiGroupServiceImpl extends BaseServiceImpl recommendedList(RecommendedListFormDTO formDTO) { + + //显示当前网格内所有当前用户还未加入的组,以组的人数由高到低排序;如果人数相同,以话题数由多到少排序 + List recommendGroupList = baseDao.selectListRecommendList(formDTO); + recommendGroupList.forEach(dto -> { + Result groupLeaderUserInfo = this.getGroupLeaderUserInfo(dto.getGroupId()); + if (groupLeaderUserInfo.success() && null != groupLeaderUserInfo.getData()) { + dto.setLeaderName(groupLeaderUserInfo.getData().getShowName()); + } else { + logger.warn("组长注册信息查询失败" + groupLeaderUserInfo.getMsg()); + } + }); + return recommendGroupList; + } + /** * @Description 给加入此网格的网格长发送消息 * @param msg 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 cff20a3b78..346dd484fa 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 @@ -322,4 +322,34 @@ AND rg.del_flag = 0 AND rg.grid_id = #{gridId} + diff --git a/epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/controller/GroupController.java b/epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/controller/GroupController.java index a329a65f14..9c0fd12d32 100644 --- a/epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/controller/GroupController.java +++ b/epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/controller/GroupController.java @@ -1,10 +1,19 @@ package com.epmet.controller; +import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.Result; +import com.epmet.resi.group.dto.group.form.RecommendedListFormDTO; +import com.epmet.resi.group.dto.group.result.RecommendedListResultDTO; import com.epmet.service.GroupService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** * @dscription 党建园地-小组Controller * @author sun @@ -16,5 +25,16 @@ public class GroupController { @Autowired private GroupService groupService; - + /** + * 党建园地-推荐小组 + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + * @author zhaoqifeng + * @date 2020/5/21 15:50 + */ + @PostMapping("recommendedlist") + public Result> recommendedList(@LoginUser TokenDto tokenDto, @RequestBody RecommendedListFormDTO formDTO) { + return new Result>().ok(groupService.recommendedList(tokenDto, formDTO)); + } } diff --git a/epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java b/epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java new file mode 100644 index 0000000000..9bf28be08c --- /dev/null +++ b/epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/feign/ResiGroupFeignClient.java @@ -0,0 +1,31 @@ +package com.epmet.feign; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.Result; +import com.epmet.feign.fallback.ResiGroupFeignClientFallBack; +import com.epmet.resi.group.dto.group.form.RecommendedListFormDTO; +import com.epmet.resi.group.dto.group.result.RecommendedListResultDTO; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/4/17 15:24 + */ +@FeignClient(name = ServiceConstant.RESI_GROUP_SERVER, fallback = ResiGroupFeignClientFallBack.class) +public interface ResiGroupFeignClient { + + /** + * 党建园地-推荐小组 + * @author zhaoqifeng + * @date 2020/5/21 15:50 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + */ + @PostMapping("/resi/group/group/recommendedlist") + Result> recommendedList(@RequestBody RecommendedListFormDTO formDTO); +} diff --git a/epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java b/epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java new file mode 100644 index 0000000000..45bfb4e3d9 --- /dev/null +++ b/epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/feign/fallback/ResiGroupFeignClientFallBack.java @@ -0,0 +1,25 @@ +package com.epmet.feign.fallback; + +import com.epmet.commons.tools.constant.ServiceConstant; +import com.epmet.commons.tools.utils.ModuleUtils; +import com.epmet.commons.tools.utils.Result; +import com.epmet.feign.ResiGroupFeignClient; +import com.epmet.resi.group.dto.group.form.*; +import com.epmet.resi.group.dto.group.result.*; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @author zhaoqifeng + * @dscription + * @date 2020/4/17 15:27 + */ +@Component +public class ResiGroupFeignClientFallBack implements ResiGroupFeignClient { + + @Override + public Result> recommendedList(RecommendedListFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.RESI_GROUP_SERVER, "recommendedList", formDTO); + } +} diff --git a/epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/GroupService.java b/epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/GroupService.java index 1ec425cbde..79033f88d8 100644 --- a/epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/GroupService.java +++ b/epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/GroupService.java @@ -1,8 +1,23 @@ package com.epmet.service; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.resi.group.dto.group.form.RecommendedListFormDTO; +import com.epmet.resi.group.dto.group.result.RecommendedListResultDTO; + +import java.util.List; + /** * @dscription 党建园地-小组Service * @author sun */ public interface GroupService { + /** + * 党建园地-推荐小组 + * @author zhaoqifeng + * @date 2020/5/21 16:35 + * @param tokenDto + * @param formDTO + * @return java.util.List + */ + List recommendedList(TokenDto tokenDto, RecommendedListFormDTO formDTO); } diff --git a/epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/impl/GroupServiceImpl.java b/epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/impl/GroupServiceImpl.java index bcdf31ff4b..b373c34ec5 100644 --- a/epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/impl/GroupServiceImpl.java +++ b/epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/impl/GroupServiceImpl.java @@ -1,12 +1,26 @@ package com.epmet.service.impl; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.feign.ResiGroupFeignClient; +import com.epmet.resi.group.dto.group.form.RecommendedListFormDTO; +import com.epmet.resi.group.dto.group.result.RecommendedListResultDTO; import com.epmet.service.GroupService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; + /** * @dscription 党建园地-小组ServiceImpl * @author sun */ @Service public class GroupServiceImpl implements GroupService { + @Autowired + ResiGroupFeignClient resiGroupFeignClient; + @Override + public List recommendedList(TokenDto tokenDto, RecommendedListFormDTO formDTO) { + formDTO.setUserId(tokenDto.getUserId()); + return resiGroupFeignClient.recommendedList(formDTO).getData(); + } }