返回类型变更
This commit is contained in:
parent
57d5ab56a4
commit
38dd3d3f79
@ -1,16 +1,15 @@
|
||||
package cn.axzo.tyr.server.controller.role;
|
||||
|
||||
|
||||
import cn.axzo.basics.common.constant.enums.TableIsDeleteEnum;
|
||||
import cn.axzo.framework.domain.web.result.ApiPageResult;
|
||||
import cn.axzo.framework.domain.web.result.ApiResult;
|
||||
import cn.axzo.pokonyan.config.mybatisplus.BaseEntity;
|
||||
import cn.axzo.tyr.client.feign.SaasPermissionGroupApi;
|
||||
import cn.axzo.tyr.client.model.req.QuerySaasPermissionGroupReq;
|
||||
import cn.axzo.tyr.client.model.vo.SaasPermissionGroupVO;
|
||||
import cn.axzo.tyr.server.repository.service.SaasPermissionGroupDao;
|
||||
import cn.axzo.tyr.server.repository.service.SaasPermissionGroupScopeDao;
|
||||
import cn.axzo.tyr.server.repository.service.SaasPgroupPermissionRelationDao;
|
||||
import cn.axzo.tyr.server.service.PermissionGroupService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@ -18,7 +17,6 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
@ -27,6 +25,7 @@ public class SaasPermissionGroupController implements SaasPermissionGroupApi {
|
||||
private final SaasPermissionGroupDao permissionGroupDao;
|
||||
private final SaasPgroupPermissionRelationDao pgroupPermissionRelationDao;
|
||||
private final SaasPermissionGroupScopeDao permissionGroupScopeDao;
|
||||
private final PermissionGroupService permissionGroupService;
|
||||
|
||||
@Override
|
||||
public ApiResult<Void> saveOrUpdate(SaasPermissionGroupVO req) {
|
||||
@ -40,7 +39,7 @@ public class SaasPermissionGroupController implements SaasPermissionGroupApi {
|
||||
|
||||
@Override
|
||||
public ApiPageResult<SaasPermissionGroupVO> query(QuerySaasPermissionGroupReq req) {
|
||||
return null;
|
||||
return ApiPageResult.ok(permissionGroupService.page(req));
|
||||
}
|
||||
|
||||
@Transactional
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package cn.axzo.tyr.server.service;
|
||||
|
||||
import cn.axzo.framework.domain.page.PageResp;
|
||||
import cn.axzo.tyr.client.model.req.QuerySaasPermissionGroupReq;
|
||||
import cn.axzo.tyr.client.model.vo.SaasPermissionGroupVO;
|
||||
|
||||
@ -19,6 +20,6 @@ public interface PermissionGroupService {
|
||||
*/
|
||||
public List<SaasPermissionGroupVO> query(QuerySaasPermissionGroupReq req);
|
||||
|
||||
|
||||
PageResp<SaasPermissionGroupVO> page(QuerySaasPermissionGroupReq req);
|
||||
|
||||
}
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package cn.axzo.tyr.server.service.impl;
|
||||
|
||||
import cn.axzo.basics.common.constant.enums.TableIsDeleteEnum;
|
||||
import cn.axzo.framework.domain.page.PageResp;
|
||||
import cn.axzo.pokonyan.config.mybatisplus.BaseEntity;
|
||||
import cn.axzo.tyr.client.model.permission.PermissionPointTreeNode;
|
||||
import cn.axzo.tyr.client.model.req.QuerySaasPermissionGroupReq;
|
||||
@ -13,6 +14,7 @@ import cn.axzo.tyr.server.repository.service.SaasPgroupPermissionRelationDao;
|
||||
import cn.axzo.tyr.server.repository.service.SaasPgroupRoleRelationDao;
|
||||
import cn.axzo.tyr.server.service.PermissionGroupService;
|
||||
import cn.axzo.tyr.server.service.PermissionPointService;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
@ -97,4 +99,66 @@ public class PermissionGroupImpl implements PermissionGroupService {
|
||||
).collect(Collectors.toList());
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResp<SaasPermissionGroupVO> page(QuerySaasPermissionGroupReq req) {
|
||||
// 如果角色id不为空则先查询角色权限集关联表
|
||||
IPage<SaasPermissionGroup> iPage = req.toPage();
|
||||
if (CollectionUtils.isNotEmpty(req.getRoleIds())) {
|
||||
List<SaasPgroupRoleRelation> relationList = roleRelationDao.lambdaQuery()
|
||||
.in(SaasPgroupRoleRelation::getRoleId, req.getRoleIds())
|
||||
.eq(BaseEntity::getIsDelete, TableIsDeleteEnum.NORMAL.value)
|
||||
.list();
|
||||
List<Long> hitIds = relationList.stream().map(SaasPgroupRoleRelation::getGroupId).distinct().collect(Collectors.toList());
|
||||
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(req.getIds())) {
|
||||
req.getIds().retainAll(hitIds);
|
||||
} else {
|
||||
req.setIds(hitIds);
|
||||
}
|
||||
// 如果没查询到关联关系则直接返回
|
||||
if (CollectionUtils.isEmpty(relationList)) {
|
||||
return PageResp.zero(iPage.getCurrent(), iPage.getSize());
|
||||
}
|
||||
}
|
||||
// 查询权限集
|
||||
iPage = permissionGroupDao.lambdaQuery()
|
||||
.in(CollectionUtils.isNotEmpty(req.getIds()), BaseEntity::getId, req.getIds())
|
||||
.eq(req.getIsCommon() != null, SaasPermissionGroup::getIsCommon, req.getIsCommon())
|
||||
.eq(req.getCreateBy() != null, SaasPermissionGroup::getCreateBy, req.getCreateBy())
|
||||
.eq(req.getUpdateBy() != null, SaasPermissionGroup::getUpdateBy, req.getUpdateBy())
|
||||
.eq(StringUtils.isNotBlank(req.getType()), SaasPermissionGroup::getType, req.getType())
|
||||
.like(StringUtils.isNotBlank(req.getName()), SaasPermissionGroup::getName, req.getName())
|
||||
.eq(BaseEntity::getIsDelete, TableIsDeleteEnum.NORMAL.value)
|
||||
.orderByDesc(BaseEntity::getId)
|
||||
.page(iPage);
|
||||
List<SaasPermissionGroup> groupList = iPage.getRecords();
|
||||
// 如果权限集为空则直接返回
|
||||
if (CollectionUtils.isEmpty(groupList)) {
|
||||
return PageResp.zero(iPage.getCurrent(), iPage.getSize());
|
||||
}
|
||||
// 查询权限集关联的权限
|
||||
List<SaasPgroupPermissionRelation> permissionList = permissionRelationDao.lambdaQuery()
|
||||
.in(SaasPgroupPermissionRelation::getGroupId, groupList.stream().map(BaseEntity::getId).collect(Collectors.toList()))
|
||||
.eq(BaseEntity::getIsDelete, TableIsDeleteEnum.NORMAL.value)
|
||||
.list();
|
||||
List<PermissionPointTreeNode> feature = null;
|
||||
if (CollectionUtils.isNotEmpty(permissionList)) {
|
||||
// 查询featureCode
|
||||
feature = featureService.listNodesByIds(permissionList.stream().map(SaasPgroupPermissionRelation::getFeatureId).collect(Collectors.toList()));
|
||||
}
|
||||
// 组装填充字段
|
||||
List<PermissionPointTreeNode> finalFeature = feature;
|
||||
List<SaasPermissionGroupVO> pageList = groupList.stream().map(group ->
|
||||
SaasPermissionGroupVO.builder()
|
||||
.id(group.getId())
|
||||
.name(group.getName())
|
||||
.feature(finalFeature)
|
||||
.createBy(group.getCreateBy())
|
||||
.updateBy(group.getUpdateBy())
|
||||
.type(group.getType())
|
||||
.build()
|
||||
).collect(Collectors.toList());
|
||||
return PageResp.list(iPage.getCurrent(), iPage.getSize(), iPage.getTotal(), pageList);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user