diff --git a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/GroupPointRankingResultDTO.java b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/GroupPointRankingResultDTO.java index 2f06640b73..127686b68c 100644 --- a/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/GroupPointRankingResultDTO.java +++ b/epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/GroupPointRankingResultDTO.java @@ -53,4 +53,7 @@ public class GroupPointRankingResultDTO implements Serializable { /** 客户下总排名 */ private Integer customerRanking; + + /** 我是否是组长 */ + private String groupLeaderFlag; } diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/GroupPointController.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/GroupPointController.java index 91526bcc16..947741b69d 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/GroupPointController.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/GroupPointController.java @@ -127,13 +127,13 @@ public class GroupPointController { * @date 2021.09.07 13:35:45 */ @PostMapping("grouppointranking/gridscope") - public Result> listGroupPointRandingInGridScope(@RequestBody GroupPointFormDTO formDTO) { + public Result> listGroupPointRandingInGridScope(@RequestBody GroupPointFormDTO formDTO, @LoginUser TokenDto loginUser) { ValidatorUtils.validateEntity(formDTO, GroupPointFormDTO.GridScopeRank.class); String gridId = formDTO.getGridId(); Integer pageNo = formDTO.getPageNo(); Integer pageSize = formDTO.getPageSize(); - List page = bizPointTotalDetailService.listGroupPointRandingInPercificScope(SearchScopeTypeEnum.GRID, gridId,pageNo, pageSize); + List page = bizPointTotalDetailService.listGroupPointRandingInPercificScope(SearchScopeTypeEnum.GRID, gridId,pageNo, pageSize, loginUser.getUserId()); return new Result>().ok(page); } @@ -146,13 +146,13 @@ public class GroupPointController { * @date 2021.09.08 09:18:37 */ @PostMapping("grouppointranking/customerscope") - public Result> listGroupPointRandingInCustomerScope(@RequestBody GroupPointFormDTO formDTO) { + public Result> listGroupPointRandingInCustomerScope(@RequestBody GroupPointFormDTO formDTO, @LoginUser TokenDto loginUser) { ValidatorUtils.validateEntity(formDTO, GroupPointFormDTO.CustomerScopeRank.class); String customerId = formDTO.getCustomerId(); Integer pageNo = formDTO.getPageNo(); Integer pageSize = formDTO.getPageSize(); - List page = bizPointTotalDetailService.listGroupPointRandingInPercificScope(SearchScopeTypeEnum.CUSTOMER, customerId, pageNo, pageSize); + List page = bizPointTotalDetailService.listGroupPointRandingInPercificScope(SearchScopeTypeEnum.CUSTOMER, customerId, pageNo, pageSize, loginUser.getUserId()); return new Result>().ok(page); } diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/BizPointTotalDetailService.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/BizPointTotalDetailService.java index b15043255a..a13fa70708 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/BizPointTotalDetailService.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/BizPointTotalDetailService.java @@ -148,7 +148,7 @@ public interface BizPointTotalDetailService extends BaseService listGroupPointRandingInPercificScope(SearchScopeTypeEnum searchScopeType, String searchScopeId, Integer pageNo, Integer pageSize); + List listGroupPointRandingInPercificScope(SearchScopeTypeEnum searchScopeType, String searchScopeId, Integer pageNo, Integer pageSize, String currentUserId); /** * @description 【小组排名】- 列出我所在的小组的积分排名 diff --git a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointTotalDetailServiceImpl.java b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointTotalDetailServiceImpl.java index 49732c9d88..95d4bd33df 100644 --- a/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointTotalDetailServiceImpl.java +++ b/epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointTotalDetailServiceImpl.java @@ -263,7 +263,9 @@ public class BizPointTotalDetailServiceImpl extends BaseServiceImpl listGroupPointRandingInPercificScope(SearchScopeTypeEnum searchScopeType, String searchScopeId, Integer pageNo, Integer pageSize) { + public List listGroupPointRandingInPercificScope(SearchScopeTypeEnum searchScopeType, String searchScopeId, + Integer pageNo, Integer pageSize, + String currentUserId) { // 1.查询有积分的小组得分排名 PageInfo entityPageInfo = PageHelper.startPage(pageNo, pageSize).doSelectPageInfo(() -> { @@ -283,7 +285,7 @@ public class BizPointTotalDetailServiceImpl extends BaseServiceImpl groupIds = groupList.stream().map(g -> g.getObjectId()).collect(Collectors.toList()); // 2.将列表填充基本信息并且转换为dto - List rankingInfoDTOs = convertGroupRankingInfoEntity2DTOs(groupIds, groupList); + List rankingInfoDTOs = convertGroupRankingInfoEntity2DTOs(groupIds, groupList, currentUserId); Page page = new Page(pageNo, pageSize); @@ -304,7 +306,7 @@ public class BizPointTotalDetailServiceImpl extends BaseServiceImpl gap; - gap = fillGroupPageGap(existingGroupIds, searchScopeType, searchScopeId, startRow, pageSize - groupList.size()); + gap = fillGroupPageGap(existingGroupIds, searchScopeType, searchScopeId, startRow, pageSize - groupList.size(), currentUserId); rankingInfoDTOs.addAll(gap); } @@ -336,7 +338,8 @@ public class BizPointTotalDetailServiceImpl extends BaseServiceImpl fillGroupPageGap(List existingGroupIds, SearchScopeTypeEnum searchScopeType, String searchScopeObjectId, Integer startRow, Integer rowCount) { + private List fillGroupPageGap(List existingGroupIds, SearchScopeTypeEnum searchScopeType, + String searchScopeObjectId, Integer startRow, Integer rowCount, String currentUserId) { GroupFormDTO form = new GroupFormDTO(); form.setExcludeGroupIds(existingGroupIds); form.setOrder(GroupFormDTO.OrderTypeEnum.DESC); @@ -359,6 +362,7 @@ public class BizPointTotalDetailServiceImpl extends BaseServiceImpl convertGroupRankingInfoEntity2DTOs(List groupIds, List groupList) { + private List convertGroupRankingInfoEntity2DTOs(List groupIds, List groupList, String currentUserId) { if (CollectionUtils.isEmpty(groupIds)) { return new ArrayList<>(); } @@ -394,6 +398,7 @@ public class BizPointTotalDetailServiceImpl extends BaseServiceImpl groupEntities = baseDao.selectList(query); List groupDtos = groupEntities.stream().map(ge -> { + ResiGroupMemberDTO leader = resiGroupMemberDao.selectLeaderMember(ge.getId()); + GroupDetailResultDTO dto = new GroupDetailResultDTO(); dto.setGroupId(ge.getId()); dto.setGroupName(ge.getGroupName()); dto.setGroupHeadPhoto(ge.getGroupHeadPhoto()); dto.setGroupIntroduction(ge.getGroupIntroduction()); dto.setGroupType(ge.getGroupType()); + dto.setLeaderId(leader.getCustomerUserId()); return dto; }).collect(Collectors.toList()); return groupDtos; @@ -1803,9 +1806,11 @@ public class ResiGroupServiceImpl extends BaseServiceImpl sortFieldFun = null; if (GroupFormDTO.SortTypeEnum.CREATE_TIME.getSortField().equals(sortType)) { sortFieldFun = ResiGroupEntity::getCreatedTime; @@ -1824,6 +1829,9 @@ public class ResiGroupServiceImpl extends BaseServiceImpl groupList = baseDao.selectList(query); return groupList.stream().map(ge -> { + // 查询组长id + ResiGroupMemberDTO leader = resiGroupMemberDao.selectLeaderMember(ge.getId()); + GroupDetailResultDTO dto = new GroupDetailResultDTO(); dto.setGroupId(ge.getId()); dto.setGroupName(ge.getGroupName()); @@ -1831,6 +1839,7 @@ public class ResiGroupServiceImpl extends BaseServiceImpl