mirror of https://gitee.com/topiam/eiam
⚡ 优化代码
parent
65d3dfa11c
commit
ec9c6231ed
|
@ -1,3 +1,20 @@
|
|||
/*
|
||||
* eiam-common - Employee Identity and Access Management
|
||||
* Copyright © 2022-Present Jinan Yuanchuang Network Technology Co., Ltd. (support@topiam.cn)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package cn.topiam.employee.common.constant;
|
||||
|
||||
import static cn.topiam.employee.support.constant.EiamConstants.COLON;
|
||||
|
|
|
@ -51,24 +51,24 @@ import static cn.topiam.employee.support.repository.domain.LogicDeleteEntity.SOF
|
|||
public class PermissionActionEntity extends LogicDeleteEntity<Long> {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = -3954680915360748087L;
|
||||
private static final long serialVersionUID = -3954680915360748087L;
|
||||
|
||||
/**
|
||||
* 权限值
|
||||
*/
|
||||
@Column(name = "value_")
|
||||
private String value;
|
||||
private String value;
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
@Column(name = "name_")
|
||||
private String name;
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 权限类型
|
||||
*/
|
||||
@Column(name = "type_")
|
||||
private PermissionActionType type;
|
||||
private PermissionActionType type;
|
||||
|
||||
/**
|
||||
* 资源
|
||||
|
|
|
@ -55,37 +55,37 @@ import static jakarta.persistence.FetchType.LAZY;
|
|||
public class PermissionResourceEntity extends LogicDeleteEntity<Long> {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 7342074686605139968L;
|
||||
private static final long serialVersionUID = 7342074686605139968L;
|
||||
|
||||
/**
|
||||
* 资源编码
|
||||
*/
|
||||
@Column(name = "code_")
|
||||
private String code;
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 资源名称
|
||||
*/
|
||||
@Column(name = "name_")
|
||||
private String name;
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 应用ID
|
||||
*/
|
||||
@Column(name = "app_id")
|
||||
private Long appId;
|
||||
private Long appId;
|
||||
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
@Column(name = "desc_")
|
||||
private String desc;
|
||||
private String desc;
|
||||
|
||||
/**
|
||||
* 是否启用
|
||||
*/
|
||||
@Column(name = "is_enabled")
|
||||
private Boolean enabled;
|
||||
private Boolean enabled;
|
||||
|
||||
/**
|
||||
* 权限
|
||||
|
|
|
@ -19,7 +19,6 @@ package cn.topiam.employee.common.repository.app.impl;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import cn.topiam.employee.common.entity.permission.po.PermissionPolicyPO;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.PageImpl;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
|
@ -30,6 +29,7 @@ import org.springframework.util.ObjectUtils;
|
|||
import com.google.common.collect.Lists;
|
||||
|
||||
import cn.topiam.employee.common.entity.app.query.AppPolicyQuery;
|
||||
import cn.topiam.employee.common.entity.permission.po.PermissionPolicyPO;
|
||||
import cn.topiam.employee.common.repository.app.impl.mapper.AppPermissionPolicyPoMapper;
|
||||
import cn.topiam.employee.common.repository.permission.AppPermissionPolicyRepositoryCustomized;
|
||||
|
||||
|
|
|
@ -20,9 +20,9 @@ package cn.topiam.employee.common.repository.app.impl.mapper;
|
|||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
|
||||
import cn.topiam.employee.common.entity.permission.po.PermissionPolicyPO;
|
||||
import org.springframework.jdbc.core.RowMapper;
|
||||
|
||||
import cn.topiam.employee.common.entity.permission.po.PermissionPolicyPO;
|
||||
import cn.topiam.employee.common.enums.app.AppPolicyEffect;
|
||||
import cn.topiam.employee.common.enums.app.AppPolicyObjectType;
|
||||
import cn.topiam.employee.common.enums.app.AppPolicySubjectType;
|
||||
|
@ -55,8 +55,7 @@ public class AppPermissionPolicyPoMapper implements RowMapper<PermissionPolicyPO
|
|||
.setSubjectType(AppPolicySubjectType.getType(rs.getString("subject_type")));
|
||||
permissionPolicyPo.setSubjectName(rs.getString("subject_name"));
|
||||
permissionPolicyPo.setObjectId(rs.getLong("object_id"));
|
||||
permissionPolicyPo
|
||||
.setObjectType(AppPolicyObjectType.getType(rs.getString("object_type")));
|
||||
permissionPolicyPo.setObjectType(AppPolicyObjectType.getType(rs.getString("object_type")));
|
||||
permissionPolicyPo.setObjectName(rs.getString("object_name"));
|
||||
return permissionPolicyPo;
|
||||
}
|
||||
|
|
|
@ -19,11 +19,11 @@ package cn.topiam.employee.common.repository.permission;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import cn.topiam.employee.common.entity.permission.PermissionActionEntity;
|
||||
import cn.topiam.employee.common.entity.permission.PermissionResourceEntity;
|
||||
import org.springframework.data.querydsl.QuerydslPredicateExecutor;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import cn.topiam.employee.common.entity.permission.PermissionActionEntity;
|
||||
import cn.topiam.employee.common.entity.permission.PermissionResourceEntity;
|
||||
import cn.topiam.employee.support.repository.LogicDeleteRepository;
|
||||
|
||||
/**
|
||||
|
|
|
@ -20,7 +20,6 @@ package cn.topiam.employee.common.repository.permission;
|
|||
import java.io.Serializable;
|
||||
import java.util.Collection;
|
||||
|
||||
import cn.topiam.employee.common.entity.permission.PermissionPolicyEntity;
|
||||
import org.springframework.data.jpa.repository.Modifying;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.data.querydsl.QuerydslPredicateExecutor;
|
||||
|
@ -28,6 +27,7 @@ import org.springframework.data.repository.query.Param;
|
|||
import org.springframework.stereotype.Repository;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import cn.topiam.employee.common.entity.permission.PermissionPolicyEntity;
|
||||
import cn.topiam.employee.support.repository.LogicDeleteRepository;
|
||||
import static cn.topiam.employee.support.repository.domain.LogicDeleteEntity.SOFT_DELETE_SET;
|
||||
|
||||
|
|
|
@ -17,11 +17,11 @@
|
|||
*/
|
||||
package cn.topiam.employee.common.repository.permission;
|
||||
|
||||
import cn.topiam.employee.common.entity.permission.po.PermissionPolicyPO;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
|
||||
import cn.topiam.employee.common.entity.app.query.AppPolicyQuery;
|
||||
import cn.topiam.employee.common.entity.permission.po.PermissionPolicyPO;
|
||||
|
||||
/**
|
||||
* @author TopIAM
|
||||
|
|
|
@ -19,13 +19,13 @@ package cn.topiam.employee.common.repository.permission;
|
|||
|
||||
import java.util.Optional;
|
||||
|
||||
import cn.topiam.employee.common.entity.permission.PermissionResourceEntity;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.data.querydsl.QuerydslPredicateExecutor;
|
||||
import org.springframework.data.repository.query.Param;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import cn.topiam.employee.common.entity.permission.PermissionResourceEntity;
|
||||
import cn.topiam.employee.support.repository.LogicDeleteRepository;
|
||||
|
||||
/**
|
||||
|
|
|
@ -19,7 +19,6 @@ package cn.topiam.employee.common.repository.permission;
|
|||
|
||||
import java.util.Optional;
|
||||
|
||||
import cn.topiam.employee.common.entity.permission.PermissionRoleEntity;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.cache.annotation.Cacheable;
|
||||
import org.springframework.data.jpa.repository.Modifying;
|
||||
|
@ -29,6 +28,7 @@ import org.springframework.data.repository.query.Param;
|
|||
import org.springframework.stereotype.Repository;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import cn.topiam.employee.common.entity.permission.PermissionRoleEntity;
|
||||
import cn.topiam.employee.support.repository.LogicDeleteRepository;
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,22 +0,0 @@
|
|||
/*
|
||||
* eiam-console - Employee Identity and Access Management
|
||||
* Copyright © 2022-Present Jinan Yuanchuang Network Technology Co., Ltd. (support@topiam.cn)
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
import Role from './Role';
|
||||
|
||||
export default () => {
|
||||
return <Role />;
|
||||
};
|
|
@ -19,7 +19,6 @@ package cn.topiam.employee.console.controller.permission;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import cn.topiam.employee.console.pojo.result.permission.PermissionActionListResult;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.http.MediaType;
|
||||
|
@ -30,6 +29,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import cn.topiam.employee.console.pojo.query.permission.PermissionActionListQuery;
|
||||
import cn.topiam.employee.console.pojo.result.permission.PermissionActionListResult;
|
||||
import cn.topiam.employee.console.service.permission.PermissionActionService;
|
||||
import cn.topiam.employee.support.result.ApiRestResult;
|
||||
|
||||
|
@ -37,7 +37,6 @@ import lombok.RequiredArgsConstructor;
|
|||
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
|
||||
import static cn.topiam.employee.common.constant.PermissionConstants.PERMISSION_PATH;
|
||||
|
||||
/**
|
||||
|
@ -49,8 +48,7 @@ import static cn.topiam.employee.common.constant.PermissionConstants.PERMISSION_
|
|||
@RequiredArgsConstructor
|
||||
@Validated
|
||||
@Tag(name = "应用权限-权限项")
|
||||
@RequestMapping(value = PERMISSION_PATH
|
||||
+ "/action", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@RequestMapping(value = PERMISSION_PATH + "/action", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@RestController
|
||||
public class PermissionActionController {
|
||||
|
||||
|
|
|
@ -17,9 +17,6 @@
|
|||
*/
|
||||
package cn.topiam.employee.console.controller.permission;
|
||||
|
||||
import cn.topiam.employee.console.pojo.result.permission.PermissionPolicyListResult;
|
||||
import cn.topiam.employee.console.pojo.result.permission.PermissionRoleListResult;
|
||||
import cn.topiam.employee.console.pojo.update.permission.PermissionPolicyUpdateParam;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
@ -27,8 +24,11 @@ import org.springframework.web.bind.annotation.*;
|
|||
|
||||
import cn.topiam.employee.common.entity.app.query.AppPolicyQuery;
|
||||
import cn.topiam.employee.console.pojo.result.permission.PermissionPolicyGetResult;
|
||||
import cn.topiam.employee.console.pojo.result.permission.PermissionPolicyListResult;
|
||||
import cn.topiam.employee.console.pojo.result.permission.PermissionRoleListResult;
|
||||
import cn.topiam.employee.console.pojo.save.permission.PermissionPolicyCreateParam;
|
||||
import cn.topiam.employee.console.pojo.save.permission.PermissionRoleCreateParam;
|
||||
import cn.topiam.employee.console.pojo.update.permission.PermissionPolicyUpdateParam;
|
||||
import cn.topiam.employee.console.pojo.update.permission.PermissionRoleUpdateParam;
|
||||
import cn.topiam.employee.console.service.permission.PermissionPolicyService;
|
||||
import cn.topiam.employee.support.lock.Lock;
|
||||
|
@ -41,7 +41,6 @@ import lombok.RequiredArgsConstructor;
|
|||
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
|
||||
import static cn.topiam.employee.common.constant.PermissionConstants.PERMISSION_PATH;
|
||||
|
||||
/**
|
||||
|
@ -52,8 +51,7 @@ import static cn.topiam.employee.common.constant.PermissionConstants.PERMISSION_
|
|||
*/
|
||||
@Validated
|
||||
@Tag(name = "应用权限-授权策略")
|
||||
@RequestMapping(value = PERMISSION_PATH
|
||||
+ "/policy", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@RequestMapping(value = PERMISSION_PATH + "/policy", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
public class PermissionPolicyController {
|
||||
|
|
|
@ -17,9 +17,6 @@
|
|||
*/
|
||||
package cn.topiam.employee.console.controller.permission;
|
||||
|
||||
import cn.topiam.employee.console.pojo.result.permission.PermissionResourceGetResult;
|
||||
import cn.topiam.employee.console.pojo.result.permission.PermissionResourceListResult;
|
||||
import cn.topiam.employee.console.pojo.save.permission.PermissionRoleCreateParam;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
@ -29,8 +26,11 @@ import cn.topiam.employee.audit.annotation.Audit;
|
|||
import cn.topiam.employee.audit.event.type.EventType;
|
||||
import cn.topiam.employee.common.enums.CheckValidityType;
|
||||
import cn.topiam.employee.console.pojo.query.permission.PermissionResourceListQuery;
|
||||
import cn.topiam.employee.console.pojo.result.permission.PermissionResourceGetResult;
|
||||
import cn.topiam.employee.console.pojo.result.permission.PermissionResourceListResult;
|
||||
import cn.topiam.employee.console.pojo.result.permission.PermissionRoleListResult;
|
||||
import cn.topiam.employee.console.pojo.save.permission.PermissionResourceCreateParam;
|
||||
import cn.topiam.employee.console.pojo.save.permission.PermissionRoleCreateParam;
|
||||
import cn.topiam.employee.console.pojo.update.permission.PermissionResourceUpdateParam;
|
||||
import cn.topiam.employee.console.pojo.update.permission.PermissionRoleUpdateParam;
|
||||
import cn.topiam.employee.console.service.permission.PermissionResourceService;
|
||||
|
@ -47,7 +47,6 @@ import io.swagger.v3.oas.annotations.Parameter;
|
|||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
|
||||
import static cn.topiam.employee.common.constant.PermissionConstants.PERMISSION_PATH;
|
||||
|
||||
/**
|
||||
|
@ -58,8 +57,7 @@ import static cn.topiam.employee.common.constant.PermissionConstants.PERMISSION_
|
|||
*/
|
||||
@Validated
|
||||
@Tag(name = "应用权限-资源")
|
||||
@RequestMapping(value = PERMISSION_PATH
|
||||
+ "/resource", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@RequestMapping(value = PERMISSION_PATH + "/resource", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
public class PermissionResourceController {
|
||||
|
@ -77,8 +75,7 @@ public class PermissionResourceController {
|
|||
@Validated PermissionResourceListQuery query) {
|
||||
Page<PermissionResourceListResult> result = permissionResourceService
|
||||
.getPermissionResourceList(page, query);
|
||||
return ApiRestResult.<Page<PermissionResourceListResult>> builder().result(result)
|
||||
.build();
|
||||
return ApiRestResult.<Page<PermissionResourceListResult>> builder().result(result).build();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -193,8 +190,8 @@ public class PermissionResourceController {
|
|||
@Parameter(description = "值") @NotEmpty(message = "验证值不能为空") String value,
|
||||
@Parameter(description = "应用ID") @NotNull(message = "应用ID不能为空") Long appId,
|
||||
@Parameter(description = "ID") Long id) {
|
||||
Boolean result = permissionResourceService.permissionResourceParamCheck(type, value,
|
||||
appId, id);
|
||||
Boolean result = permissionResourceService.permissionResourceParamCheck(type, value, appId,
|
||||
id);
|
||||
//返回
|
||||
return ApiRestResult.<Boolean> builder().result(result).build();
|
||||
}
|
||||
|
|
|
@ -17,9 +17,6 @@
|
|||
*/
|
||||
package cn.topiam.employee.console.controller.permission;
|
||||
|
||||
import cn.topiam.employee.console.pojo.result.permission.PermissionRoleListResult;
|
||||
import cn.topiam.employee.console.pojo.result.permission.PermissionRoleResult;
|
||||
import cn.topiam.employee.console.pojo.save.permission.PermissionRoleCreateParam;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
@ -29,6 +26,9 @@ import cn.topiam.employee.audit.annotation.Audit;
|
|||
import cn.topiam.employee.audit.event.type.EventType;
|
||||
import cn.topiam.employee.common.enums.CheckValidityType;
|
||||
import cn.topiam.employee.console.pojo.query.permission.PermissionRoleListQuery;
|
||||
import cn.topiam.employee.console.pojo.result.permission.PermissionRoleListResult;
|
||||
import cn.topiam.employee.console.pojo.result.permission.PermissionRoleResult;
|
||||
import cn.topiam.employee.console.pojo.save.permission.PermissionRoleCreateParam;
|
||||
import cn.topiam.employee.console.pojo.update.permission.PermissionRoleUpdateParam;
|
||||
import cn.topiam.employee.console.service.permission.PermissionRoleService;
|
||||
import cn.topiam.employee.support.lock.Lock;
|
||||
|
@ -44,7 +44,6 @@ import io.swagger.v3.oas.annotations.Parameter;
|
|||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
|
||||
import static cn.topiam.employee.common.constant.PermissionConstants.PERMISSION_PATH;
|
||||
|
||||
/**
|
||||
|
@ -71,8 +70,8 @@ public class PermissionRoleController {
|
|||
@PreAuthorize(value = "authenticated and @sae.hasAuthority(T(cn.topiam.employee.support.security.userdetails.UserType).ADMIN)")
|
||||
public ApiRestResult<Page<PermissionRoleListResult>> getPermissionRoleList(PageModel page,
|
||||
@Validated PermissionRoleListQuery query) {
|
||||
Page<PermissionRoleListResult> result = permissionRoleService
|
||||
.getPermissionRoleList(page, query);
|
||||
Page<PermissionRoleListResult> result = permissionRoleService.getPermissionRoleList(page,
|
||||
query);
|
||||
return ApiRestResult.<Page<PermissionRoleListResult>> builder().result(result).build();
|
||||
}
|
||||
|
||||
|
|
|
@ -28,8 +28,8 @@ import cn.topiam.employee.audit.event.type.EventType;
|
|||
import cn.topiam.employee.common.enums.MailType;
|
||||
import cn.topiam.employee.common.enums.MessageCategory;
|
||||
import cn.topiam.employee.common.enums.SmsType;
|
||||
import cn.topiam.employee.console.pojo.save.setting.SmsProviderSaveParam;
|
||||
import cn.topiam.employee.console.pojo.result.setting.SmsProviderConfigResult;
|
||||
import cn.topiam.employee.console.pojo.save.setting.SmsProviderSaveParam;
|
||||
import cn.topiam.employee.console.service.setting.MessageSettingService;
|
||||
import cn.topiam.employee.core.message.MsgVariable;
|
||||
import cn.topiam.employee.core.message.sms.SmsMsgEventPublish;
|
||||
|
|
|
@ -20,8 +20,6 @@ package cn.topiam.employee.console.converter.permission;
|
|||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import cn.topiam.employee.common.entity.permission.PermissionActionEntity;
|
||||
import cn.topiam.employee.common.entity.permission.PermissionResourceEntity;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.Mapping;
|
||||
|
@ -30,7 +28,9 @@ import org.springframework.util.ObjectUtils;
|
|||
import com.querydsl.core.types.ExpressionUtils;
|
||||
import com.querydsl.core.types.Predicate;
|
||||
|
||||
import cn.topiam.employee.common.entity.app.QAppPermissionResourceEntity;
|
||||
import cn.topiam.employee.common.entity.permission.PermissionActionEntity;
|
||||
import cn.topiam.employee.common.entity.permission.PermissionResourceEntity;
|
||||
import cn.topiam.employee.common.entity.permission.QPermissionResourceEntity;
|
||||
import cn.topiam.employee.common.enums.PermissionActionType;
|
||||
import cn.topiam.employee.console.pojo.query.permission.PermissionActionListQuery;
|
||||
import cn.topiam.employee.console.pojo.result.permission.PermissionActionListResult;
|
||||
|
@ -49,8 +49,8 @@ public interface PermissionActionConverter {
|
|||
* @param query {@link PermissionActionListQuery}
|
||||
* @return {@link Predicate}
|
||||
*/
|
||||
default Predicate appPermissionActionListQueryConvertToPredicate(PermissionActionListQuery query) {
|
||||
QAppPermissionResourceEntity resource = QAppPermissionResourceEntity.appPermissionResourceEntity;
|
||||
default Predicate permissionActionListQueryConvertToPredicate(PermissionActionListQuery query) {
|
||||
QPermissionResourceEntity resource = QPermissionResourceEntity.permissionResourceEntity;
|
||||
Predicate predicate = ExpressionUtils.and(resource.isNotNull(),
|
||||
resource.deleted.eq(Boolean.FALSE));
|
||||
//查询条件
|
||||
|
|
|
@ -20,14 +20,14 @@ package cn.topiam.employee.console.converter.permission;
|
|||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import cn.topiam.employee.common.entity.permission.PermissionPolicyEntity;
|
||||
import cn.topiam.employee.common.entity.permission.po.PermissionPolicyPO;
|
||||
import cn.topiam.employee.console.pojo.result.permission.PermissionPolicyListResult;
|
||||
import cn.topiam.employee.console.pojo.save.permission.PermissionPolicyCreateParam;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.Mapping;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import cn.topiam.employee.common.entity.permission.PermissionPolicyEntity;
|
||||
import cn.topiam.employee.common.entity.permission.po.PermissionPolicyPO;
|
||||
import cn.topiam.employee.console.pojo.result.permission.PermissionPolicyListResult;
|
||||
import cn.topiam.employee.console.pojo.save.permission.PermissionPolicyCreateParam;
|
||||
import cn.topiam.employee.console.pojo.update.permission.PermissionPolicyUpdateParam;
|
||||
import cn.topiam.employee.support.repository.page.domain.Page;
|
||||
|
||||
|
|
|
@ -20,10 +20,6 @@ package cn.topiam.employee.console.converter.permission;
|
|||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import cn.topiam.employee.common.entity.permission.PermissionResourceEntity;
|
||||
import cn.topiam.employee.console.pojo.result.permission.PermissionResourceGetResult;
|
||||
import cn.topiam.employee.console.pojo.result.permission.PermissionResourceListResult;
|
||||
import cn.topiam.employee.console.pojo.update.permission.PermissionResourceUpdateParam;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.Mapping;
|
||||
|
@ -33,9 +29,13 @@ import org.springframework.util.ObjectUtils;
|
|||
import com.querydsl.core.types.ExpressionUtils;
|
||||
import com.querydsl.core.types.Predicate;
|
||||
|
||||
import cn.topiam.employee.common.entity.app.QAppPermissionResourceEntity;
|
||||
import cn.topiam.employee.common.entity.permission.PermissionResourceEntity;
|
||||
import cn.topiam.employee.common.entity.permission.QPermissionResourceEntity;
|
||||
import cn.topiam.employee.console.pojo.query.permission.PermissionResourceListQuery;
|
||||
import cn.topiam.employee.console.pojo.result.permission.PermissionResourceGetResult;
|
||||
import cn.topiam.employee.console.pojo.result.permission.PermissionResourceListResult;
|
||||
import cn.topiam.employee.console.pojo.save.permission.PermissionResourceCreateParam;
|
||||
import cn.topiam.employee.console.pojo.update.permission.PermissionResourceUpdateParam;
|
||||
import cn.topiam.employee.support.repository.page.domain.Page;
|
||||
|
||||
/**
|
||||
|
@ -54,7 +54,7 @@ public interface PermissionResourceConverter {
|
|||
* @return {@link Predicate}
|
||||
*/
|
||||
default Predicate resourcePaginationParamConvertToPredicate(PermissionResourceListQuery query) {
|
||||
QAppPermissionResourceEntity resource = QAppPermissionResourceEntity.appPermissionResourceEntity;
|
||||
QPermissionResourceEntity resource = QPermissionResourceEntity.permissionResourceEntity;
|
||||
Predicate predicate = ExpressionUtils.and(resource.isNotNull(),
|
||||
resource.deleted.eq(Boolean.FALSE));
|
||||
//查询条件
|
||||
|
|
|
@ -20,7 +20,6 @@ package cn.topiam.employee.console.converter.permission;
|
|||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import cn.topiam.employee.console.pojo.save.permission.PermissionRoleCreateParam;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.Mapping;
|
||||
|
@ -30,11 +29,12 @@ import org.springframework.util.ObjectUtils;
|
|||
import com.querydsl.core.types.ExpressionUtils;
|
||||
import com.querydsl.core.types.Predicate;
|
||||
|
||||
import cn.topiam.employee.common.entity.app.QAppPermissionRoleEntity;
|
||||
import cn.topiam.employee.common.entity.permission.PermissionRoleEntity;
|
||||
import cn.topiam.employee.common.entity.permission.QPermissionRoleEntity;
|
||||
import cn.topiam.employee.console.pojo.query.permission.PermissionRoleListQuery;
|
||||
import cn.topiam.employee.console.pojo.result.permission.PermissionRoleListResult;
|
||||
import cn.topiam.employee.console.pojo.result.permission.PermissionRoleResult;
|
||||
import cn.topiam.employee.console.pojo.save.permission.PermissionRoleCreateParam;
|
||||
import cn.topiam.employee.console.pojo.update.permission.PermissionRoleUpdateParam;
|
||||
import cn.topiam.employee.support.repository.page.domain.Page;
|
||||
|
||||
|
@ -125,7 +125,7 @@ public interface PermissionRoleConverter {
|
|||
* @return {@link PermissionRoleEntity}
|
||||
*/
|
||||
default Predicate rolePaginationParamConvertToPredicate(PermissionRoleListQuery query) {
|
||||
QAppPermissionRoleEntity role = QAppPermissionRoleEntity.appPermissionRoleEntity;
|
||||
QPermissionRoleEntity role = QPermissionRoleEntity.permissionRoleEntity;
|
||||
Predicate predicate = ExpressionUtils.and(role.isNotNull(), role.deleted.eq(Boolean.FALSE));
|
||||
//查询条件
|
||||
//@formatter:off
|
||||
|
|
|
@ -40,9 +40,9 @@ import cn.topiam.employee.common.message.sms.aliyun.AliyunSmsProviderConfig;
|
|||
import cn.topiam.employee.common.message.sms.qiniu.QiNiuSmsProviderConfig;
|
||||
import cn.topiam.employee.common.message.sms.tencent.TencentSmsProviderConfig;
|
||||
import cn.topiam.employee.console.pojo.result.setting.EmailProviderConfigResult;
|
||||
import cn.topiam.employee.console.pojo.result.setting.SmsProviderConfigResult;
|
||||
import cn.topiam.employee.console.pojo.save.setting.MailProviderSaveParam;
|
||||
import cn.topiam.employee.console.pojo.save.setting.SmsProviderSaveParam;
|
||||
import cn.topiam.employee.console.pojo.result.setting.SmsProviderConfigResult;
|
||||
import cn.topiam.employee.support.exception.TopIamException;
|
||||
import cn.topiam.employee.support.validation.ValidationUtils;
|
||||
|
||||
|
|
|
@ -40,31 +40,31 @@ public class PermissionResourceCreateParam implements Serializable {
|
|||
*/
|
||||
@Schema(description = "资源编码")
|
||||
@NotBlank(message = "资源编码不能为空")
|
||||
private String code;
|
||||
private String code;
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@Schema(description = "资源名称")
|
||||
@NotBlank(message = "资源名称不能为空")
|
||||
private String name;
|
||||
private String name;
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
@Schema(description = "资源描述")
|
||||
@NotBlank(message = "资源描述不能为空")
|
||||
private String desc;
|
||||
private String desc;
|
||||
|
||||
/**
|
||||
* 是否启用
|
||||
*/
|
||||
private Boolean enabled = true;
|
||||
private Boolean enabled = true;
|
||||
|
||||
/**
|
||||
* 所属应用
|
||||
*/
|
||||
@Schema(description = "所属应用")
|
||||
@NotNull(message = "所属应用不能为空")
|
||||
private Long appId;
|
||||
private Long appId;
|
||||
|
||||
/**
|
||||
* 资源权限
|
||||
|
|
|
@ -40,47 +40,47 @@ import static io.swagger.v3.oas.annotations.media.Schema.AccessMode.READ_ONLY;
|
|||
@Schema(description = "修改资源入参")
|
||||
public class PermissionResourceUpdateParam implements Serializable {
|
||||
@Serial
|
||||
private static final long serialVersionUID = 6021548372386059064L;
|
||||
private static final long serialVersionUID = 6021548372386059064L;
|
||||
/**
|
||||
* ID
|
||||
*/
|
||||
@Schema(accessMode = READ_ONLY)
|
||||
@NotBlank(message = "ID不能为空")
|
||||
private String id;
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@Schema(description = "资源名称")
|
||||
@NotBlank(message = "资源名称不能为空")
|
||||
private String name;
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 编码
|
||||
*/
|
||||
@Schema(description = "资源编码")
|
||||
@NotBlank(message = "资源编码不能为空")
|
||||
private String code;
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
@Schema(description = "资源描述")
|
||||
@NotBlank(message = "资源描述不能为空")
|
||||
private String desc;
|
||||
private String desc;
|
||||
|
||||
/**
|
||||
* 所属应用
|
||||
*/
|
||||
@Schema(description = "所属应用")
|
||||
@NotNull(message = "所属应用不能为空")
|
||||
private Long appId;
|
||||
private Long appId;
|
||||
|
||||
/**
|
||||
* 是否启用
|
||||
*/
|
||||
@Schema(description = "是否启用")
|
||||
private Boolean enabled;
|
||||
private Boolean enabled;
|
||||
|
||||
/**
|
||||
* 资源权限
|
||||
|
|
|
@ -41,8 +41,7 @@ public interface PermissionPolicyService {
|
|||
* @param query {@link AppPolicyQuery}
|
||||
* @return {@link PermissionPolicyListResult}
|
||||
*/
|
||||
Page<PermissionPolicyListResult> getPermissionPolicyList(PageModel page,
|
||||
AppPolicyQuery query);
|
||||
Page<PermissionPolicyListResult> getPermissionPolicyList(PageModel page, AppPolicyQuery query);
|
||||
|
||||
/**
|
||||
* 获取资源
|
||||
|
|
|
@ -19,13 +19,13 @@ package cn.topiam.employee.console.service.permission.impl;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import cn.topiam.employee.common.entity.permission.PermissionResourceEntity;
|
||||
import cn.topiam.employee.console.converter.permission.PermissionActionConverter;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.querydsl.core.types.Predicate;
|
||||
|
||||
import cn.topiam.employee.common.entity.permission.PermissionResourceEntity;
|
||||
import cn.topiam.employee.common.repository.permission.AppPermissionResourceRepository;
|
||||
import cn.topiam.employee.console.converter.permission.PermissionActionConverter;
|
||||
import cn.topiam.employee.console.pojo.query.permission.PermissionActionListQuery;
|
||||
import cn.topiam.employee.console.pojo.result.permission.PermissionActionListResult;
|
||||
import cn.topiam.employee.console.service.permission.PermissionActionService;
|
||||
|
@ -53,13 +53,13 @@ public class PermissionActionServiceImpl implements PermissionActionService {
|
|||
@Override
|
||||
public List<PermissionActionListResult> getPermissionActionList(PermissionActionListQuery query) {
|
||||
Predicate predicate = permissionActionConverter
|
||||
.appPermissionActionListQueryConvertToPredicate(query);
|
||||
List<PermissionResourceEntity> list = (List<PermissionResourceEntity>) appPermissionResourceRepository
|
||||
.permissionActionListQueryConvertToPredicate(query);
|
||||
List<PermissionResourceEntity> list = (List<PermissionResourceEntity>) permissionResourceRepository
|
||||
.findAll(predicate);
|
||||
return permissionActionConverter.entityConvertToResourceActionListResult(list);
|
||||
}
|
||||
|
||||
private final AppPermissionResourceRepository appPermissionResourceRepository;
|
||||
private final AppPermissionResourceRepository permissionResourceRepository;
|
||||
|
||||
private final PermissionActionConverter permissionActionConverter;
|
||||
private final PermissionActionConverter permissionActionConverter;
|
||||
}
|
||||
|
|
|
@ -17,8 +17,6 @@
|
|||
*/
|
||||
package cn.topiam.employee.console.service.permission.impl;
|
||||
|
||||
import cn.topiam.employee.console.pojo.result.permission.PermissionPolicyListResult;
|
||||
import cn.topiam.employee.console.pojo.save.permission.PermissionPolicyCreateParam;
|
||||
import org.springframework.data.querydsl.QPageRequest;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
@ -30,6 +28,8 @@ import cn.topiam.employee.common.exception.app.AppPolicyNotExistException;
|
|||
import cn.topiam.employee.common.repository.permission.AppPermissionPolicyRepository;
|
||||
import cn.topiam.employee.console.converter.permission.PermissionPolicyConverter;
|
||||
import cn.topiam.employee.console.pojo.result.permission.PermissionPolicyGetResult;
|
||||
import cn.topiam.employee.console.pojo.result.permission.PermissionPolicyListResult;
|
||||
import cn.topiam.employee.console.pojo.save.permission.PermissionPolicyCreateParam;
|
||||
import cn.topiam.employee.console.pojo.update.permission.PermissionPolicyUpdateParam;
|
||||
import cn.topiam.employee.console.service.permission.PermissionPolicyService;
|
||||
import cn.topiam.employee.support.repository.page.domain.Page;
|
||||
|
@ -61,7 +61,7 @@ public class PermissionPolicyServiceImpl implements PermissionPolicyService {
|
|||
AppPolicyQuery query) {
|
||||
org.springframework.data.domain.Page<PermissionPolicyPO> data;
|
||||
QPageRequest request = QPageRequest.of(page.getCurrent(), page.getPageSize());
|
||||
data = appPermissionPolicyRepository.findPage(query, request);
|
||||
data = permissionPolicyRepository.findPage(query, request);
|
||||
return permissionPolicyConverter.entityConvertToPolicyListResult(data);
|
||||
}
|
||||
|
||||
|
@ -85,9 +85,8 @@ public class PermissionPolicyServiceImpl implements PermissionPolicyService {
|
|||
@Override
|
||||
public Boolean deletePermissionPolicy(String id) {
|
||||
Long policyId = Long.valueOf(id);
|
||||
appPermissionPolicyRepository.findById(policyId)
|
||||
.orElseThrow(AppPolicyNotExistException::new);
|
||||
appPermissionPolicyRepository.deleteById(policyId);
|
||||
permissionPolicyRepository.findById(policyId).orElseThrow(AppPolicyNotExistException::new);
|
||||
permissionPolicyRepository.deleteById(policyId);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -103,7 +102,7 @@ public class PermissionPolicyServiceImpl implements PermissionPolicyService {
|
|||
PermissionPolicyEntity resource = permissionPolicyConverter
|
||||
.policyCreateParamConvertToEntity(param);
|
||||
// 新增策略
|
||||
appPermissionPolicyRepository.save(resource);
|
||||
permissionPolicyRepository.save(resource);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -118,11 +117,11 @@ public class PermissionPolicyServiceImpl implements PermissionPolicyService {
|
|||
PermissionPolicyEntity resource = permissionPolicyConverter
|
||||
.policyUpdateParamConvertToEntity(param);
|
||||
// 更新策略
|
||||
appPermissionPolicyRepository.save(resource);
|
||||
permissionPolicyRepository.save(resource);
|
||||
return null;
|
||||
}
|
||||
|
||||
private final PermissionPolicyConverter permissionPolicyConverter;
|
||||
private final PermissionPolicyConverter permissionPolicyConverter;
|
||||
|
||||
private final AppPermissionPolicyRepository appPermissionPolicyRepository;
|
||||
private final AppPermissionPolicyRepository permissionPolicyRepository;
|
||||
}
|
||||
|
|
|
@ -23,12 +23,6 @@ import java.util.Objects;
|
|||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import cn.topiam.employee.common.entity.permission.PermissionActionEntity;
|
||||
import cn.topiam.employee.common.entity.permission.PermissionResourceEntity;
|
||||
import cn.topiam.employee.console.pojo.result.permission.PermissionResourceGetResult;
|
||||
import cn.topiam.employee.console.pojo.result.permission.PermissionResourceListResult;
|
||||
import cn.topiam.employee.console.pojo.save.permission.PermissionResourceCreateParam;
|
||||
import cn.topiam.employee.console.pojo.update.permission.PermissionResourceUpdateParam;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.data.querydsl.QPageRequest;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
@ -40,7 +34,9 @@ import com.querydsl.core.types.dsl.BooleanExpression;
|
|||
import cn.topiam.employee.audit.context.AuditContext;
|
||||
import cn.topiam.employee.audit.entity.Target;
|
||||
import cn.topiam.employee.audit.enums.TargetType;
|
||||
import cn.topiam.employee.common.entity.app.QAppPermissionResourceEntity;
|
||||
import cn.topiam.employee.common.entity.permission.PermissionActionEntity;
|
||||
import cn.topiam.employee.common.entity.permission.PermissionResourceEntity;
|
||||
import cn.topiam.employee.common.entity.permission.QPermissionResourceEntity;
|
||||
import cn.topiam.employee.common.enums.CheckValidityType;
|
||||
import cn.topiam.employee.common.exception.app.AppResourceNotExistException;
|
||||
import cn.topiam.employee.common.repository.permission.AppPermissionActionRepository;
|
||||
|
@ -48,7 +44,11 @@ import cn.topiam.employee.common.repository.permission.AppPermissionPolicyReposi
|
|||
import cn.topiam.employee.common.repository.permission.AppPermissionResourceRepository;
|
||||
import cn.topiam.employee.console.converter.permission.PermissionResourceConverter;
|
||||
import cn.topiam.employee.console.pojo.query.permission.PermissionResourceListQuery;
|
||||
import cn.topiam.employee.console.pojo.result.permission.PermissionResourceGetResult;
|
||||
import cn.topiam.employee.console.pojo.result.permission.PermissionResourceListResult;
|
||||
import cn.topiam.employee.console.pojo.save.permission.PermissionResourceCreateParam;
|
||||
import cn.topiam.employee.console.pojo.save.permission.PermissionsActionParam;
|
||||
import cn.topiam.employee.console.pojo.update.permission.PermissionResourceUpdateParam;
|
||||
import cn.topiam.employee.console.service.permission.PermissionResourceService;
|
||||
import cn.topiam.employee.support.exception.BadParamsException;
|
||||
import cn.topiam.employee.support.repository.page.domain.Page;
|
||||
|
@ -114,12 +114,12 @@ public class PermissionResourceServiceImpl implements PermissionResourceService
|
|||
Long resourceId = Long.valueOf(id);
|
||||
PermissionResourceEntity resource = appResourceRepository.findById(resourceId)
|
||||
.orElseThrow(AppResourceNotExistException::new);
|
||||
List<PermissionActionEntity> actionList = appPermissionActionRepository
|
||||
List<PermissionActionEntity> actionList = permissionActionRepository
|
||||
.findAllByResource(resource);
|
||||
List<Long> objectIdList = new ArrayList<>(
|
||||
actionList.stream().map(PermissionActionEntity::getId).toList());
|
||||
objectIdList.add(resourceId);
|
||||
appPermissionPolicyRepository.deleteAllByObjectIdIn(objectIdList);
|
||||
permissionPolicyRepository.deleteAllByObjectIdIn(objectIdList);
|
||||
appResourceRepository.deleteById(resourceId);
|
||||
AuditContext
|
||||
.setTarget(Target.builder().id(id).type(TargetType.APP_PERMISSION_RESOURCE).build());
|
||||
|
@ -139,7 +139,7 @@ public class PermissionResourceServiceImpl implements PermissionResourceService
|
|||
.orElseThrow(AppResourceNotExistException::new);
|
||||
AuditContext.setTarget(
|
||||
Target.builder().id(id.toString()).type(TargetType.APP_PERMISSION_RESOURCE).build());
|
||||
return appPermissionPolicyRepository.updateStatus(id, enabled) > 0;
|
||||
return permissionPolicyRepository.updateStatus(id, enabled) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -177,16 +177,16 @@ public class PermissionResourceServiceImpl implements PermissionResourceService
|
|||
buildActions(param.getActions(), resource);
|
||||
BeanUtils.merge(resource, entity, LAST_MODIFIED_BY, LAST_MODIFIED_TIME);
|
||||
// 查询资源下所有权限
|
||||
List<PermissionActionEntity> actionList = appPermissionActionRepository
|
||||
List<PermissionActionEntity> actionList = permissionActionRepository
|
||||
.findAllByResource(resource);
|
||||
// 取出未删除的权限id
|
||||
Set<Long> reservedSet = resource.getActions().stream().map(PermissionActionEntity::getId)
|
||||
.collect(Collectors.toSet());
|
||||
// 过滤要删除的权限id
|
||||
List<Long> removeActions = actionList.stream()
|
||||
.filter(item -> !reservedSet.contains(item.getId()))
|
||||
.map(PermissionActionEntity::getId).toList();
|
||||
appPermissionActionRepository.deleteAllById(removeActions);
|
||||
.filter(item -> !reservedSet.contains(item.getId())).map(PermissionActionEntity::getId)
|
||||
.toList();
|
||||
permissionActionRepository.deleteAllById(removeActions);
|
||||
// 更新资源
|
||||
appResourceRepository.save(entity);
|
||||
AuditContext.setTarget(
|
||||
|
@ -218,7 +218,7 @@ public class PermissionResourceServiceImpl implements PermissionResourceService
|
|||
@Override
|
||||
public Boolean permissionResourceParamCheck(CheckValidityType type, String value, Long appId,
|
||||
Long id) {
|
||||
QAppPermissionResourceEntity role = QAppPermissionResourceEntity.appPermissionResourceEntity;
|
||||
QPermissionResourceEntity role = QPermissionResourceEntity.permissionResourceEntity;
|
||||
PermissionResourceEntity entity = new PermissionResourceEntity();
|
||||
boolean result = false;
|
||||
// ID存在说明是修改操作,查询一下当前数据
|
||||
|
@ -267,15 +267,15 @@ public class PermissionResourceServiceImpl implements PermissionResourceService
|
|||
resource.setActions(list);
|
||||
}
|
||||
|
||||
private final PermissionResourceConverter permissionResourceConverter;
|
||||
private final PermissionResourceConverter permissionResourceConverter;
|
||||
|
||||
private final AppPermissionResourceRepository appResourceRepository;
|
||||
/**
|
||||
* PolicyRepository
|
||||
*/
|
||||
private final AppPermissionPolicyRepository appPermissionPolicyRepository;
|
||||
private final AppPermissionPolicyRepository permissionPolicyRepository;
|
||||
/**
|
||||
* ActionRepository
|
||||
*/
|
||||
private final AppPermissionActionRepository appPermissionActionRepository;
|
||||
private final AppPermissionActionRepository permissionActionRepository;
|
||||
}
|
||||
|
|
|
@ -22,10 +22,6 @@ import java.util.List;
|
|||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
|
||||
import cn.topiam.employee.console.converter.permission.PermissionRoleConverter;
|
||||
import cn.topiam.employee.console.pojo.result.permission.PermissionRoleListResult;
|
||||
import cn.topiam.employee.console.pojo.result.permission.PermissionRoleResult;
|
||||
import cn.topiam.employee.console.pojo.save.permission.PermissionRoleCreateParam;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.data.querydsl.QPageRequest;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
@ -37,13 +33,17 @@ import com.querydsl.core.types.dsl.BooleanExpression;
|
|||
import cn.topiam.employee.audit.context.AuditContext;
|
||||
import cn.topiam.employee.audit.entity.Target;
|
||||
import cn.topiam.employee.audit.enums.TargetType;
|
||||
import cn.topiam.employee.common.entity.app.QAppPermissionRoleEntity;
|
||||
import cn.topiam.employee.common.entity.permission.PermissionRoleEntity;
|
||||
import cn.topiam.employee.common.entity.permission.QPermissionRoleEntity;
|
||||
import cn.topiam.employee.common.enums.CheckValidityType;
|
||||
import cn.topiam.employee.common.exception.app.AppRoleNotExistException;
|
||||
import cn.topiam.employee.common.repository.permission.AppPermissionPolicyRepository;
|
||||
import cn.topiam.employee.common.repository.permission.AppPermissionRoleRepository;
|
||||
import cn.topiam.employee.console.converter.permission.PermissionRoleConverter;
|
||||
import cn.topiam.employee.console.pojo.query.permission.PermissionRoleListQuery;
|
||||
import cn.topiam.employee.console.pojo.result.permission.PermissionRoleListResult;
|
||||
import cn.topiam.employee.console.pojo.result.permission.PermissionRoleResult;
|
||||
import cn.topiam.employee.console.pojo.save.permission.PermissionRoleCreateParam;
|
||||
import cn.topiam.employee.console.pojo.update.permission.PermissionRoleUpdateParam;
|
||||
import cn.topiam.employee.console.service.permission.PermissionRoleService;
|
||||
import cn.topiam.employee.support.repository.page.domain.Page;
|
||||
|
@ -76,10 +76,9 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
|
|||
public Page<PermissionRoleListResult> getPermissionRoleList(PageModel page,
|
||||
PermissionRoleListQuery query) {
|
||||
org.springframework.data.domain.Page<PermissionRoleEntity> data;
|
||||
Predicate predicate = permissionRoleConverter
|
||||
.rolePaginationParamConvertToPredicate(query);
|
||||
Predicate predicate = permissionRoleConverter.rolePaginationParamConvertToPredicate(query);
|
||||
QPageRequest request = QPageRequest.of(page.getCurrent(), page.getPageSize());
|
||||
data = appPermissionRoleRepository.findAll(predicate, request);
|
||||
data = permissionRoleRepository.findAll(predicate, request);
|
||||
return permissionRoleConverter.entityConvertToRolePaginationResult(data);
|
||||
}
|
||||
|
||||
|
@ -91,9 +90,8 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
|
|||
*/
|
||||
@Override
|
||||
public boolean createPermissionRole(PermissionRoleCreateParam param) {
|
||||
PermissionRoleEntity entity = permissionRoleConverter
|
||||
.roleCreateParamConvertToEntity(param);
|
||||
appPermissionRoleRepository.save(entity);
|
||||
PermissionRoleEntity entity = permissionRoleConverter.roleCreateParamConvertToEntity(param);
|
||||
permissionRoleRepository.save(entity);
|
||||
AuditContext.setTarget(Target.builder().id(entity.getId().toString())
|
||||
.type(TargetType.APP_PERMISSION_ROLE).build());
|
||||
return true;
|
||||
|
@ -105,12 +103,11 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
|
|||
*/
|
||||
@Override
|
||||
public boolean updatePermissionRole(PermissionRoleUpdateParam param) {
|
||||
PermissionRoleEntity source = permissionRoleConverter
|
||||
.roleUpdateParamConvertToEntity(param);
|
||||
PermissionRoleEntity target = appPermissionRoleRepository
|
||||
.findById(Long.valueOf(param.getId())).orElseThrow(AppRoleNotExistException::new);
|
||||
PermissionRoleEntity source = permissionRoleConverter.roleUpdateParamConvertToEntity(param);
|
||||
PermissionRoleEntity target = permissionRoleRepository.findById(Long.valueOf(param.getId()))
|
||||
.orElseThrow(AppRoleNotExistException::new);
|
||||
BeanUtils.merge(source, target, LAST_MODIFIED_TIME, LAST_MODIFIED_BY);
|
||||
appPermissionRoleRepository.save(target);
|
||||
permissionRoleRepository.save(target);
|
||||
AuditContext.setTarget(Target.builder().id(target.getId().toString())
|
||||
.type(TargetType.APP_PERMISSION_ROLE).build());
|
||||
return true;
|
||||
|
@ -127,10 +124,10 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
|
|||
public boolean deletePermissionRole(String ids) {
|
||||
List<String> idList = Arrays.stream(ids.split(",")).toList();
|
||||
List<Long> longIds = idList.stream().map(Long::parseLong).toList();
|
||||
appPermissionRoleRepository.deleteAllById(longIds);
|
||||
permissionRoleRepository.deleteAllById(longIds);
|
||||
// 删除对应策略
|
||||
appPermissionPolicyRepository.deleteAllBySubjectIdIn(idList);
|
||||
appPermissionPolicyRepository.deleteAllByObjectIdIn(longIds);
|
||||
permissionPolicyRepository.deleteAllBySubjectIdIn(idList);
|
||||
permissionPolicyRepository.deleteAllByObjectIdIn(longIds);
|
||||
AuditContext
|
||||
.setTarget(Target.builder().id(ids).type(TargetType.APP_PERMISSION_ROLE).build());
|
||||
return true;
|
||||
|
@ -145,7 +142,7 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
|
|||
@Override
|
||||
public PermissionRoleResult getPermissionRole(Long id) {
|
||||
//查询
|
||||
Optional<PermissionRoleEntity> entity = appPermissionRoleRepository.findById(id);
|
||||
Optional<PermissionRoleEntity> entity = permissionRoleRepository.findById(id);
|
||||
//映射
|
||||
return permissionRoleConverter.entityConvertToRoleDetailResult(entity.orElse(null));
|
||||
}
|
||||
|
@ -163,12 +160,12 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
|
|||
@Override
|
||||
public Boolean permissionRoleParamCheck(CheckValidityType type, String value, Long appId,
|
||||
Long id) {
|
||||
QAppPermissionRoleEntity role = QAppPermissionRoleEntity.appPermissionRoleEntity;
|
||||
QPermissionRoleEntity role = QPermissionRoleEntity.permissionRoleEntity;
|
||||
PermissionRoleEntity entity = new PermissionRoleEntity();
|
||||
boolean result = false;
|
||||
// ID存在说明是修改操作,查询一下当前数据
|
||||
if (Objects.nonNull(id)) {
|
||||
entity = appPermissionRoleRepository.findById(id)
|
||||
entity = permissionRoleRepository.findById(id)
|
||||
.orElseThrow(AppRoleNotExistException::new);
|
||||
}
|
||||
//角色编码
|
||||
|
@ -178,7 +175,7 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
|
|||
}
|
||||
BooleanExpression eq = role.code.eq(value);
|
||||
eq.and(role.appId.eq(appId));
|
||||
result = !appPermissionRoleRepository.exists(eq);
|
||||
result = !permissionRoleRepository.exists(eq);
|
||||
}
|
||||
//角色名称
|
||||
if (CheckValidityType.NAME.equals(type)) {
|
||||
|
@ -187,7 +184,7 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
|
|||
}
|
||||
BooleanExpression eq = role.name.eq(value);
|
||||
eq.and(role.appId.eq(appId));
|
||||
result = !appPermissionRoleRepository.exists(eq);
|
||||
result = !permissionRoleRepository.exists(eq);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
@ -201,20 +198,20 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
|
|||
*/
|
||||
@Override
|
||||
public Boolean updatePermissionRoleStatus(String id, Boolean status) {
|
||||
appPermissionRoleRepository.updateStatus(id, status);
|
||||
permissionRoleRepository.updateStatus(id, status);
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户数据映射器
|
||||
*/
|
||||
private final PermissionRoleConverter permissionRoleConverter;
|
||||
private final PermissionRoleConverter permissionRoleConverter;
|
||||
/**
|
||||
* RoleRepository
|
||||
*/
|
||||
private final AppPermissionRoleRepository appPermissionRoleRepository;
|
||||
private final AppPermissionRoleRepository permissionRoleRepository;
|
||||
/**
|
||||
* PolicyRepository
|
||||
*/
|
||||
private final AppPermissionPolicyRepository appPermissionPolicyRepository;
|
||||
private final AppPermissionPolicyRepository permissionPolicyRepository;
|
||||
}
|
||||
|
|
|
@ -18,9 +18,9 @@
|
|||
package cn.topiam.employee.console.service.setting;
|
||||
|
||||
import cn.topiam.employee.console.pojo.result.setting.EmailProviderConfigResult;
|
||||
import cn.topiam.employee.console.pojo.result.setting.SmsProviderConfigResult;
|
||||
import cn.topiam.employee.console.pojo.save.setting.MailProviderSaveParam;
|
||||
import cn.topiam.employee.console.pojo.save.setting.SmsProviderSaveParam;
|
||||
import cn.topiam.employee.console.pojo.result.setting.SmsProviderConfigResult;
|
||||
|
||||
/**
|
||||
* 消息设置接口
|
||||
|
|
|
@ -23,9 +23,9 @@ import cn.topiam.employee.common.entity.setting.SettingEntity;
|
|||
import cn.topiam.employee.common.repository.setting.SettingRepository;
|
||||
import cn.topiam.employee.console.converter.setting.MessageSettingConverter;
|
||||
import cn.topiam.employee.console.pojo.result.setting.EmailProviderConfigResult;
|
||||
import cn.topiam.employee.console.pojo.result.setting.SmsProviderConfigResult;
|
||||
import cn.topiam.employee.console.pojo.save.setting.MailProviderSaveParam;
|
||||
import cn.topiam.employee.console.pojo.save.setting.SmsProviderSaveParam;
|
||||
import cn.topiam.employee.console.pojo.result.setting.SmsProviderConfigResult;
|
||||
import cn.topiam.employee.console.service.setting.MessageSettingService;
|
||||
import cn.topiam.employee.support.context.ApplicationContextHelp;
|
||||
import static cn.topiam.employee.common.constant.ConfigBeanNameConstants.MAIL_PROVIDER_SEND;
|
||||
|
|
|
@ -17,10 +17,10 @@
|
|||
*/
|
||||
package cn.topiam.employee.openapi.converter.permission;
|
||||
|
||||
import cn.topiam.employee.common.entity.permission.PermissionActionEntity;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.Mapping;
|
||||
|
||||
import cn.topiam.employee.common.entity.permission.PermissionActionEntity;
|
||||
import cn.topiam.employee.openapi.pojo.request.app.AppPermissionsActionParam;
|
||||
|
||||
/**
|
||||
|
|
|
@ -19,12 +19,12 @@ package cn.topiam.employee.openapi.converter.permission;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import cn.topiam.employee.common.entity.permission.PermissionPolicyEntity;
|
||||
import cn.topiam.employee.common.entity.permission.po.PermissionPolicyPO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.Mapping;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import cn.topiam.employee.common.entity.permission.PermissionPolicyEntity;
|
||||
import cn.topiam.employee.common.entity.permission.po.PermissionPolicyPO;
|
||||
import cn.topiam.employee.openapi.pojo.request.app.save.AppPermissionPolicyCreateParam;
|
||||
import cn.topiam.employee.openapi.pojo.request.app.update.AppPermissionPolicyUpdateParam;
|
||||
import cn.topiam.employee.support.repository.page.domain.Page;
|
||||
|
|
|
@ -20,7 +20,6 @@ package cn.topiam.employee.openapi.converter.permission;
|
|||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import cn.topiam.employee.common.entity.permission.PermissionResourceEntity;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.Mapping;
|
||||
|
@ -29,7 +28,8 @@ import org.springframework.util.CollectionUtils;
|
|||
import com.querydsl.core.types.ExpressionUtils;
|
||||
import com.querydsl.core.types.Predicate;
|
||||
|
||||
import cn.topiam.employee.common.entity.app.QAppPermissionResourceEntity;
|
||||
import cn.topiam.employee.common.entity.permission.PermissionResourceEntity;
|
||||
import cn.topiam.employee.common.entity.permission.QPermissionResourceEntity;
|
||||
import cn.topiam.employee.openapi.pojo.request.app.query.AppResourceListQuery;
|
||||
import cn.topiam.employee.openapi.pojo.request.app.save.AppPermissionResourceCreateParam;
|
||||
import cn.topiam.employee.openapi.pojo.request.app.update.AppPermissionResourceUpdateParam;
|
||||
|
@ -53,7 +53,7 @@ public interface PermissionResourceConverter {
|
|||
* @return {@link Predicate}
|
||||
*/
|
||||
default Predicate resourcePaginationParamConvertToPredicate(AppResourceListQuery query) {
|
||||
QAppPermissionResourceEntity resource = QAppPermissionResourceEntity.appPermissionResourceEntity;
|
||||
QPermissionResourceEntity resource = QPermissionResourceEntity.permissionResourceEntity;
|
||||
Predicate predicate = ExpressionUtils.and(resource.isNotNull(),
|
||||
resource.deleted.eq(Boolean.FALSE));
|
||||
//查询条件
|
||||
|
|
|
@ -29,8 +29,8 @@ import org.springframework.util.ObjectUtils;
|
|||
import com.querydsl.core.types.ExpressionUtils;
|
||||
import com.querydsl.core.types.Predicate;
|
||||
|
||||
import cn.topiam.employee.common.entity.app.QAppPermissionRoleEntity;
|
||||
import cn.topiam.employee.common.entity.permission.PermissionRoleEntity;
|
||||
import cn.topiam.employee.common.entity.permission.QPermissionRoleEntity;
|
||||
import cn.topiam.employee.openapi.pojo.request.app.query.AppPermissionRoleListQuery;
|
||||
import cn.topiam.employee.openapi.pojo.request.app.save.AppPermissionRoleCreateParam;
|
||||
import cn.topiam.employee.openapi.pojo.request.app.update.PermissionRoleUpdateParam;
|
||||
|
@ -125,7 +125,7 @@ public interface PermissionRoleConverter {
|
|||
* @return {@link PermissionRoleEntity}
|
||||
*/
|
||||
default Predicate rolePaginationParamConvertToPredicate(AppPermissionRoleListQuery query) {
|
||||
QAppPermissionRoleEntity role = QAppPermissionRoleEntity.appPermissionRoleEntity;
|
||||
QPermissionRoleEntity role = QPermissionRoleEntity.permissionRoleEntity;
|
||||
Predicate predicate = ExpressionUtils.and(role.isNotNull(), role.deleted.eq(Boolean.FALSE));
|
||||
//查询条件
|
||||
//@formatter:off
|
||||
|
|
|
@ -17,12 +17,12 @@
|
|||
*/
|
||||
package cn.topiam.employee.openapi.endpoint.permission;
|
||||
|
||||
import cn.topiam.employee.common.entity.permission.po.PermissionPolicyPO;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import cn.topiam.employee.common.entity.permission.po.PermissionPolicyPO;
|
||||
import cn.topiam.employee.openapi.pojo.request.app.query.OpenApiPolicyQuery;
|
||||
import cn.topiam.employee.openapi.service.PermissionPolicyService;
|
||||
import cn.topiam.employee.support.repository.page.domain.Page;
|
||||
|
|
|
@ -55,8 +55,8 @@ public class PermissionRoleEndpoint {
|
|||
@GetMapping(value = "/list")
|
||||
public ApiRestResult<Page<AppPermissionRoleListResult>> getPermissionRoleList(PageModel page,
|
||||
@Validated AppPermissionRoleListQuery query) {
|
||||
Page<AppPermissionRoleListResult> result = permissionRoleService
|
||||
.getPermissionRoleList(page, query);
|
||||
Page<AppPermissionRoleListResult> result = permissionRoleService.getPermissionRoleList(page,
|
||||
query);
|
||||
return ApiRestResult.<Page<AppPermissionRoleListResult>> builder().result(result).build();
|
||||
}
|
||||
//2、新增角色
|
||||
|
|
|
@ -17,13 +17,13 @@
|
|||
*/
|
||||
package cn.topiam.employee.openapi.service.impl;
|
||||
|
||||
import cn.topiam.employee.common.entity.permission.po.PermissionPolicyPO;
|
||||
import org.springframework.data.querydsl.QPageRequest;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import cn.topiam.employee.common.entity.app.query.AppPolicyQuery;
|
||||
import cn.topiam.employee.common.entity.permission.PermissionPolicyEntity;
|
||||
import cn.topiam.employee.common.entity.permission.po.PermissionPolicyPO;
|
||||
import cn.topiam.employee.common.exception.app.AppPolicyNotExistException;
|
||||
import cn.topiam.employee.common.repository.permission.AppPermissionPolicyRepository;
|
||||
import cn.topiam.employee.openapi.converter.permission.PermissionPolicyConverter;
|
||||
|
@ -68,7 +68,7 @@ public class PermissionPolicyServiceImpl implements PermissionPolicyService {
|
|||
appPolicyQuery.setSubjectType(query.getSubjectType());
|
||||
appPolicyQuery.setObjectType(query.getObjectType());
|
||||
QPageRequest request = QPageRequest.of(page.getCurrent(), page.getPageSize());
|
||||
org.springframework.data.domain.Page<PermissionPolicyPO> data = appPermissionPolicyRepository
|
||||
org.springframework.data.domain.Page<PermissionPolicyPO> data = permissionPolicyRepository
|
||||
.findPage(appPolicyQuery, request);
|
||||
return permissionPolicyConverter.entityConvertToPolicyListResult(data);
|
||||
}
|
||||
|
@ -93,9 +93,8 @@ public class PermissionPolicyServiceImpl implements PermissionPolicyService {
|
|||
@Override
|
||||
public Boolean deletePermissionPolicy(String id) {
|
||||
Long policyId = Long.valueOf(id);
|
||||
appPermissionPolicyRepository.findById(policyId)
|
||||
.orElseThrow(AppPolicyNotExistException::new);
|
||||
appPermissionPolicyRepository.deleteById(policyId);
|
||||
permissionPolicyRepository.findById(policyId).orElseThrow(AppPolicyNotExistException::new);
|
||||
permissionPolicyRepository.deleteById(policyId);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -111,7 +110,7 @@ public class PermissionPolicyServiceImpl implements PermissionPolicyService {
|
|||
PermissionPolicyEntity resource = permissionPolicyConverter
|
||||
.policyCreateParamConvertToEntity(param);
|
||||
// 新增策略
|
||||
appPermissionPolicyRepository.save(resource);
|
||||
permissionPolicyRepository.save(resource);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -126,11 +125,11 @@ public class PermissionPolicyServiceImpl implements PermissionPolicyService {
|
|||
PermissionPolicyEntity resource = permissionPolicyConverter
|
||||
.policyUpdateParamConvertToEntity(param);
|
||||
// 更新策略
|
||||
appPermissionPolicyRepository.save(resource);
|
||||
permissionPolicyRepository.save(resource);
|
||||
return null;
|
||||
}
|
||||
|
||||
private final PermissionPolicyConverter permissionPolicyConverter;
|
||||
private final PermissionPolicyConverter permissionPolicyConverter;
|
||||
|
||||
private final AppPermissionPolicyRepository appPermissionPolicyRepository;
|
||||
private final AppPermissionPolicyRepository permissionPolicyRepository;
|
||||
}
|
||||
|
|
|
@ -23,9 +23,6 @@ import java.util.Objects;
|
|||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import cn.topiam.employee.common.entity.permission.PermissionActionEntity;
|
||||
import cn.topiam.employee.common.entity.permission.PermissionResourceEntity;
|
||||
import cn.topiam.employee.openapi.converter.permission.PermissionResourceConverter;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.data.querydsl.QPageRequest;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
@ -34,12 +31,15 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
import com.querydsl.core.types.Predicate;
|
||||
import com.querydsl.core.types.dsl.BooleanExpression;
|
||||
|
||||
import cn.topiam.employee.common.entity.app.QAppPermissionResourceEntity;
|
||||
import cn.topiam.employee.common.entity.permission.PermissionActionEntity;
|
||||
import cn.topiam.employee.common.entity.permission.PermissionResourceEntity;
|
||||
import cn.topiam.employee.common.entity.permission.QPermissionResourceEntity;
|
||||
import cn.topiam.employee.common.enums.CheckValidityType;
|
||||
import cn.topiam.employee.common.exception.app.AppResourceNotExistException;
|
||||
import cn.topiam.employee.common.repository.permission.AppPermissionActionRepository;
|
||||
import cn.topiam.employee.common.repository.permission.AppPermissionPolicyRepository;
|
||||
import cn.topiam.employee.common.repository.permission.AppPermissionResourceRepository;
|
||||
import cn.topiam.employee.openapi.converter.permission.PermissionResourceConverter;
|
||||
import cn.topiam.employee.openapi.pojo.request.app.AppPermissionsActionParam;
|
||||
import cn.topiam.employee.openapi.pojo.request.app.query.AppResourceListQuery;
|
||||
import cn.topiam.employee.openapi.pojo.request.app.query.OpenApiPolicyQuery;
|
||||
|
@ -108,12 +108,12 @@ public class PermissionResourceServiceImpl implements PermissionResourceService
|
|||
Long resourceId = Long.valueOf(id);
|
||||
PermissionResourceEntity resource = appResourceRepository.findById(resourceId)
|
||||
.orElseThrow(AppResourceNotExistException::new);
|
||||
List<PermissionActionEntity> actionList = appPermissionActionRepository
|
||||
List<PermissionActionEntity> actionList = permissionActionRepository
|
||||
.findAllByResource(resource);
|
||||
List<Long> objectIdList = new ArrayList<>(
|
||||
actionList.stream().map(PermissionActionEntity::getId).toList());
|
||||
objectIdList.add(resourceId);
|
||||
appPermissionPolicyRepository.deleteAllByObjectIdIn(objectIdList);
|
||||
permissionPolicyRepository.deleteAllByObjectIdIn(objectIdList);
|
||||
appResourceRepository.deleteById(resourceId);
|
||||
return true;
|
||||
}
|
||||
|
@ -148,16 +148,16 @@ public class PermissionResourceServiceImpl implements PermissionResourceService
|
|||
.resourceUpdateParamConvertToEntity(param);
|
||||
buildActions(param.getActions(), resource);
|
||||
// 查询资源下所有权限
|
||||
List<PermissionActionEntity> actionList = appPermissionActionRepository
|
||||
List<PermissionActionEntity> actionList = permissionActionRepository
|
||||
.findAllByResource(resource);
|
||||
// 取出未删除的权限id
|
||||
Set<Long> reservedSet = resource.getActions().stream().map(PermissionActionEntity::getId)
|
||||
.collect(Collectors.toSet());
|
||||
// 过滤要删除的权限id
|
||||
List<Long> removeActions = actionList.stream()
|
||||
.filter(item -> reservedSet.contains(item.getId()))
|
||||
.map(PermissionActionEntity::getId).toList();
|
||||
appPermissionPolicyRepository.deleteAllByObjectIdIn(removeActions);
|
||||
.filter(item -> reservedSet.contains(item.getId())).map(PermissionActionEntity::getId)
|
||||
.toList();
|
||||
permissionPolicyRepository.deleteAllByObjectIdIn(removeActions);
|
||||
// 更新资源
|
||||
appResourceRepository.save(resource);
|
||||
return true;
|
||||
|
@ -176,7 +176,7 @@ public class PermissionResourceServiceImpl implements PermissionResourceService
|
|||
@Override
|
||||
public Boolean permissionResourceParamCheck(CheckValidityType type, String value, Long appId,
|
||||
Long id) {
|
||||
QAppPermissionResourceEntity role = QAppPermissionResourceEntity.appPermissionResourceEntity;
|
||||
QPermissionResourceEntity role = QPermissionResourceEntity.permissionResourceEntity;
|
||||
PermissionResourceEntity entity = new PermissionResourceEntity();
|
||||
boolean result = false;
|
||||
// ID存在说明是修改操作,查询一下当前数据
|
||||
|
@ -227,15 +227,15 @@ public class PermissionResourceServiceImpl implements PermissionResourceService
|
|||
resource.setActions(list);
|
||||
}
|
||||
|
||||
private final PermissionResourceConverter permissionResourceConverter;
|
||||
private final PermissionResourceConverter permissionResourceConverter;
|
||||
|
||||
private final AppPermissionResourceRepository appResourceRepository;
|
||||
/**
|
||||
* PolicyRepository
|
||||
*/
|
||||
private final AppPermissionPolicyRepository appPermissionPolicyRepository;
|
||||
private final AppPermissionPolicyRepository permissionPolicyRepository;
|
||||
/**
|
||||
* ActionRepository
|
||||
*/
|
||||
private final AppPermissionActionRepository appPermissionActionRepository;
|
||||
private final AppPermissionActionRepository permissionActionRepository;
|
||||
}
|
||||
|
|
|
@ -22,7 +22,6 @@ import java.util.List;
|
|||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
|
||||
import cn.topiam.employee.common.entity.permission.PermissionRoleEntity;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.data.querydsl.QPageRequest;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
@ -31,7 +30,8 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
import com.querydsl.core.types.Predicate;
|
||||
import com.querydsl.core.types.dsl.BooleanExpression;
|
||||
|
||||
import cn.topiam.employee.common.entity.app.QAppPermissionRoleEntity;
|
||||
import cn.topiam.employee.common.entity.permission.PermissionRoleEntity;
|
||||
import cn.topiam.employee.common.entity.permission.QPermissionRoleEntity;
|
||||
import cn.topiam.employee.common.enums.CheckValidityType;
|
||||
import cn.topiam.employee.common.exception.app.AppRoleNotExistException;
|
||||
import cn.topiam.employee.common.repository.permission.AppPermissionPolicyRepository;
|
||||
|
@ -73,10 +73,9 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
|
|||
public Page<AppPermissionRoleListResult> getPermissionRoleList(PageModel page,
|
||||
AppPermissionRoleListQuery query) {
|
||||
org.springframework.data.domain.Page<PermissionRoleEntity> data;
|
||||
Predicate predicate = permissionRoleConverter
|
||||
.rolePaginationParamConvertToPredicate(query);
|
||||
Predicate predicate = permissionRoleConverter.rolePaginationParamConvertToPredicate(query);
|
||||
QPageRequest request = QPageRequest.of(page.getCurrent(), page.getPageSize());
|
||||
data = appPermissionRoleRepository.findAll(predicate, request);
|
||||
data = permissionRoleRepository.findAll(predicate, request);
|
||||
return permissionRoleConverter.entityConvertToRolePaginationResult(data);
|
||||
}
|
||||
|
||||
|
@ -88,9 +87,8 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
|
|||
*/
|
||||
@Override
|
||||
public boolean createPermissionRole(AppPermissionRoleCreateParam param) {
|
||||
PermissionRoleEntity entity = permissionRoleConverter
|
||||
.roleCreateParamConvertToEntity(param);
|
||||
appPermissionRoleRepository.save(entity);
|
||||
PermissionRoleEntity entity = permissionRoleConverter.roleCreateParamConvertToEntity(param);
|
||||
permissionRoleRepository.save(entity);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -100,12 +98,11 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
|
|||
*/
|
||||
@Override
|
||||
public boolean updatePermissionRole(PermissionRoleUpdateParam param) {
|
||||
PermissionRoleEntity source = permissionRoleConverter
|
||||
.roleUpdateParamConvertToEntity(param);
|
||||
PermissionRoleEntity target = appPermissionRoleRepository
|
||||
.findById(Long.valueOf(param.getId())).orElseThrow(AppRoleNotExistException::new);
|
||||
PermissionRoleEntity source = permissionRoleConverter.roleUpdateParamConvertToEntity(param);
|
||||
PermissionRoleEntity target = permissionRoleRepository.findById(Long.valueOf(param.getId()))
|
||||
.orElseThrow(AppRoleNotExistException::new);
|
||||
BeanUtils.merge(source, target, LAST_MODIFIED_TIME, LAST_MODIFIED_BY);
|
||||
appPermissionRoleRepository.save(target);
|
||||
permissionRoleRepository.save(target);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -120,10 +117,10 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
|
|||
public boolean deletePermissionRole(String ids) {
|
||||
List<String> idList = Arrays.stream(ids.split(",")).toList();
|
||||
List<Long> longIds = idList.stream().map(Long::parseLong).toList();
|
||||
appPermissionRoleRepository.deleteAllById(longIds);
|
||||
permissionRoleRepository.deleteAllById(longIds);
|
||||
// 删除对应策略
|
||||
appPermissionPolicyRepository.deleteAllBySubjectIdIn(idList);
|
||||
appPermissionPolicyRepository.deleteAllByObjectIdIn(longIds);
|
||||
permissionPolicyRepository.deleteAllBySubjectIdIn(idList);
|
||||
permissionPolicyRepository.deleteAllByObjectIdIn(longIds);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -136,7 +133,7 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
|
|||
@Override
|
||||
public AppPermissionRoleResult getPermissionRole(Long id) {
|
||||
//查询
|
||||
Optional<PermissionRoleEntity> entity = appPermissionRoleRepository.findById(id);
|
||||
Optional<PermissionRoleEntity> entity = permissionRoleRepository.findById(id);
|
||||
//映射
|
||||
return permissionRoleConverter.entityConvertToRoleDetailResult(entity.orElse(null));
|
||||
}
|
||||
|
@ -154,12 +151,12 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
|
|||
@Override
|
||||
public Boolean permissionRoleParamCheck(CheckValidityType type, String value, Long appId,
|
||||
Long id) {
|
||||
QAppPermissionRoleEntity role = QAppPermissionRoleEntity.appPermissionRoleEntity;
|
||||
QPermissionRoleEntity role = QPermissionRoleEntity.permissionRoleEntity;
|
||||
PermissionRoleEntity entity = new PermissionRoleEntity();
|
||||
boolean result = false;
|
||||
// ID存在说明是修改操作,查询一下当前数据
|
||||
if (Objects.nonNull(id)) {
|
||||
entity = appPermissionRoleRepository.findById(id)
|
||||
entity = permissionRoleRepository.findById(id)
|
||||
.orElseThrow(AppRoleNotExistException::new);
|
||||
}
|
||||
//角色编码
|
||||
|
@ -169,7 +166,7 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
|
|||
}
|
||||
BooleanExpression eq = role.code.eq(value);
|
||||
eq.and(role.appId.eq(appId));
|
||||
result = !appPermissionRoleRepository.exists(eq);
|
||||
result = !permissionRoleRepository.exists(eq);
|
||||
}
|
||||
//角色名称
|
||||
if (CheckValidityType.NAME.equals(type)) {
|
||||
|
@ -178,7 +175,7 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
|
|||
}
|
||||
BooleanExpression eq = role.name.eq(value);
|
||||
eq.and(role.appId.eq(appId));
|
||||
result = !appPermissionRoleRepository.exists(eq);
|
||||
result = !permissionRoleRepository.exists(eq);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
@ -192,20 +189,20 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
|
|||
*/
|
||||
@Override
|
||||
public Boolean updatePermissionRoleStatus(String id, Boolean status) {
|
||||
appPermissionRoleRepository.updateStatus(id, status);
|
||||
permissionRoleRepository.updateStatus(id, status);
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户数据映射器
|
||||
*/
|
||||
private final PermissionRoleConverter permissionRoleConverter;
|
||||
private final PermissionRoleConverter permissionRoleConverter;
|
||||
/**
|
||||
* RoleRepository
|
||||
*/
|
||||
private final AppPermissionRoleRepository appPermissionRoleRepository;
|
||||
private final AppPermissionRoleRepository permissionRoleRepository;
|
||||
/**
|
||||
* PolicyRepository
|
||||
*/
|
||||
private final AppPermissionPolicyRepository appPermissionPolicyRepository;
|
||||
private final AppPermissionPolicyRepository permissionPolicyRepository;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue