优化代码

pull/55/MERGE
awenes 2023-09-21 14:21:15 +08:00
parent 65d3dfa11c
commit ec9c6231ed
39 changed files with 202 additions and 225 deletions

View File

@ -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; package cn.topiam.employee.common.constant;
import static cn.topiam.employee.support.constant.EiamConstants.COLON; import static cn.topiam.employee.support.constant.EiamConstants.COLON;

View File

@ -19,7 +19,6 @@ package cn.topiam.employee.common.repository.app.impl;
import java.util.List; import java.util.List;
import cn.topiam.employee.common.entity.permission.po.PermissionPolicyPO;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
@ -30,6 +29,7 @@ import org.springframework.util.ObjectUtils;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import cn.topiam.employee.common.entity.app.query.AppPolicyQuery; 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.app.impl.mapper.AppPermissionPolicyPoMapper;
import cn.topiam.employee.common.repository.permission.AppPermissionPolicyRepositoryCustomized; import cn.topiam.employee.common.repository.permission.AppPermissionPolicyRepositoryCustomized;

View File

@ -20,9 +20,9 @@ package cn.topiam.employee.common.repository.app.impl.mapper;
import java.sql.ResultSet; import java.sql.ResultSet;
import java.sql.SQLException; import java.sql.SQLException;
import cn.topiam.employee.common.entity.permission.po.PermissionPolicyPO;
import org.springframework.jdbc.core.RowMapper; 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.AppPolicyEffect;
import cn.topiam.employee.common.enums.app.AppPolicyObjectType; import cn.topiam.employee.common.enums.app.AppPolicyObjectType;
import cn.topiam.employee.common.enums.app.AppPolicySubjectType; 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"))); .setSubjectType(AppPolicySubjectType.getType(rs.getString("subject_type")));
permissionPolicyPo.setSubjectName(rs.getString("subject_name")); permissionPolicyPo.setSubjectName(rs.getString("subject_name"));
permissionPolicyPo.setObjectId(rs.getLong("object_id")); permissionPolicyPo.setObjectId(rs.getLong("object_id"));
permissionPolicyPo permissionPolicyPo.setObjectType(AppPolicyObjectType.getType(rs.getString("object_type")));
.setObjectType(AppPolicyObjectType.getType(rs.getString("object_type")));
permissionPolicyPo.setObjectName(rs.getString("object_name")); permissionPolicyPo.setObjectName(rs.getString("object_name"));
return permissionPolicyPo; return permissionPolicyPo;
} }

View File

