Browse Source

修改:

1.【小组成就】返回"groupLeaderFlag"标记,是否是组长
dev_shibei_match
wxz 4 years ago
parent
commit
e84259fe2b
  1. 3
      epmet-module/epmet-point/epmet-point-client/src/main/java/com/epmet/dto/result/GroupPointRankingResultDTO.java
  2. 8
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/controller/GroupPointController.java
  3. 2
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/BizPointTotalDetailService.java
  4. 16
      epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/impl/BizPointTotalDetailServiceImpl.java
  5. 4
      epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupDetailResultDTO.java
  6. 11
      epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java
  7. 6
      epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml

3
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;
}

8
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<List<GroupPointRankingResultDTO>> listGroupPointRandingInGridScope(@RequestBody GroupPointFormDTO formDTO) {
public Result<List<GroupPointRankingResultDTO>> 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<GroupPointRankingResultDTO> page = bizPointTotalDetailService.listGroupPointRandingInPercificScope(SearchScopeTypeEnum.GRID, gridId,pageNo, pageSize);
List<GroupPointRankingResultDTO> page = bizPointTotalDetailService.listGroupPointRandingInPercificScope(SearchScopeTypeEnum.GRID, gridId,pageNo, pageSize, loginUser.getUserId());
return new Result<List<GroupPointRankingResultDTO>>().ok(page);
}
@ -146,13 +146,13 @@ public class GroupPointController {
* @date 2021.09.08 09:18:37
*/
@PostMapping("grouppointranking/customerscope")
public Result<List<GroupPointRankingResultDTO>> listGroupPointRandingInCustomerScope(@RequestBody GroupPointFormDTO formDTO) {
public Result<List<GroupPointRankingResultDTO>> 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<GroupPointRankingResultDTO> page = bizPointTotalDetailService.listGroupPointRandingInPercificScope(SearchScopeTypeEnum.CUSTOMER, customerId, pageNo, pageSize);
List<GroupPointRankingResultDTO> page = bizPointTotalDetailService.listGroupPointRandingInPercificScope(SearchScopeTypeEnum.CUSTOMER, customerId, pageNo, pageSize, loginUser.getUserId());
return new Result<List<GroupPointRankingResultDTO>>().ok(page);
}

2
epmet-module/epmet-point/epmet-point-server/src/main/java/com/epmet/service/BizPointTotalDetailService.java

@ -148,7 +148,7 @@ public interface BizPointTotalDetailService extends BaseService<BizPointTotalDet
* @author wxz
* @date 2021.09.07 14:18:08
*/
List<GroupPointRankingResultDTO> listGroupPointRandingInPercificScope(SearchScopeTypeEnum searchScopeType, String searchScopeId, Integer pageNo, Integer pageSize);
List<GroupPointRankingResultDTO> listGroupPointRandingInPercificScope(SearchScopeTypeEnum searchScopeType, String searchScopeId, Integer pageNo, Integer pageSize, String currentUserId);
/**
* @description 小组排名- 列出我所在的小组的积分排名

16
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<BizPointTota
}
@Override
public List<GroupPointRankingResultDTO> listGroupPointRandingInPercificScope(SearchScopeTypeEnum searchScopeType, String searchScopeId, Integer pageNo, Integer pageSize) {
public List<GroupPointRankingResultDTO> listGroupPointRandingInPercificScope(SearchScopeTypeEnum searchScopeType, String searchScopeId,
Integer pageNo, Integer pageSize,
String currentUserId) {
// 1.查询有积分的小组得分排名
PageInfo<BizPointTotalDetailEntity> entityPageInfo = PageHelper.startPage(pageNo, pageSize).doSelectPageInfo(() -> {
@ -283,7 +285,7 @@ public class BizPointTotalDetailServiceImpl extends BaseServiceImpl<BizPointTota
List<String> groupIds = groupList.stream().map(g -> g.getObjectId()).collect(Collectors.toList());
// 2.将列表填充基本信息并且转换为dto
List<GroupPointRankingResultDTO> rankingInfoDTOs = convertGroupRankingInfoEntity2DTOs(groupIds, groupList);
List<GroupPointRankingResultDTO> rankingInfoDTOs = convertGroupRankingInfoEntity2DTOs(groupIds, groupList, currentUserId);
Page page = new Page(pageNo, pageSize);
@ -304,7 +306,7 @@ public class BizPointTotalDetailServiceImpl extends BaseServiceImpl<BizPointTota
// 不足0的从0开始
startRow = Math.max(startRow, 0);
List<GroupPointRankingResultDTO> 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<BizPointTota
* @author wxz
* @date 2021.09.07 16:30:28
*/
private List<GroupPointRankingResultDTO> fillGroupPageGap(List<String> existingGroupIds, SearchScopeTypeEnum searchScopeType, String searchScopeObjectId, Integer startRow, Integer rowCount) {
private List<GroupPointRankingResultDTO> fillGroupPageGap(List<String> 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<BizPointTota
dto.setGroupName(g.getGroupName());
dto.setGroupId(g.getGroupId());
dto.setGridId(g.getGridId());
dto.setGroupLeaderFlag(g.getLeaderId().equals(currentUserId) ? "leader" : "member");
return dto;
}).collect(Collectors.toList());
}
@ -371,7 +375,7 @@ public class BizPointTotalDetailServiceImpl extends BaseServiceImpl<BizPointTota
* @author wxz
* @date 2021.09.07 15:52:17
*/
private List<GroupPointRankingResultDTO> convertGroupRankingInfoEntity2DTOs(List<String> groupIds, List<BizPointTotalDetailEntity> groupList) {
private List<GroupPointRankingResultDTO> convertGroupRankingInfoEntity2DTOs(List<String> groupIds, List<BizPointTotalDetailEntity> groupList, String currentUserId) {
if (CollectionUtils.isEmpty(groupIds)) {
return new ArrayList<>();
}
@ -394,6 +398,7 @@ public class BizPointTotalDetailServiceImpl extends BaseServiceImpl<BizPointTota
dto.setPoint(g.getTotalPoint().toString());
dto.setGroupHeadPhoto(groupInfo.getGroupHeadPhoto());
dto.setGridId(g.getGridId());
dto.setGroupLeaderFlag(groupInfo.getLeaderId().equals(currentUserId) ? "leader" : "member");
return dto;
}).collect(Collectors.toList());
return rankingDTOs;
@ -483,6 +488,7 @@ public class BizPointTotalDetailServiceImpl extends BaseServiceImpl<BizPointTota
dto.setPoint(point.toString());
dto.setGridRanking(gridRanking);
dto.setCustomerRanking(customerRanking);
dto.setGroupLeaderFlag(g.getGroupLeaderFlag());
return dto;
}).collect(Collectors.toList());
return groupDtoList;

