删除例外权限集
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.ApiResult;
|
||||
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.SaveOrUpdatePermissionGroupVO;
|
||||
import cn.axzo.tyr.client.model.vo.SavePermissionGroupPPVO;
|
||||
@ -23,8 +24,8 @@ public interface SaasPermissionGroupApi {
|
||||
/**
|
||||
* 保存/更新 例外
|
||||
*/
|
||||
@PostMapping("/api/saasPermissionGoup/saveOrUpdateScope")
|
||||
ApiResult<Long> saveOrUpdateScope(@RequestBody @Valid SaveOrUpdatePermissionGroupVO permissionGroup);
|
||||
@PostMapping("/api/saasPermissionGoup/saveOrUpdateSpecial")
|
||||
ApiResult<Long> saveOrUpdateSpecial(@RequestBody @Valid SaveOrUpdatePermissionGroupVO permissionGroup);
|
||||
|
||||
/**
|
||||
* 根据id查询详情
|
||||
@ -48,4 +49,7 @@ public interface SaasPermissionGroupApi {
|
||||
|
||||
@PostMapping("/api/saasPermissionGoup/savePermissionPoints")
|
||||
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.tyr.client.feign.SaasPermissionGroupApi;
|
||||
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.SaveOrUpdatePermissionGroupVO;
|
||||
import cn.axzo.tyr.client.model.vo.SavePermissionGroupPPVO;
|
||||
@ -34,7 +35,7 @@ public class SaasPermissionGroupController implements SaasPermissionGroupApi {
|
||||
private final PermissionGroupService permissionGroupService;
|
||||
|
||||
@Override
|
||||
public ApiResult<Long> saveOrUpdateScope(SaveOrUpdatePermissionGroupVO permissionGroup) {
|
||||
public ApiResult<Long> saveOrUpdateSpecial(SaveOrUpdatePermissionGroupVO permissionGroup) {
|
||||
return ApiResult.ok(permissionGroupService.saveOrUpdateScope(permissionGroup));
|
||||
}
|
||||
|
||||
@ -70,4 +71,10 @@ public class SaasPermissionGroupController implements SaasPermissionGroupApi {
|
||||
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)
|
||||
.update();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -3,6 +3,7 @@ package cn.axzo.tyr.server.service;
|
||||
import cn.axzo.framework.domain.page.PageResp;
|
||||
import cn.axzo.tyr.client.model.enums.PermissionGroupType;
|
||||
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.SaveOrUpdatePermissionGroupVO;
|
||||
import cn.axzo.tyr.client.model.vo.SavePermissionGroupPPVO;
|
||||
@ -37,4 +38,5 @@ public interface PermissionGroupService {
|
||||
|
||||
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.permission.PermissionPointTreeNode;
|
||||
import cn.axzo.tyr.client.model.req.QuerySaasPermissionGroupReq;
|
||||
import cn.axzo.tyr.client.model.vo.SaasPermissionGroupVO;
|
||||
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.client.model.vo.*;
|
||||
import cn.axzo.tyr.server.repository.entity.*;
|
||||
import cn.axzo.tyr.server.repository.service.*;
|
||||
import cn.axzo.tyr.server.service.PermissionGroupService;
|
||||
@ -323,6 +320,40 @@ public class PermissionGroupImpl implements PermissionGroupService {
|
||||
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) {
|
||||
SaasRole saasRole = saasRoleDao.getById(permissionGroup.getRoleId());
|
||||
if (Objects.isNull(saasRole)) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user