删除例外权限集
This commit is contained in:
parent
609aaddc28
commit
22d6900246
@ -3,6 +3,7 @@ package cn.axzo.tyr.client.feign;
|
|||||||
import cn.axzo.framework.domain.web.result.ApiPageResult;
|
import cn.axzo.framework.domain.web.result.ApiPageResult;
|
||||||
import cn.axzo.framework.domain.web.result.ApiResult;
|
import cn.axzo.framework.domain.web.result.ApiResult;
|
||||||
import cn.axzo.tyr.client.model.req.QuerySaasPermissionGroupReq;
|
import cn.axzo.tyr.client.model.req.QuerySaasPermissionGroupReq;
|
||||||
|
import cn.axzo.tyr.client.model.vo.DeletePermissionGroupVO;
|
||||||
import cn.axzo.tyr.client.model.vo.SaasPermissionGroupVO;
|
import cn.axzo.tyr.client.model.vo.SaasPermissionGroupVO;
|
||||||
import cn.axzo.tyr.client.model.vo.SaveOrUpdatePermissionGroupVO;
|
import cn.axzo.tyr.client.model.vo.SaveOrUpdatePermissionGroupVO;
|
||||||
import cn.axzo.tyr.client.model.vo.SavePermissionGroupPPVO;
|
import cn.axzo.tyr.client.model.vo.SavePermissionGroupPPVO;
|
||||||
@ -23,8 +24,8 @@ public interface SaasPermissionGroupApi {
|
|||||||
/**
|
/**
|
||||||
* 保存/更新 例外
|
* 保存/更新 例外
|
||||||
*/
|
*/
|
||||||
@PostMapping("/api/saasPermissionGoup/saveOrUpdateScope")
|
@PostMapping("/api/saasPermissionGoup/saveOrUpdateSpecial")
|
||||||
ApiResult<Long> saveOrUpdateScope(@RequestBody @Valid SaveOrUpdatePermissionGroupVO permissionGroup);
|
ApiResult<Long> saveOrUpdateSpecial(@RequestBody @Valid SaveOrUpdatePermissionGroupVO permissionGroup);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据id查询详情
|
* 根据id查询详情
|
||||||
@ -48,4 +49,7 @@ public interface SaasPermissionGroupApi {
|
|||||||
|
|
||||||
@PostMapping("/api/saasPermissionGoup/savePermissionPoints")
|
@PostMapping("/api/saasPermissionGoup/savePermissionPoints")
|
||||||
ApiResult<Void> savePermissionPoints(@RequestBody@Valid SavePermissionGroupPPVO save);
|
ApiResult<Void> savePermissionPoints(@RequestBody@Valid SavePermissionGroupPPVO save);
|
||||||
|
|
||||||
|
@PostMapping("/api/saasPermissionGoup/deletePermissionGroupSpecial")
|
||||||
|
ApiResult<Void> deletePermissionGroupSpecial(@RequestBody @Valid DeletePermissionGroupVO group);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,27 @@
|
|||||||
|
package cn.axzo.tyr.client.model.vo;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotEmpty;
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Builder
|
||||||
|
public class DeletePermissionGroupVO {
|
||||||
|
@NotNull
|
||||||
|
private Long roleId;
|
||||||
|
|
||||||
|
@NotEmpty
|
||||||
|
private List<Long> specialPermissionGroupIds;
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
private Long operatorId;
|
||||||
|
|
||||||
|
private String operatorName;
|
||||||
|
}
|
||||||
@ -7,6 +7,7 @@ import cn.axzo.framework.domain.web.result.ApiPageResult;
|
|||||||
import cn.axzo.framework.domain.web.result.ApiResult;
|
import cn.axzo.framework.domain.web.result.ApiResult;
|
||||||
import cn.axzo.tyr.client.feign.SaasPermissionGroupApi;
|
import cn.axzo.tyr.client.feign.SaasPermissionGroupApi;
|
||||||
import cn.axzo.tyr.client.model.req.QuerySaasPermissionGroupReq;
|
import cn.axzo.tyr.client.model.req.QuerySaasPermissionGroupReq;
|
||||||
|
import cn.axzo.tyr.client.model.vo.DeletePermissionGroupVO;
|
||||||
import cn.axzo.tyr.client.model.vo.SaasPermissionGroupVO;
|
import cn.axzo.tyr.client.model.vo.SaasPermissionGroupVO;
|
||||||
import cn.axzo.tyr.client.model.vo.SaveOrUpdatePermissionGroupVO;
|
import cn.axzo.tyr.client.model.vo.SaveOrUpdatePermissionGroupVO;
|
||||||
import cn.axzo.tyr.client.model.vo.SavePermissionGroupPPVO;
|
import cn.axzo.tyr.client.model.vo.SavePermissionGroupPPVO;
|
||||||
@ -34,7 +35,7 @@ public class SaasPermissionGroupController implements SaasPermissionGroupApi {
|
|||||||
private final PermissionGroupService permissionGroupService;
|
private final PermissionGroupService permissionGroupService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ApiResult<Long> saveOrUpdateScope(SaveOrUpdatePermissionGroupVO permissionGroup) {
|
public ApiResult<Long> saveOrUpdateSpecial(SaveOrUpdatePermissionGroupVO permissionGroup) {
|
||||||
return ApiResult.ok(permissionGroupService.saveOrUpdateScope(permissionGroup));
|
return ApiResult.ok(permissionGroupService.saveOrUpdateScope(permissionGroup));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -70,4 +71,10 @@ public class SaasPermissionGroupController implements SaasPermissionGroupApi {
|
|||||||
return ApiResult.ok();
|
return ApiResult.ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ApiResult<Void> deletePermissionGroupSpecial(DeletePermissionGroupVO group) {
|
||||||
|
permissionGroupService.deletePermissionGroupSpecial(group);
|
||||||
|
return ApiResult.ok();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -17,5 +17,7 @@ public class SaasPermissionGroupDao extends ServiceImpl<SaasPermissionGroupMappe
|
|||||||
.set(BaseEntity::getIsDelete,id)
|
.set(BaseEntity::getIsDelete,id)
|
||||||
.update();
|
.update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -3,6 +3,7 @@ package cn.axzo.tyr.server.service;
|
|||||||
import cn.axzo.framework.domain.page.PageResp;
|
import cn.axzo.framework.domain.page.PageResp;
|
||||||
import cn.axzo.tyr.client.model.enums.PermissionGroupType;
|
import cn.axzo.tyr.client.model.enums.PermissionGroupType;
|
||||||
import cn.axzo.tyr.client.model.req.QuerySaasPermissionGroupReq;
|
import cn.axzo.tyr.client.model.req.QuerySaasPermissionGroupReq;
|
||||||
|
import cn.axzo.tyr.client.model.vo.DeletePermissionGroupVO;
|
||||||
import cn.axzo.tyr.client.model.vo.SaasPermissionGroupVO;
|
import cn.axzo.tyr.client.model.vo.SaasPermissionGroupVO;
|
||||||
import cn.axzo.tyr.client.model.vo.SaveOrUpdatePermissionGroupVO;
|
import cn.axzo.tyr.client.model.vo.SaveOrUpdatePermissionGroupVO;
|
||||||
import cn.axzo.tyr.client.model.vo.SavePermissionGroupPPVO;
|
import cn.axzo.tyr.client.model.vo.SavePermissionGroupPPVO;
|
||||||
@ -37,4 +38,5 @@ public interface PermissionGroupService {
|
|||||||
|
|
||||||
SaasPermissionGroup getRequiredPermissionGroup(Long permissionGroupId, PermissionGroupType type);
|
SaasPermissionGroup getRequiredPermissionGroup(Long permissionGroupId, PermissionGroupType type);
|
||||||
|
|
||||||
|
void deletePermissionGroupSpecial(DeletePermissionGroupVO group);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -11,10 +11,7 @@ import cn.axzo.tyr.client.model.enums.PermissionScope;
|
|||||||
import cn.axzo.tyr.client.model.enums.PermissionScopeType;
|
import cn.axzo.tyr.client.model.enums.PermissionScopeType;
|
||||||
import cn.axzo.tyr.client.model.permission.PermissionPointTreeNode;
|
import cn.axzo.tyr.client.model.permission.PermissionPointTreeNode;
|
||||||
import cn.axzo.tyr.client.model.req.QuerySaasPermissionGroupReq;
|
import cn.axzo.tyr.client.model.req.QuerySaasPermissionGroupReq;
|
||||||
import cn.axzo.tyr.client.model.vo.SaasPermissionGroupVO;
|
import cn.axzo.tyr.client.model.vo.*;
|
||||||
import cn.axzo.tyr.client.model.vo.SaasRolePermissionScopeVO;
|
|
||||||
import cn.axzo.tyr.client.model.vo.SaveOrUpdatePermissionGroupVO;
|
|
||||||
import cn.axzo.tyr.client.model.vo.SavePermissionGroupPPVO;
|
|
||||||
import cn.axzo.tyr.server.repository.entity.*;
|
import cn.axzo.tyr.server.repository.entity.*;
|
||||||
import cn.axzo.tyr.server.repository.service.*;
|
import cn.axzo.tyr.server.repository.service.*;
|
||||||
import cn.axzo.tyr.server.service.PermissionGroupService;
|
import cn.axzo.tyr.server.service.PermissionGroupService;
|
||||||
@ -323,6 +320,40 @@ public class PermissionGroupImpl implements PermissionGroupService {
|
|||||||
return saasPermissionGroup;
|
return saasPermissionGroup;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public void deletePermissionGroupSpecial(DeletePermissionGroupVO group) {
|
||||||
|
List<SaasPgroupRoleRelation> relations = roleRelationDao.lambdaQuery().eq(SaasPgroupRoleRelation::getRoleId, group.getRoleId())
|
||||||
|
.in(SaasPgroupRoleRelation::getGroupId, group.getSpecialPermissionGroupIds())
|
||||||
|
.eq(SaasPgroupRoleRelation::getIsDelete, TableIsDeleteEnum.NORMAL.value).list();
|
||||||
|
if (CollectionUtils.isEmpty(relations)) {
|
||||||
|
throw new BizException(BaseCode.BAD_REQUEST, "权限集不存在");
|
||||||
|
}
|
||||||
|
List<Long> deleteGroupIds = relations.stream().map(SaasPgroupRoleRelation::getGroupId).sorted().collect(Collectors.toList());
|
||||||
|
List<SaasPermissionGroup> groups = permissionGroupDao.lambdaQuery()
|
||||||
|
.in(SaasPermissionGroup::getId, deleteGroupIds)
|
||||||
|
.eq(SaasPermissionGroup::getIsDelete, TableIsDeleteEnum.NORMAL.value).list();
|
||||||
|
if (groups.stream().anyMatch(e -> !Objects.equals(e.getIsCommon(), PermissionGroupType.SPECIAL.getCode()))) {
|
||||||
|
throw new BizException(BaseCode.BAD_REQUEST, "只能删除例外权限集");
|
||||||
|
}
|
||||||
|
//删除角色关联
|
||||||
|
roleRelationDao.removeByIds(relations.stream().map(SaasPgroupRoleRelation::getId).sorted().collect(Collectors.toList()));
|
||||||
|
List<SaasPermissionGroupScope> scopes = saasPermissionGroupScopeDao.lambdaQuery().in(SaasPermissionGroupScope::getPgroupId, deleteGroupIds)
|
||||||
|
.eq(SaasPermissionGroupScope::getIsDelete, TableIsDeleteEnum.NORMAL.value).list();
|
||||||
|
if (CollectionUtils.isNotEmpty(scopes)) {
|
||||||
|
// 删除例外scope
|
||||||
|
saasPermissionGroupScopeDao.removeByIds(scopes.stream().map(SaasPermissionGroupScope::getId).sorted().collect(Collectors.toList()));
|
||||||
|
}
|
||||||
|
// 删除通用权限集
|
||||||
|
permissionGroupDao.lambdaUpdate()
|
||||||
|
.in(BaseEntity::getId,deleteGroupIds)
|
||||||
|
.set(BaseEntity::getIsDelete, TableIsDeleteEnum.DELETE.value)
|
||||||
|
.set(BaseEntity::getUpdateAt, new Date())
|
||||||
|
.set(SaasPermissionGroup::getUpdateBy, group.getOperatorId())
|
||||||
|
.set(SaasPermissionGroup::getUpdatorName, group.getOperatorName())
|
||||||
|
.update();
|
||||||
|
}
|
||||||
|
|
||||||
private void validSaasPermissionGroup(SaveOrUpdatePermissionGroupVO permissionGroup) {
|
private void validSaasPermissionGroup(SaveOrUpdatePermissionGroupVO permissionGroup) {
|
||||||
SaasRole saasRole = saasRoleDao.getById(permissionGroup.getRoleId());
|
SaasRole saasRole = saasRoleDao.getById(permissionGroup.getRoleId());
|
||||||
if (Objects.isNull(saasRole)) {
|
if (Objects.isNull(saasRole)) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user