4
epmet-module/resi-group/resi-group-client/src/main/java/com/epmet/resi/group/dto/group/result/GroupDetailResultDTO.java

@ -22,4 +22,8 @@ public class GroupDetailResultDTO {
/** 群组类型:branch:支部小组,ordinary:楼院小组 */
private String groupType;
private String customerId;
/** 组长ID */
private String leaderId;
/** 当前用户是否是群主 */
private String groupLeaderFlag;
}

11
epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/service/impl/ResiGroupServiceImpl.java

@ -1786,12 +1786,15 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
query.eq(ResiGroupEntity::getDelFlag, 0);
List<ResiGroupEntity> groupEntities = baseDao.selectList(query);
List<GroupDetailResultDTO> 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<ResiGroupDao, ResiGrou
if (CollectionUtils.isNotEmpty(excludeGroupIds)) {
query.notIn(ResiGroupEntity::getId, excludeGroupIds);
}
// 利用pagehelper计算起始条数
query.last(String.format("limit %s, %s", startRow, rowCount));
// 只显示审核通过且可用的小组
query.eq(ResiGroupEntity::getState, "approved");
SFunction<ResiGroupEntity, ?> sortFieldFun = null;
if (GroupFormDTO.SortTypeEnum.CREATE_TIME.getSortField().equals(sortType)) {
sortFieldFun = ResiGroupEntity::getCreatedTime;
@ -1824,6 +1829,9 @@ public class ResiGroupServiceImpl extends BaseServiceImpl<ResiGroupDao, ResiGrou
}
List<ResiGroupEntity> 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<ResiGroupDao, ResiGrou
dto.setGroupIntroduction(ge.getGroupIntroduction());
dto.setGroupType(ge.getGroupType());
dto.setGridId(ge.getGridId());
dto.setLeaderId(leader.getCustomerUserId());
return dto;
}).collect(Collectors.toList());
}

6
epmet-module/resi-group/resi-group-server/src/main/resources/mapper/group/ResiGroupDao.xml

@ -1069,10 +1069,14 @@
resi_group.GROUP_NAME,
resi_group.GROUP_INTRODUCTION,
resi_group.GROUP_TYPE,
resi_group.CUSTOMER_ID
resi_group.CUSTOMER_ID,
resi_group_member.GROUP_LEADER_FLAG,
g_leader.CUSTOMER_USER_ID leaderId
from resi_group
inner join resi_group_member
on (resi_group.ID = resi_group_member.RESI_GROUP_ID and resi_group_member.DEL_FLAG = 0)
inner join resi_group_member g_leader on (g_leader.DEL_FLAG = 0 and g_leader.RESI_GROUP_ID = resi_group.ID and
g_leader.GROUP_LEADER_FLAG = 'leader')
where resi_group_member.CUSTOMER_USER_ID = #{memberUserId}
and resi_group.DEL_FLAG = 0
<if test="gridId != null and gridId.trim() != ''">

Loading…
Cancel
Save