@ -19,11 +19,11 @@ package cn.topiam.employee.common.repository.permission;
import java.util.List; 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.data.querydsl.QuerydslPredicateExecutor;
import org.springframework.stereotype.Repository; 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; import cn.topiam.employee.support.repository.LogicDeleteRepository;
/** /**

View File

@ -20,7 +20,6 @@ package cn.topiam.employee.common.repository.permission;
import java.io.Serializable; import java.io.Serializable;
import java.util.Collection; 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.Modifying;
import org.springframework.data.jpa.repository.Query; import org.springframework.data.jpa.repository.Query;
import org.springframework.data.querydsl.QuerydslPredicateExecutor; 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.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import cn.topiam.employee.common.entity.permission.PermissionPolicyEntity;
import cn.topiam.employee.support.repository.LogicDeleteRepository; import cn.topiam.employee.support.repository.LogicDeleteRepository;
import static cn.topiam.employee.support.repository.domain.LogicDeleteEntity.SOFT_DELETE_SET; import static cn.topiam.employee.support.repository.domain.LogicDeleteEntity.SOFT_DELETE_SET;

View File

@ -17,11 +17,11 @@
*/ */
package cn.topiam.employee.common.repository.permission; 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.Page;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import cn.topiam.employee.common.entity.app.query.AppPolicyQuery; import cn.topiam.employee.common.entity.app.query.AppPolicyQuery;
import cn.topiam.employee.common.entity.permission.po.PermissionPolicyPO;
/** /**
* @author TopIAM * @author TopIAM

View File

@ -19,13 +19,13 @@ package cn.topiam.employee.common.repository.permission;
import java.util.Optional; import java.util.Optional;
import cn.topiam.employee.common.entity.permission.PermissionResourceEntity;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.springframework.data.jpa.repository.Query; import org.springframework.data.jpa.repository.Query;
import org.springframework.data.querydsl.QuerydslPredicateExecutor; import org.springframework.data.querydsl.QuerydslPredicateExecutor;
import org.springframework.data.repository.query.Param; import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import cn.topiam.employee.common.entity.permission.PermissionResourceEntity;
import cn.topiam.employee.support.repository.LogicDeleteRepository; import cn.topiam.employee.support.repository.LogicDeleteRepository;
/** /**

View File

@ -19,7 +19,6 @@ package cn.topiam.employee.common.repository.permission;
import java.util.Optional; import java.util.Optional;
import cn.topiam.employee.common.entity.permission.PermissionRoleEntity;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.springframework.cache.annotation.Cacheable; import org.springframework.cache.annotation.Cacheable;
import org.springframework.data.jpa.repository.Modifying; 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.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import cn.topiam.employee.common.entity.permission.PermissionRoleEntity;
import cn.topiam.employee.support.repository.LogicDeleteRepository; import cn.topiam.employee.support.repository.LogicDeleteRepository;
/** /**

View File

@ -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 />;
};

View File

@ -19,7 +19,6 @@ package cn.topiam.employee.console.controller.permission;
import java.util.List; import java.util.List;
import cn.topiam.employee.console.pojo.result.permission.PermissionActionListResult;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
@ -30,6 +29,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import cn.topiam.employee.console.pojo.query.permission.PermissionActionListQuery; 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.console.service.permission.PermissionActionService;
import cn.topiam.employee.support.result.ApiRestResult; 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.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import static cn.topiam.employee.common.constant.PermissionConstants.PERMISSION_PATH; import static cn.topiam.employee.common.constant.PermissionConstants.PERMISSION_PATH;
/** /**
@ -49,8 +48,7 @@ import static cn.topiam.employee.common.constant.PermissionConstants.PERMISSION_
@RequiredArgsConstructor @RequiredArgsConstructor
@Validated @Validated
@Tag(name = "应用权限-权限项") @Tag(name = "应用权限-权限项")
@RequestMapping(value = PERMISSION_PATH @RequestMapping(value = PERMISSION_PATH + "/action", produces = MediaType.APPLICATION_JSON_VALUE)
+ "/action", produces = MediaType.APPLICATION_JSON_VALUE)
@RestController @RestController
public class PermissionActionController { public class PermissionActionController {

View File

@ -17,9 +17,6 @@
*/ */
package cn.topiam.employee.console.controller.permission; 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.http.MediaType;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated; 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.common.entity.app.query.AppPolicyQuery;
import cn.topiam.employee.console.pojo.result.permission.PermissionPolicyGetResult; 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.PermissionPolicyCreateParam;
import cn.topiam.employee.console.pojo.save.permission.PermissionRoleCreateParam; 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.pojo.update.permission.PermissionRoleUpdateParam;
import cn.topiam.employee.console.service.permission.PermissionPolicyService; import cn.topiam.employee.console.service.permission.PermissionPolicyService;
import cn.topiam.employee.support.lock.Lock; 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.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import static cn.topiam.employee.common.constant.PermissionConstants.PERMISSION_PATH; import static cn.topiam.employee.common.constant.PermissionConstants.PERMISSION_PATH;
/** /**
@ -52,8 +51,7 @@ import static cn.topiam.employee.common.constant.PermissionConstants.PERMISSION_
*/ */
@Validated @Validated
@Tag(name = "应用权限-授权策略") @Tag(name = "应用权限-授权策略")
@RequestMapping(value = PERMISSION_PATH @RequestMapping(value = PERMISSION_PATH + "/policy", produces = MediaType.APPLICATION_JSON_VALUE)
+ "/policy", produces = MediaType.APPLICATION_JSON_VALUE)
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
public class PermissionPolicyController { public class PermissionPolicyController {

View File

@ -17,9 +17,6 @@
*/ */
package cn.topiam.employee.console.controller.permission; 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.http.MediaType;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated; 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.audit.event.type.EventType;
import cn.topiam.employee.common.enums.CheckValidityType; import cn.topiam.employee.common.enums.CheckValidityType;
import cn.topiam.employee.console.pojo.query.permission.PermissionResourceListQuery; 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.result.permission.PermissionRoleListResult;
import cn.topiam.employee.console.pojo.save.permission.PermissionResourceCreateParam; 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.PermissionResourceUpdateParam;
import cn.topiam.employee.console.pojo.update.permission.PermissionRoleUpdateParam; import cn.topiam.employee.console.pojo.update.permission.PermissionRoleUpdateParam;
import cn.topiam.employee.console.service.permission.PermissionResourceService; 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 io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import static cn.topiam.employee.common.constant.PermissionConstants.PERMISSION_PATH; import static cn.topiam.employee.common.constant.PermissionConstants.PERMISSION_PATH;
/** /**
@ -58,8 +57,7 @@ import static cn.topiam.employee.common.constant.PermissionConstants.PERMISSION_
*/ */
@Validated @Validated
@Tag(name = "应用权限-资源") @Tag(name = "应用权限-资源")
@RequestMapping(value = PERMISSION_PATH @RequestMapping(value = PERMISSION_PATH + "/resource", produces = MediaType.APPLICATION_JSON_VALUE)
+ "/resource", produces = MediaType.APPLICATION_JSON_VALUE)
@RestController @RestController
@RequiredArgsConstructor @RequiredArgsConstructor
public class PermissionResourceController { public class PermissionResourceController {
@ -77,8 +75,7 @@ public class PermissionResourceController {
@Validated PermissionResourceListQuery query) { @Validated PermissionResourceListQuery query) {
Page<PermissionResourceListResult> result = permissionResourceService Page<PermissionResourceListResult> result = permissionResourceService
.getPermissionResourceList(page, query); .getPermissionResourceList(page, query);
return ApiRestResult.<Page<PermissionResourceListResult>> builder().result(result) return ApiRestResult.<Page<PermissionResourceListResult>> builder().result(result).build();
.build();
} }
/** /**
@ -193,8 +190,8 @@ public class PermissionResourceController {
@Parameter(description = "值") @NotEmpty(message = "验证值不能为空") String value, @Parameter(description = "值") @NotEmpty(message = "验证值不能为空") String value,
@Parameter(description = "应用ID") @NotNull(message = "应用ID不能为空") Long appId, @Parameter(description = "应用ID") @NotNull(message = "应用ID不能为空") Long appId,
@Parameter(description = "ID") Long id) { @Parameter(description = "ID") Long id) {
Boolean result = permissionResourceService.permissionResourceParamCheck(type, value, Boolean result = permissionResourceService.permissionResourceParamCheck(type, value, appId,
appId, id); id);
//返回 //返回
return ApiRestResult.<Boolean> builder().result(result).build(); return ApiRestResult.<Boolean> builder().result(result).build();
} }

View File

@ -17,9 +17,6 @@
*/ */
package cn.topiam.employee.console.controller.permission; 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.http.MediaType;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated; 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.audit.event.type.EventType;
import cn.topiam.employee.common.enums.CheckValidityType; import cn.topiam.employee.common.enums.CheckValidityType;
import cn.topiam.employee.console.pojo.query.permission.PermissionRoleListQuery; 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.pojo.update.permission.PermissionRoleUpdateParam;
import cn.topiam.employee.console.service.permission.PermissionRoleService; import cn.topiam.employee.console.service.permission.PermissionRoleService;
import cn.topiam.employee.support.lock.Lock; 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 io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import static cn.topiam.employee.common.constant.PermissionConstants.PERMISSION_PATH; 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)") @PreAuthorize(value = "authenticated and @sae.hasAuthority(T(cn.topiam.employee.support.security.userdetails.UserType).ADMIN)")
public ApiRestResult<Page<PermissionRoleListResult>> getPermissionRoleList(PageModel page, public ApiRestResult<Page<PermissionRoleListResult>> getPermissionRoleList(PageModel page,
@Validated PermissionRoleListQuery query) { @Validated PermissionRoleListQuery query) {
Page<PermissionRoleListResult> result = permissionRoleService Page<PermissionRoleListResult> result = permissionRoleService.getPermissionRoleList(page,
.getPermissionRoleList(page, query); query);
return ApiRestResult.<Page<PermissionRoleListResult>> builder().result(result).build(); return ApiRestResult.<Page<PermissionRoleListResult>> builder().result(result).build();
} }

View File

@ -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.MailType;
import cn.topiam.employee.common.enums.MessageCategory; import cn.topiam.employee.common.enums.MessageCategory;
import cn.topiam.employee.common.enums.SmsType; 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.result.setting.SmsProviderConfigResult;
import cn.topiam.employee.console.pojo.save.setting.SmsProviderSaveParam;
import cn.topiam.employee.console.service.setting.MessageSettingService; import cn.topiam.employee.console.service.setting.MessageSettingService;
import cn.topiam.employee.core.message.MsgVariable; import cn.topiam.employee.core.message.MsgVariable;
import cn.topiam.employee.core.message.sms.SmsMsgEventPublish; import cn.topiam.employee.core.message.sms.SmsMsgEventPublish;

View File

@ -20,8 +20,6 @@ package cn.topiam.employee.console.converter.permission;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; 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.apache.commons.lang3.StringUtils;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.Mapping; import org.mapstruct.Mapping;
@ -30,7 +28,9 @@ import org.springframework.util.ObjectUtils;
import com.querydsl.core.types.ExpressionUtils; import com.querydsl.core.types.ExpressionUtils;
import com.querydsl.core.types.Predicate; 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.common.enums.PermissionActionType;
import cn.topiam.employee.console.pojo.query.permission.PermissionActionListQuery; import cn.topiam.employee.console.pojo.query.permission.PermissionActionListQuery;
import cn.topiam.employee.console.pojo.result.permission.PermissionActionListResult; import cn.topiam.employee.console.pojo.result.permission.PermissionActionListResult;
@ -49,8 +49,8 @@ public interface PermissionActionConverter {
* @param query {@link PermissionActionListQuery} * @param query {@link PermissionActionListQuery}
* @return {@link Predicate} * @return {@link Predicate}
*/ */
default Predicate appPermissionActionListQueryConvertToPredicate(PermissionActionListQuery query) { default Predicate permissionActionListQueryConvertToPredicate(PermissionActionListQuery query) {
QAppPermissionResourceEntity resource = QAppPermissionResourceEntity.appPermissionResourceEntity; QPermissionResourceEntity resource = QPermissionResourceEntity.permissionResourceEntity;
Predicate predicate = ExpressionUtils.and(resource.isNotNull(), Predicate predicate = ExpressionUtils.and(resource.isNotNull(),
resource.deleted.eq(Boolean.FALSE)); resource.deleted.eq(Boolean.FALSE));
//查询条件 //查询条件

View File

@ -20,14 +20,14 @@ package cn.topiam.employee.console.converter.permission;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; 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.Mapper;
import org.mapstruct.Mapping; import org.mapstruct.Mapping;
import org.springframework.util.CollectionUtils; 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.console.pojo.update.permission.PermissionPolicyUpdateParam;
import cn.topiam.employee.support.repository.page.domain.Page; import cn.topiam.employee.support.repository.page.domain.Page;

View File

@ -20,10 +20,6 @@ package cn.topiam.employee.console.converter.permission;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; 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.apache.commons.lang3.StringUtils;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.Mapping; import org.mapstruct.Mapping;
@ -33,9 +29,13 @@ import org.springframework.util.ObjectUtils;
import com.querydsl.core.types.ExpressionUtils; import com.querydsl.core.types.ExpressionUtils;
import com.querydsl.core.types.Predicate; 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.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.PermissionResourceCreateParam;
import cn.topiam.employee.console.pojo.update.permission.PermissionResourceUpdateParam;
import cn.topiam.employee.support.repository.page.domain.Page; import cn.topiam.employee.support.repository.page.domain.Page;
/** /**
@ -54,7 +54,7 @@ public interface PermissionResourceConverter {
* @return {@link Predicate} * @return {@link Predicate}
*/ */
default Predicate resourcePaginationParamConvertToPredicate(PermissionResourceListQuery query) { default Predicate resourcePaginationParamConvertToPredicate(PermissionResourceListQuery query) {
QAppPermissionResourceEntity resource = QAppPermissionResourceEntity.appPermissionResourceEntity; QPermissionResourceEntity resource = QPermissionResourceEntity.permissionResourceEntity;
Predicate predicate = ExpressionUtils.and(resource.isNotNull(), Predicate predicate = ExpressionUtils.and(resource.isNotNull(),
resource.deleted.eq(Boolean.FALSE)); resource.deleted.eq(Boolean.FALSE));
//查询条件 //查询条件

View File

@ -20,7 +20,6 @@ package cn.topiam.employee.console.converter.permission;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import cn.topiam.employee.console.pojo.save.permission.PermissionRoleCreateParam;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.Mapping; import org.mapstruct.Mapping;
@ -30,11 +29,12 @@ import org.springframework.util.ObjectUtils;
import com.querydsl.core.types.ExpressionUtils; import com.querydsl.core.types.ExpressionUtils;
import com.querydsl.core.types.Predicate; 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.PermissionRoleEntity;
import cn.topiam.employee.common.entity.permission.QPermissionRoleEntity;
import cn.topiam.employee.console.pojo.query.permission.PermissionRoleListQuery; 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.PermissionRoleListResult;
import cn.topiam.employee.console.pojo.result.permission.PermissionRoleResult; 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.pojo.update.permission.PermissionRoleUpdateParam;
import cn.topiam.employee.support.repository.page.domain.Page; import cn.topiam.employee.support.repository.page.domain.Page;
@ -125,7 +125,7 @@ public interface PermissionRoleConverter {
* @return {@link PermissionRoleEntity} * @return {@link PermissionRoleEntity}
*/ */
default Predicate rolePaginationParamConvertToPredicate(PermissionRoleListQuery query) { default Predicate rolePaginationParamConvertToPredicate(PermissionRoleListQuery query) {
QAppPermissionRoleEntity role = QAppPermissionRoleEntity.appPermissionRoleEntity; QPermissionRoleEntity role = QPermissionRoleEntity.permissionRoleEntity;
Predicate predicate = ExpressionUtils.and(role.isNotNull(), role.deleted.eq(Boolean.FALSE)); Predicate predicate = ExpressionUtils.and(role.isNotNull(), role.deleted.eq(Boolean.FALSE));
//查询条件 //查询条件
//@formatter:off //@formatter:off

View File

@ -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.qiniu.QiNiuSmsProviderConfig;
import cn.topiam.employee.common.message.sms.tencent.TencentSmsProviderConfig; 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.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.MailProviderSaveParam;
import cn.topiam.employee.console.pojo.save.setting.SmsProviderSaveParam; 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.exception.TopIamException;
import cn.topiam.employee.support.validation.ValidationUtils; import cn.topiam.employee.support.validation.ValidationUtils;

View File

@ -41,8 +41,7 @@ public interface PermissionPolicyService {
* @param query {@link AppPolicyQuery} * @param query {@link AppPolicyQuery}
* @return {@link PermissionPolicyListResult} * @return {@link PermissionPolicyListResult}
*/ */
Page<PermissionPolicyListResult> getPermissionPolicyList(PageModel page, Page<PermissionPolicyListResult> getPermissionPolicyList(PageModel page, AppPolicyQuery query);
AppPolicyQuery query);
/** /**
* *

View File

@ -19,13 +19,13 @@ package cn.topiam.employee.console.service.permission.impl;
import java.util.List; 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 org.springframework.stereotype.Service;
import com.querydsl.core.types.Predicate; 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.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.query.permission.PermissionActionListQuery;
import cn.topiam.employee.console.pojo.result.permission.PermissionActionListResult; import cn.topiam.employee.console.pojo.result.permission.PermissionActionListResult;
import cn.topiam.employee.console.service.permission.PermissionActionService; import cn.topiam.employee.console.service.permission.PermissionActionService;
@ -53,13 +53,13 @@ public class PermissionActionServiceImpl implements PermissionActionService {
@Override @Override
public List<PermissionActionListResult> getPermissionActionList(PermissionActionListQuery query) { public List<PermissionActionListResult> getPermissionActionList(PermissionActionListQuery query) {
Predicate predicate = permissionActionConverter Predicate predicate = permissionActionConverter
.appPermissionActionListQueryConvertToPredicate(query); .permissionActionListQueryConvertToPredicate(query);
List<PermissionResourceEntity> list = (List<PermissionResourceEntity>) appPermissionResourceRepository List<PermissionResourceEntity> list = (List<PermissionResourceEntity>) permissionResourceRepository
.findAll(predicate); .findAll(predicate);
return permissionActionConverter.entityConvertToResourceActionListResult(list); return permissionActionConverter.entityConvertToResourceActionListResult(list);
} }
private final AppPermissionResourceRepository appPermissionResourceRepository; private final AppPermissionResourceRepository permissionResourceRepository;
private final PermissionActionConverter permissionActionConverter; private final PermissionActionConverter permissionActionConverter;
} }

View File

@ -17,8 +17,6 @@
*/ */
package cn.topiam.employee.console.service.permission.impl; 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.data.querydsl.QPageRequest;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; 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.common.repository.permission.AppPermissionPolicyRepository;
import cn.topiam.employee.console.converter.permission.PermissionPolicyConverter; 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.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.pojo.update.permission.PermissionPolicyUpdateParam;
import cn.topiam.employee.console.service.permission.PermissionPolicyService; import cn.topiam.employee.console.service.permission.PermissionPolicyService;
import cn.topiam.employee.support.repository.page.domain.Page; import cn.topiam.employee.support.repository.page.domain.Page;
@ -61,7 +61,7 @@ public class PermissionPolicyServiceImpl implements PermissionPolicyService {
AppPolicyQuery query) { AppPolicyQuery query) {
org.springframework.data.domain.Page<PermissionPolicyPO> data; org.springframework.data.domain.Page<PermissionPolicyPO> data;
QPageRequest request = QPageRequest.of(page.getCurrent(), page.getPageSize()); QPageRequest request = QPageRequest.of(page.getCurrent(), page.getPageSize());
data = appPermissionPolicyRepository.findPage(query, request); data = permissionPolicyRepository.findPage(query, request);
return permissionPolicyConverter.entityConvertToPolicyListResult(data); return permissionPolicyConverter.entityConvertToPolicyListResult(data);
} }
@ -85,9 +85,8 @@ public class PermissionPolicyServiceImpl implements PermissionPolicyService {
@Override @Override
public Boolean deletePermissionPolicy(String id) { public Boolean deletePermissionPolicy(String id) {
Long policyId = Long.valueOf(id); Long policyId = Long.valueOf(id);
appPermissionPolicyRepository.findById(policyId) permissionPolicyRepository.findById(policyId).orElseThrow(AppPolicyNotExistException::new);
.orElseThrow(AppPolicyNotExistException::new); permissionPolicyRepository.deleteById(policyId);
appPermissionPolicyRepository.deleteById(policyId);
return true; return true;
} }
@ -103,7 +102,7 @@ public class PermissionPolicyServiceImpl implements PermissionPolicyService {
PermissionPolicyEntity resource = permissionPolicyConverter PermissionPolicyEntity resource = permissionPolicyConverter
.policyCreateParamConvertToEntity(param); .policyCreateParamConvertToEntity(param);
// 新增策略 // 新增策略
appPermissionPolicyRepository.save(resource); permissionPolicyRepository.save(resource);
return true; return true;
} }
@ -118,11 +117,11 @@ public class PermissionPolicyServiceImpl implements PermissionPolicyService {
PermissionPolicyEntity resource = permissionPolicyConverter PermissionPolicyEntity resource = permissionPolicyConverter
.policyUpdateParamConvertToEntity(param); .policyUpdateParamConvertToEntity(param);
// 更新策略 // 更新策略
appPermissionPolicyRepository.save(resource); permissionPolicyRepository.save(resource);
return null; return null;
} }
private final PermissionPolicyConverter permissionPolicyConverter; private final PermissionPolicyConverter permissionPolicyConverter;
private final AppPermissionPolicyRepository appPermissionPolicyRepository; private final AppPermissionPolicyRepository permissionPolicyRepository;
} }

View File

@ -23,12 +23,6 @@ import java.util.Objects;
import java.util.Set; import java.util.Set;
import java.util.stream.Collectors; 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.apache.commons.lang3.StringUtils;
import org.springframework.data.querydsl.QPageRequest; import org.springframework.data.querydsl.QPageRequest;
import org.springframework.stereotype.Service; 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.context.AuditContext;
import cn.topiam.employee.audit.entity.Target; import cn.topiam.employee.audit.entity.Target;
import cn.topiam.employee.audit.enums.TargetType; 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.enums.CheckValidityType;
import cn.topiam.employee.common.exception.app.AppResourceNotExistException; import cn.topiam.employee.common.exception.app.AppResourceNotExistException;
import cn.topiam.employee.common.repository.permission.AppPermissionActionRepository; 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.common.repository.permission.AppPermissionResourceRepository;
import cn.topiam.employee.console.converter.permission.PermissionResourceConverter; import cn.topiam.employee.console.converter.permission.PermissionResourceConverter;
import cn.topiam.employee.console.pojo.query.permission.PermissionResourceListQuery; 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.save.permission.PermissionsActionParam;
import cn.topiam.employee.console.pojo.update.permission.PermissionResourceUpdateParam;
import cn.topiam.employee.console.service.permission.PermissionResourceService; import cn.topiam.employee.console.service.permission.PermissionResourceService;
import cn.topiam.employee.support.exception.BadParamsException; import cn.topiam.employee.support.exception.BadParamsException;
import cn.topiam.employee.support.repository.page.domain.Page; import cn.topiam.employee.support.repository.page.domain.Page;
@ -114,12 +114,12 @@ public class PermissionResourceServiceImpl implements PermissionResourceService
Long resourceId = Long.valueOf(id); Long resourceId = Long.valueOf(id);
PermissionResourceEntity resource = appResourceRepository.findById(resourceId) PermissionResourceEntity resource = appResourceRepository.findById(resourceId)
.orElseThrow(AppResourceNotExistException::new); .orElseThrow(AppResourceNotExistException::new);
List<PermissionActionEntity> actionList = appPermissionActionRepository List<PermissionActionEntity> actionList = permissionActionRepository
.findAllByResource(resource); .findAllByResource(resource);
List<Long> objectIdList = new ArrayList<>( List<Long> objectIdList = new ArrayList<>(
actionList.stream().map(PermissionActionEntity::getId).toList()); actionList.stream().map(PermissionActionEntity::getId).toList());
objectIdList.add(resourceId); objectIdList.add(resourceId);
appPermissionPolicyRepository.deleteAllByObjectIdIn(objectIdList); permissionPolicyRepository.deleteAllByObjectIdIn(objectIdList);
appResourceRepository.deleteById(resourceId); appResourceRepository.deleteById(resourceId);
AuditContext AuditContext
.setTarget(Target.builder().id(id).type(TargetType.APP_PERMISSION_RESOURCE).build()); .setTarget(Target.builder().id(id).type(TargetType.APP_PERMISSION_RESOURCE).build());
@ -139,7 +139,7 @@ public class PermissionResourceServiceImpl implements PermissionResourceService
.orElseThrow(AppResourceNotExistException::new); .orElseThrow(AppResourceNotExistException::new);
AuditContext.setTarget( AuditContext.setTarget(
Target.builder().id(id.toString()).type(TargetType.APP_PERMISSION_RESOURCE).build()); 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); buildActions(param.getActions(), resource);
BeanUtils.merge(resource, entity, LAST_MODIFIED_BY, LAST_MODIFIED_TIME); BeanUtils.merge(resource, entity, LAST_MODIFIED_BY, LAST_MODIFIED_TIME);
// 查询资源下所有权限 // 查询资源下所有权限
List<PermissionActionEntity> actionList = appPermissionActionRepository List<PermissionActionEntity> actionList = permissionActionRepository
.findAllByResource(resource); .findAllByResource(resource);
// 取出未删除的权限id // 取出未删除的权限id
Set<Long> reservedSet = resource.getActions().stream().map(PermissionActionEntity::getId) Set<Long> reservedSet = resource.getActions().stream().map(PermissionActionEntity::getId)
.collect(Collectors.toSet()); .collect(Collectors.toSet());
// 过滤要删除的权限id // 过滤要删除的权限id
List<Long> removeActions = actionList.stream() List<Long> removeActions = actionList.stream()
.filter(item -> !reservedSet.contains(item.getId())) .filter(item -> !reservedSet.contains(item.getId())).map(PermissionActionEntity::getId)
.map(PermissionActionEntity::getId).toList(); .toList();
appPermissionActionRepository.deleteAllById(removeActions); permissionActionRepository.deleteAllById(removeActions);
// 更新资源 // 更新资源
appResourceRepository.save(entity); appResourceRepository.save(entity);
AuditContext.setTarget( AuditContext.setTarget(
@ -218,7 +218,7 @@ public class PermissionResourceServiceImpl implements PermissionResourceService
@Override @Override
public Boolean permissionResourceParamCheck(CheckValidityType type, String value, Long appId, public Boolean permissionResourceParamCheck(CheckValidityType type, String value, Long appId,
Long id) { Long id) {
QAppPermissionResourceEntity role = QAppPermissionResourceEntity.appPermissionResourceEntity; QPermissionResourceEntity role = QPermissionResourceEntity.permissionResourceEntity;
PermissionResourceEntity entity = new PermissionResourceEntity(); PermissionResourceEntity entity = new PermissionResourceEntity();
boolean result = false; boolean result = false;
// ID存在说明是修改操作查询一下当前数据 // ID存在说明是修改操作查询一下当前数据
@ -273,9 +273,9 @@ public class PermissionResourceServiceImpl implements PermissionResourceService
/** /**
* PolicyRepository * PolicyRepository
*/ */
private final AppPermissionPolicyRepository appPermissionPolicyRepository; private final AppPermissionPolicyRepository permissionPolicyRepository;
/** /**
* ActionRepository * ActionRepository
*/ */
private final AppPermissionActionRepository appPermissionActionRepository; private final AppPermissionActionRepository permissionActionRepository;
} }

View File

@ -22,10 +22,6 @@ import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.Optional; 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.apache.commons.lang3.StringUtils;
import org.springframework.data.querydsl.QPageRequest; import org.springframework.data.querydsl.QPageRequest;
import org.springframework.stereotype.Service; 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.context.AuditContext;
import cn.topiam.employee.audit.entity.Target; import cn.topiam.employee.audit.entity.Target;
import cn.topiam.employee.audit.enums.TargetType; 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.PermissionRoleEntity;
import cn.topiam.employee.common.entity.permission.QPermissionRoleEntity;
import cn.topiam.employee.common.enums.CheckValidityType; import cn.topiam.employee.common.enums.CheckValidityType;
import cn.topiam.employee.common.exception.app.AppRoleNotExistException; import cn.topiam.employee.common.exception.app.AppRoleNotExistException;
import cn.topiam.employee.common.repository.permission.AppPermissionPolicyRepository; import cn.topiam.employee.common.repository.permission.AppPermissionPolicyRepository;
import cn.topiam.employee.common.repository.permission.AppPermissionRoleRepository; 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.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.pojo.update.permission.PermissionRoleUpdateParam;
import cn.topiam.employee.console.service.permission.PermissionRoleService; import cn.topiam.employee.console.service.permission.PermissionRoleService;
import cn.topiam.employee.support.repository.page.domain.Page; import cn.topiam.employee.support.repository.page.domain.Page;
@ -76,10 +76,9 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
public Page<PermissionRoleListResult> getPermissionRoleList(PageModel page, public Page<PermissionRoleListResult> getPermissionRoleList(PageModel page,
PermissionRoleListQuery query) { PermissionRoleListQuery query) {
org.springframework.data.domain.Page<PermissionRoleEntity> data; org.springframework.data.domain.Page<PermissionRoleEntity> data;
Predicate predicate = permissionRoleConverter Predicate predicate = permissionRoleConverter.rolePaginationParamConvertToPredicate(query);
.rolePaginationParamConvertToPredicate(query);
QPageRequest request = QPageRequest.of(page.getCurrent(), page.getPageSize()); QPageRequest request = QPageRequest.of(page.getCurrent(), page.getPageSize());
data = appPermissionRoleRepository.findAll(predicate, request); data = permissionRoleRepository.findAll(predicate, request);
return permissionRoleConverter.entityConvertToRolePaginationResult(data); return permissionRoleConverter.entityConvertToRolePaginationResult(data);
} }
@ -91,9 +90,8 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
*/ */
@Override @Override
public boolean createPermissionRole(PermissionRoleCreateParam param) { public boolean createPermissionRole(PermissionRoleCreateParam param) {
PermissionRoleEntity entity = permissionRoleConverter PermissionRoleEntity entity = permissionRoleConverter.roleCreateParamConvertToEntity(param);
.roleCreateParamConvertToEntity(param); permissionRoleRepository.save(entity);
appPermissionRoleRepository.save(entity);
AuditContext.setTarget(Target.builder().id(entity.getId().toString()) AuditContext.setTarget(Target.builder().id(entity.getId().toString())
.type(TargetType.APP_PERMISSION_ROLE).build()); .type(TargetType.APP_PERMISSION_ROLE).build());
return true; return true;
@ -105,12 +103,11 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
*/ */
@Override @Override
public boolean updatePermissionRole(PermissionRoleUpdateParam param) { public boolean updatePermissionRole(PermissionRoleUpdateParam param) {
PermissionRoleEntity source = permissionRoleConverter PermissionRoleEntity source = permissionRoleConverter.roleUpdateParamConvertToEntity(param);
.roleUpdateParamConvertToEntity(param); PermissionRoleEntity target = permissionRoleRepository.findById(Long.valueOf(param.getId()))
PermissionRoleEntity target = appPermissionRoleRepository .orElseThrow(AppRoleNotExistException::new);
.findById(Long.valueOf(param.getId())).orElseThrow(AppRoleNotExistException::new);
BeanUtils.merge(source, target, LAST_MODIFIED_TIME, LAST_MODIFIED_BY); BeanUtils.merge(source, target, LAST_MODIFIED_TIME, LAST_MODIFIED_BY);
appPermissionRoleRepository.save(target); permissionRoleRepository.save(target);
AuditContext.setTarget(Target.builder().id(target.getId().toString()) AuditContext.setTarget(Target.builder().id(target.getId().toString())
.type(TargetType.APP_PERMISSION_ROLE).build()); .type(TargetType.APP_PERMISSION_ROLE).build());
return true; return true;
@ -127,10 +124,10 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
public boolean deletePermissionRole(String ids) { public boolean deletePermissionRole(String ids) {
List<String> idList = Arrays.stream(ids.split(",")).toList(); List<String> idList = Arrays.stream(ids.split(",")).toList();
List<Long> longIds = idList.stream().map(Long::parseLong).toList(); List<Long> longIds = idList.stream().map(Long::parseLong).toList();
appPermissionRoleRepository.deleteAllById(longIds); permissionRoleRepository.deleteAllById(longIds);
// 删除对应策略 // 删除对应策略
appPermissionPolicyRepository.deleteAllBySubjectIdIn(idList); permissionPolicyRepository.deleteAllBySubjectIdIn(idList);
appPermissionPolicyRepository.deleteAllByObjectIdIn(longIds); permissionPolicyRepository.deleteAllByObjectIdIn(longIds);
AuditContext AuditContext
.setTarget(Target.builder().id(ids).type(TargetType.APP_PERMISSION_ROLE).build()); .setTarget(Target.builder().id(ids).type(TargetType.APP_PERMISSION_ROLE).build());
return true; return true;
@ -145,7 +142,7 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
@Override @Override
public PermissionRoleResult getPermissionRole(Long id) { public PermissionRoleResult getPermissionRole(Long id) {
//查询 //查询
Optional<PermissionRoleEntity> entity = appPermissionRoleRepository.findById(id); Optional<PermissionRoleEntity> entity = permissionRoleRepository.findById(id);
//映射 //映射
return permissionRoleConverter.entityConvertToRoleDetailResult(entity.orElse(null)); return permissionRoleConverter.entityConvertToRoleDetailResult(entity.orElse(null));
} }
@ -163,12 +160,12 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
@Override @Override
public Boolean permissionRoleParamCheck(CheckValidityType type, String value, Long appId, public Boolean permissionRoleParamCheck(CheckValidityType type, String value, Long appId,
Long id) { Long id) {
QAppPermissionRoleEntity role = QAppPermissionRoleEntity.appPermissionRoleEntity; QPermissionRoleEntity role = QPermissionRoleEntity.permissionRoleEntity;
PermissionRoleEntity entity = new PermissionRoleEntity(); PermissionRoleEntity entity = new PermissionRoleEntity();
boolean result = false; boolean result = false;
// ID存在说明是修改操作查询一下当前数据 // ID存在说明是修改操作查询一下当前数据
if (Objects.nonNull(id)) { if (Objects.nonNull(id)) {
entity = appPermissionRoleRepository.findById(id) entity = permissionRoleRepository.findById(id)
.orElseThrow(AppRoleNotExistException::new); .orElseThrow(AppRoleNotExistException::new);
} }
//角色编码 //角色编码
@ -178,7 +175,7 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
} }
BooleanExpression eq = role.code.eq(value); BooleanExpression eq = role.code.eq(value);
eq.and(role.appId.eq(appId)); eq.and(role.appId.eq(appId));
result = !appPermissionRoleRepository.exists(eq); result = !permissionRoleRepository.exists(eq);
} }
//角色名称 //角色名称
if (CheckValidityType.NAME.equals(type)) { if (CheckValidityType.NAME.equals(type)) {
@ -187,7 +184,7 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
} }
BooleanExpression eq = role.name.eq(value); BooleanExpression eq = role.name.eq(value);
eq.and(role.appId.eq(appId)); eq.and(role.appId.eq(appId));
result = !appPermissionRoleRepository.exists(eq); result = !permissionRoleRepository.exists(eq);
} }
return result; return result;
} }
@ -201,7 +198,7 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
*/ */
@Override @Override
public Boolean updatePermissionRoleStatus(String id, Boolean status) { public Boolean updatePermissionRoleStatus(String id, Boolean status) {
appPermissionRoleRepository.updateStatus(id, status); permissionRoleRepository.updateStatus(id, status);
return true; return true;
} }
@ -212,9 +209,9 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
/** /**
* RoleRepository * RoleRepository
*/ */
private final AppPermissionRoleRepository appPermissionRoleRepository; private final AppPermissionRoleRepository permissionRoleRepository;
/** /**
* PolicyRepository * PolicyRepository
*/ */
private final AppPermissionPolicyRepository appPermissionPolicyRepository; private final AppPermissionPolicyRepository permissionPolicyRepository;
} }

View File

@ -18,9 +18,9 @@
package cn.topiam.employee.console.service.setting; package cn.topiam.employee.console.service.setting;
import cn.topiam.employee.console.pojo.result.setting.EmailProviderConfigResult; 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.MailProviderSaveParam;
import cn.topiam.employee.console.pojo.save.setting.SmsProviderSaveParam; import cn.topiam.employee.console.pojo.save.setting.SmsProviderSaveParam;
import cn.topiam.employee.console.pojo.result.setting.SmsProviderConfigResult;
/** /**
* *

View File

@ -23,9 +23,9 @@ import cn.topiam.employee.common.entity.setting.SettingEntity;
import cn.topiam.employee.common.repository.setting.SettingRepository; import cn.topiam.employee.common.repository.setting.SettingRepository;
import cn.topiam.employee.console.converter.setting.MessageSettingConverter; 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.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.MailProviderSaveParam;
import cn.topiam.employee.console.pojo.save.setting.SmsProviderSaveParam; 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.console.service.setting.MessageSettingService;
import cn.topiam.employee.support.context.ApplicationContextHelp; import cn.topiam.employee.support.context.ApplicationContextHelp;
import static cn.topiam.employee.common.constant.ConfigBeanNameConstants.MAIL_PROVIDER_SEND; import static cn.topiam.employee.common.constant.ConfigBeanNameConstants.MAIL_PROVIDER_SEND;

View File

@ -17,10 +17,10 @@
*/ */
package cn.topiam.employee.openapi.converter.permission; package cn.topiam.employee.openapi.converter.permission;
import cn.topiam.employee.common.entity.permission.PermissionActionEntity;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.Mapping; import org.mapstruct.Mapping;
import cn.topiam.employee.common.entity.permission.PermissionActionEntity;
import cn.topiam.employee.openapi.pojo.request.app.AppPermissionsActionParam; import cn.topiam.employee.openapi.pojo.request.app.AppPermissionsActionParam;
/** /**

View File

@ -19,12 +19,12 @@ package cn.topiam.employee.openapi.converter.permission;
import java.util.List; 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.Mapper;
import org.mapstruct.Mapping; import org.mapstruct.Mapping;
import org.springframework.util.CollectionUtils; 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.save.AppPermissionPolicyCreateParam;
import cn.topiam.employee.openapi.pojo.request.app.update.AppPermissionPolicyUpdateParam; import cn.topiam.employee.openapi.pojo.request.app.update.AppPermissionPolicyUpdateParam;
import cn.topiam.employee.support.repository.page.domain.Page; import cn.topiam.employee.support.repository.page.domain.Page;

View File

@ -20,7 +20,6 @@ package cn.topiam.employee.openapi.converter.permission;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import cn.topiam.employee.common.entity.permission.PermissionResourceEntity;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import org.mapstruct.Mapping; import org.mapstruct.Mapping;
@ -29,7 +28,8 @@ import org.springframework.util.CollectionUtils;
import com.querydsl.core.types.ExpressionUtils; import com.querydsl.core.types.ExpressionUtils;
import com.querydsl.core.types.Predicate; 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.query.AppResourceListQuery;
import cn.topiam.employee.openapi.pojo.request.app.save.AppPermissionResourceCreateParam; import cn.topiam.employee.openapi.pojo.request.app.save.AppPermissionResourceCreateParam;
import cn.topiam.employee.openapi.pojo.request.app.update.AppPermissionResourceUpdateParam; import cn.topiam.employee.openapi.pojo.request.app.update.AppPermissionResourceUpdateParam;
@ -53,7 +53,7 @@ public interface PermissionResourceConverter {
* @return {@link Predicate} * @return {@link Predicate}
*/ */
default Predicate resourcePaginationParamConvertToPredicate(AppResourceListQuery query) { default Predicate resourcePaginationParamConvertToPredicate(AppResourceListQuery query) {
QAppPermissionResourceEntity resource = QAppPermissionResourceEntity.appPermissionResourceEntity; QPermissionResourceEntity resource = QPermissionResourceEntity.permissionResourceEntity;
Predicate predicate = ExpressionUtils.and(resource.isNotNull(), Predicate predicate = ExpressionUtils.and(resource.isNotNull(),
resource.deleted.eq(Boolean.FALSE)); resource.deleted.eq(Boolean.FALSE));
//查询条件 //查询条件

View File

@ -29,8 +29,8 @@ import org.springframework.util.ObjectUtils;
import com.querydsl.core.types.ExpressionUtils; import com.querydsl.core.types.ExpressionUtils;
import com.querydsl.core.types.Predicate; 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.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.query.AppPermissionRoleListQuery;
import cn.topiam.employee.openapi.pojo.request.app.save.AppPermissionRoleCreateParam; import cn.topiam.employee.openapi.pojo.request.app.save.AppPermissionRoleCreateParam;
import cn.topiam.employee.openapi.pojo.request.app.update.PermissionRoleUpdateParam; import cn.topiam.employee.openapi.pojo.request.app.update.PermissionRoleUpdateParam;
@ -125,7 +125,7 @@ public interface PermissionRoleConverter {
* @return {@link PermissionRoleEntity} * @return {@link PermissionRoleEntity}
*/ */
default Predicate rolePaginationParamConvertToPredicate(AppPermissionRoleListQuery query) { default Predicate rolePaginationParamConvertToPredicate(AppPermissionRoleListQuery query) {
QAppPermissionRoleEntity role = QAppPermissionRoleEntity.appPermissionRoleEntity; QPermissionRoleEntity role = QPermissionRoleEntity.permissionRoleEntity;
Predicate predicate = ExpressionUtils.and(role.isNotNull(), role.deleted.eq(Boolean.FALSE)); Predicate predicate = ExpressionUtils.and(role.isNotNull(), role.deleted.eq(Boolean.FALSE));
//查询条件 //查询条件
//@formatter:off //@formatter:off

View File

@ -17,12 +17,12 @@
*/ */
package cn.topiam.employee.openapi.endpoint.permission; 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.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; 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.pojo.request.app.query.OpenApiPolicyQuery;
import cn.topiam.employee.openapi.service.PermissionPolicyService; import cn.topiam.employee.openapi.service.PermissionPolicyService;
import cn.topiam.employee.support.repository.page.domain.Page; import cn.topiam.employee.support.repository.page.domain.Page;

View File

@ -55,8 +55,8 @@ public class PermissionRoleEndpoint {
@GetMapping(value = "/list") @GetMapping(value = "/list")
public ApiRestResult<Page<AppPermissionRoleListResult>> getPermissionRoleList(PageModel page, public ApiRestResult<Page<AppPermissionRoleListResult>> getPermissionRoleList(PageModel page,
@Validated AppPermissionRoleListQuery query) { @Validated AppPermissionRoleListQuery query) {
Page<AppPermissionRoleListResult> result = permissionRoleService Page<AppPermissionRoleListResult> result = permissionRoleService.getPermissionRoleList(page,
.getPermissionRoleList(page, query); query);
return ApiRestResult.<Page<AppPermissionRoleListResult>> builder().result(result).build(); return ApiRestResult.<Page<AppPermissionRoleListResult>> builder().result(result).build();
} }
//2、新增角色 //2、新增角色

View File

@ -17,13 +17,13 @@
*/ */
package cn.topiam.employee.openapi.service.impl; 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.data.querydsl.QPageRequest;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import cn.topiam.employee.common.entity.app.query.AppPolicyQuery; import cn.topiam.employee.common.entity.app.query.AppPolicyQuery;
import cn.topiam.employee.common.entity.permission.PermissionPolicyEntity; 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.exception.app.AppPolicyNotExistException;
import cn.topiam.employee.common.repository.permission.AppPermissionPolicyRepository; import cn.topiam.employee.common.repository.permission.AppPermissionPolicyRepository;
import cn.topiam.employee.openapi.converter.permission.PermissionPolicyConverter; import cn.topiam.employee.openapi.converter.permission.PermissionPolicyConverter;
@ -68,7 +68,7 @@ public class PermissionPolicyServiceImpl implements PermissionPolicyService {
appPolicyQuery.setSubjectType(query.getSubjectType()); appPolicyQuery.setSubjectType(query.getSubjectType());
appPolicyQuery.setObjectType(query.getObjectType()); appPolicyQuery.setObjectType(query.getObjectType());
QPageRequest request = QPageRequest.of(page.getCurrent(), page.getPageSize()); 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); .findPage(appPolicyQuery, request);
return permissionPolicyConverter.entityConvertToPolicyListResult(data); return permissionPolicyConverter.entityConvertToPolicyListResult(data);
} }
@ -93,9 +93,8 @@ public class PermissionPolicyServiceImpl implements PermissionPolicyService {
@Override @Override
public Boolean deletePermissionPolicy(String id) { public Boolean deletePermissionPolicy(String id) {
Long policyId = Long.valueOf(id); Long policyId = Long.valueOf(id);
appPermissionPolicyRepository.findById(policyId) permissionPolicyRepository.findById(policyId).orElseThrow(AppPolicyNotExistException::new);
.orElseThrow(AppPolicyNotExistException::new); permissionPolicyRepository.deleteById(policyId);
appPermissionPolicyRepository.deleteById(policyId);
return true; return true;
} }
@ -111,7 +110,7 @@ public class PermissionPolicyServiceImpl implements PermissionPolicyService {
PermissionPolicyEntity resource = permissionPolicyConverter PermissionPolicyEntity resource = permissionPolicyConverter
.policyCreateParamConvertToEntity(param); .policyCreateParamConvertToEntity(param);
// 新增策略 // 新增策略
appPermissionPolicyRepository.save(resource); permissionPolicyRepository.save(resource);
return true; return true;
} }
@ -126,11 +125,11 @@ public class PermissionPolicyServiceImpl implements PermissionPolicyService {
PermissionPolicyEntity resource = permissionPolicyConverter PermissionPolicyEntity resource = permissionPolicyConverter
.policyUpdateParamConvertToEntity(param); .policyUpdateParamConvertToEntity(param);
// 更新策略 // 更新策略
appPermissionPolicyRepository.save(resource); permissionPolicyRepository.save(resource);
return null; return null;
} }
private final PermissionPolicyConverter permissionPolicyConverter; private final PermissionPolicyConverter permissionPolicyConverter;
private final AppPermissionPolicyRepository appPermissionPolicyRepository; private final AppPermissionPolicyRepository permissionPolicyRepository;
} }

View File

@ -23,9 +23,6 @@ import java.util.Objects;
import java.util.Set; import java.util.Set;
import java.util.stream.Collectors; 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.apache.commons.lang3.StringUtils;
import org.springframework.data.querydsl.QPageRequest; import org.springframework.data.querydsl.QPageRequest;
import org.springframework.stereotype.Service; 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.Predicate;
import com.querydsl.core.types.dsl.BooleanExpression; 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.enums.CheckValidityType;
import cn.topiam.employee.common.exception.app.AppResourceNotExistException; import cn.topiam.employee.common.exception.app.AppResourceNotExistException;
import cn.topiam.employee.common.repository.permission.AppPermissionActionRepository; import cn.topiam.employee.common.repository.permission.AppPermissionActionRepository;
import cn.topiam.employee.common.repository.permission.AppPermissionPolicyRepository; import cn.topiam.employee.common.repository.permission.AppPermissionPolicyRepository;
import cn.topiam.employee.common.repository.permission.AppPermissionResourceRepository; 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.AppPermissionsActionParam;
import cn.topiam.employee.openapi.pojo.request.app.query.AppResourceListQuery; import cn.topiam.employee.openapi.pojo.request.app.query.AppResourceListQuery;
import cn.topiam.employee.openapi.pojo.request.app.query.OpenApiPolicyQuery; import cn.topiam.employee.openapi.pojo.request.app.query.OpenApiPolicyQuery;
@ -108,12 +108,12 @@ public class PermissionResourceServiceImpl implements PermissionResourceService
Long resourceId = Long.valueOf(id); Long resourceId = Long.valueOf(id);
PermissionResourceEntity resource = appResourceRepository.findById(resourceId) PermissionResourceEntity resource = appResourceRepository.findById(resourceId)
.orElseThrow(AppResourceNotExistException::new); .orElseThrow(AppResourceNotExistException::new);
List<PermissionActionEntity> actionList = appPermissionActionRepository List<PermissionActionEntity> actionList = permissionActionRepository
.findAllByResource(resource); .findAllByResource(resource);
List<Long> objectIdList = new ArrayList<>( List<Long> objectIdList = new ArrayList<>(
actionList.stream().map(PermissionActionEntity::getId).toList()); actionList.stream().map(PermissionActionEntity::getId).toList());
objectIdList.add(resourceId); objectIdList.add(resourceId);
appPermissionPolicyRepository.deleteAllByObjectIdIn(objectIdList); permissionPolicyRepository.deleteAllByObjectIdIn(objectIdList);
appResourceRepository.deleteById(resourceId); appResourceRepository.deleteById(resourceId);
return true; return true;
} }
@ -148,16 +148,16 @@ public class PermissionResourceServiceImpl implements PermissionResourceService
.resourceUpdateParamConvertToEntity(param); .resourceUpdateParamConvertToEntity(param);
buildActions(param.getActions(), resource); buildActions(param.getActions(), resource);
// 查询资源下所有权限 // 查询资源下所有权限
List<PermissionActionEntity> actionList = appPermissionActionRepository List<PermissionActionEntity> actionList = permissionActionRepository
.findAllByResource(resource); .findAllByResource(resource);
// 取出未删除的权限id // 取出未删除的权限id
Set<Long> reservedSet = resource.getActions().stream().map(PermissionActionEntity::getId) Set<Long> reservedSet = resource.getActions().stream().map(PermissionActionEntity::getId)
.collect(Collectors.toSet()); .collect(Collectors.toSet());
// 过滤要删除的权限id // 过滤要删除的权限id
List<Long> removeActions = actionList.stream() List<Long> removeActions = actionList.stream()
.filter(item -> reservedSet.contains(item.getId())) .filter(item -> reservedSet.contains(item.getId())).map(PermissionActionEntity::getId)
.map(PermissionActionEntity::getId).toList(); .toList();
appPermissionPolicyRepository.deleteAllByObjectIdIn(removeActions); permissionPolicyRepository.deleteAllByObjectIdIn(removeActions);
// 更新资源 // 更新资源
appResourceRepository.save(resource); appResourceRepository.save(resource);
return true; return true;
@ -176,7 +176,7 @@ public class PermissionResourceServiceImpl implements PermissionResourceService
@Override @Override
public Boolean permissionResourceParamCheck(CheckValidityType type, String value, Long appId, public Boolean permissionResourceParamCheck(CheckValidityType type, String value, Long appId,
Long id) { Long id) {
QAppPermissionResourceEntity role = QAppPermissionResourceEntity.appPermissionResourceEntity; QPermissionResourceEntity role = QPermissionResourceEntity.permissionResourceEntity;
PermissionResourceEntity entity = new PermissionResourceEntity(); PermissionResourceEntity entity = new PermissionResourceEntity();
boolean result = false; boolean result = false;
// ID存在说明是修改操作查询一下当前数据 // ID存在说明是修改操作查询一下当前数据
@ -233,9 +233,9 @@ public class PermissionResourceServiceImpl implements PermissionResourceService
/** /**
* PolicyRepository * PolicyRepository
*/ */
private final AppPermissionPolicyRepository appPermissionPolicyRepository; private final AppPermissionPolicyRepository permissionPolicyRepository;
/** /**
* ActionRepository * ActionRepository
*/ */
private final AppPermissionActionRepository appPermissionActionRepository; private final AppPermissionActionRepository permissionActionRepository;
} }

View File

@ -22,7 +22,6 @@ import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.Optional; import java.util.Optional;
import cn.topiam.employee.common.entity.permission.PermissionRoleEntity;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.data.querydsl.QPageRequest; import org.springframework.data.querydsl.QPageRequest;
import org.springframework.stereotype.Service; 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.Predicate;
import com.querydsl.core.types.dsl.BooleanExpression; 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.enums.CheckValidityType;
import cn.topiam.employee.common.exception.app.AppRoleNotExistException; import cn.topiam.employee.common.exception.app.AppRoleNotExistException;
import cn.topiam.employee.common.repository.permission.AppPermissionPolicyRepository; import cn.topiam.employee.common.repository.permission.AppPermissionPolicyRepository;
@ -73,10 +73,9 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
public Page<AppPermissionRoleListResult> getPermissionRoleList(PageModel page, public Page<AppPermissionRoleListResult> getPermissionRoleList(PageModel page,
AppPermissionRoleListQuery query) { AppPermissionRoleListQuery query) {
org.springframework.data.domain.Page<PermissionRoleEntity> data; org.springframework.data.domain.Page<PermissionRoleEntity> data;
Predicate predicate = permissionRoleConverter Predicate predicate = permissionRoleConverter.rolePaginationParamConvertToPredicate(query);
.rolePaginationParamConvertToPredicate(query);
QPageRequest request = QPageRequest.of(page.getCurrent(), page.getPageSize()); QPageRequest request = QPageRequest.of(page.getCurrent(), page.getPageSize());
data = appPermissionRoleRepository.findAll(predicate, request); data = permissionRoleRepository.findAll(predicate, request);
return permissionRoleConverter.entityConvertToRolePaginationResult(data); return permissionRoleConverter.entityConvertToRolePaginationResult(data);
} }
@ -88,9 +87,8 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
*/ */
@Override @Override
public boolean createPermissionRole(AppPermissionRoleCreateParam param) { public boolean createPermissionRole(AppPermissionRoleCreateParam param) {
PermissionRoleEntity entity = permissionRoleConverter PermissionRoleEntity entity = permissionRoleConverter.roleCreateParamConvertToEntity(param);
.roleCreateParamConvertToEntity(param); permissionRoleRepository.save(entity);
appPermissionRoleRepository.save(entity);
return true; return true;
} }
@ -100,12 +98,11 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
*/ */
@Override @Override
public boolean updatePermissionRole(PermissionRoleUpdateParam param) { public boolean updatePermissionRole(PermissionRoleUpdateParam param) {
PermissionRoleEntity source = permissionRoleConverter PermissionRoleEntity source = permissionRoleConverter.roleUpdateParamConvertToEntity(param);
.roleUpdateParamConvertToEntity(param); PermissionRoleEntity target = permissionRoleRepository.findById(Long.valueOf(param.getId()))
PermissionRoleEntity target = appPermissionRoleRepository .orElseThrow(AppRoleNotExistException::new);
.findById(Long.valueOf(param.getId())).orElseThrow(AppRoleNotExistException::new);
BeanUtils.merge(source, target, LAST_MODIFIED_TIME, LAST_MODIFIED_BY); BeanUtils.merge(source, target, LAST_MODIFIED_TIME, LAST_MODIFIED_BY);
appPermissionRoleRepository.save(target); permissionRoleRepository.save(target);
return true; return true;
} }
@ -120,10 +117,10 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
public boolean deletePermissionRole(String ids) { public boolean deletePermissionRole(String ids) {
List<String> idList = Arrays.stream(ids.split(",")).toList(); List<String> idList = Arrays.stream(ids.split(",")).toList();
List<Long> longIds = idList.stream().map(Long::parseLong).toList(); List<Long> longIds = idList.stream().map(Long::parseLong).toList();
appPermissionRoleRepository.deleteAllById(longIds); permissionRoleRepository.deleteAllById(longIds);
// 删除对应策略 // 删除对应策略
appPermissionPolicyRepository.deleteAllBySubjectIdIn(idList); permissionPolicyRepository.deleteAllBySubjectIdIn(idList);
appPermissionPolicyRepository.deleteAllByObjectIdIn(longIds); permissionPolicyRepository.deleteAllByObjectIdIn(longIds);
return true; return true;
} }
@ -136,7 +133,7 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
@Override @Override
public AppPermissionRoleResult getPermissionRole(Long id) { public AppPermissionRoleResult getPermissionRole(Long id) {
//查询 //查询
Optional<PermissionRoleEntity> entity = appPermissionRoleRepository.findById(id); Optional<PermissionRoleEntity> entity = permissionRoleRepository.findById(id);
//映射 //映射
return permissionRoleConverter.entityConvertToRoleDetailResult(entity.orElse(null)); return permissionRoleConverter.entityConvertToRoleDetailResult(entity.orElse(null));
} }
@ -154,12 +151,12 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
@Override @Override
public Boolean permissionRoleParamCheck(CheckValidityType type, String value, Long appId, public Boolean permissionRoleParamCheck(CheckValidityType type, String value, Long appId,
Long id) { Long id) {
QAppPermissionRoleEntity role = QAppPermissionRoleEntity.appPermissionRoleEntity; QPermissionRoleEntity role = QPermissionRoleEntity.permissionRoleEntity;
PermissionRoleEntity entity = new PermissionRoleEntity(); PermissionRoleEntity entity = new PermissionRoleEntity();
boolean result = false; boolean result = false;
// ID存在说明是修改操作查询一下当前数据 // ID存在说明是修改操作查询一下当前数据
if (Objects.nonNull(id)) { if (Objects.nonNull(id)) {
entity = appPermissionRoleRepository.findById(id) entity = permissionRoleRepository.findById(id)
.orElseThrow(AppRoleNotExistException::new); .orElseThrow(AppRoleNotExistException::new);
} }
//角色编码 //角色编码
@ -169,7 +166,7 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
} }
BooleanExpression eq = role.code.eq(value); BooleanExpression eq = role.code.eq(value);
eq.and(role.appId.eq(appId)); eq.and(role.appId.eq(appId));
result = !appPermissionRoleRepository.exists(eq); result = !permissionRoleRepository.exists(eq);
} }
//角色名称 //角色名称
if (CheckValidityType.NAME.equals(type)) { if (CheckValidityType.NAME.equals(type)) {
@ -178,7 +175,7 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
} }
BooleanExpression eq = role.name.eq(value); BooleanExpression eq = role.name.eq(value);
eq.and(role.appId.eq(appId)); eq.and(role.appId.eq(appId));
result = !appPermissionRoleRepository.exists(eq); result = !permissionRoleRepository.exists(eq);
} }
return result; return result;
} }
@ -192,7 +189,7 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
*/ */
@Override @Override
public Boolean updatePermissionRoleStatus(String id, Boolean status) { public Boolean updatePermissionRoleStatus(String id, Boolean status) {
appPermissionRoleRepository.updateStatus(id, status); permissionRoleRepository.updateStatus(id, status);
return true; return true;
} }
@ -203,9 +200,9 @@ public class PermissionRoleServiceImpl implements PermissionRoleService {
/** /**
* RoleRepository * RoleRepository
*/ */
private final AppPermissionRoleRepository appPermissionRoleRepository; private final AppPermissionRoleRepository permissionRoleRepository;
/** /**
* PolicyRepository * PolicyRepository
*/ */
private final AppPermissionPolicyRepository appPermissionPolicyRepository; private final AppPermissionPolicyRepository permissionPolicyRepository;
} }