diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/right/impl/RightQueryServiceImpl.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/right/impl/RightQueryServiceImpl.java index 283062d..71f9f07 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/query/right/impl/RightQueryServiceImpl.java +++ b/dating-agency-mall-server/src/main/java/com/qniao/dam/query/right/impl/RightQueryServiceImpl.java @@ -47,7 +47,7 @@ public class RightQueryServiceImpl implements RightQueryService { @Override public List listRightByOperator(UserListRightByOperatorQueryParam queryParam) { List operatorVolist = new ArrayList<>(); - List allRightList = listEnableRightBy(queryParam.getQueryUserId(), queryParam.getMiId(), RightTypeEnum.get(queryParam.getType())); + List allRightList = listAllRightBy(queryParam.getQueryUserId(), queryParam.getMiId(), RightTypeEnum.get(queryParam.getType())); if (CollUtil.isNotEmpty(allRightList)) { for (Right right : allRightList) { UserListRightByOperatorVo operatorVo = transformOperatorRight(right); @@ -206,6 +206,26 @@ public class RightQueryServiceImpl implements RightQueryService { return allRightList; } + private List listAllRightBy(Long userId, Long miId, RightTypeEnum type) { + LambdaQueryWrapper rightWrapper = new LambdaQueryWrapper<>(); + rightWrapper.eq(Right::getUserId, userId); + rightWrapper.eq(Right::getMiId, miId); + if (Objects.nonNull(type)) { + rightWrapper.eq(Right::getType, type); + } + rightWrapper.orderByAsc(Right::getEndTime); + List allRightList = rightDao.selectList(rightWrapper); + if (CollUtil.isNotEmpty(allRightList)) { + List rightIdList = allRightList.stream().map(Right::getId).collect(Collectors.toList()); + List allRightTermList = rightTermDao.selectList(new LambdaQueryWrapper() + .in(RightTerm::getRightId, rightIdList)); + Map> allRightTermMap = allRightTermList.stream().collect(Collectors.groupingBy(RightTerm::getRightId)); + allRightList.forEach(right -> right.setRightTermList(allRightTermMap.get(right.getId()))); + } + return allRightList; + + } + @Override public boolean checkEnable(Right right) { //1.判断enable