循环依赖处理
This commit is contained in:
parent
19858ca927
commit
6547ea089c
8
.idea/compiler.xml
generated
8
.idea/compiler.xml
generated
@ -13,10 +13,10 @@
|
|||||||
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
|
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
|
||||||
<outputRelativeToContentRoot value="true" />
|
<outputRelativeToContentRoot value="true" />
|
||||||
<processorPath useClasspath="false">
|
<processorPath useClasspath="false">
|
||||||
<entry name="$MAVEN_REPOSITORY$/org/springframework/boot/spring-boot-configuration-processor/3.3.4/spring-boot-configuration-processor-3.3.4.jar" />
|
<entry name="$PROJECT_DIR$/../../apache-maven-3.8.6-bin/repository/org/springframework/boot/spring-boot-configuration-processor/3.3.4/spring-boot-configuration-processor-3.3.4.jar" />
|
||||||
<entry name="$MAVEN_REPOSITORY$/org/projectlombok/lombok/1.18.34/lombok-1.18.34.jar" />
|
<entry name="$PROJECT_DIR$/../../apache-maven-3.8.6-bin/repository/org/projectlombok/lombok/1.18.34/lombok-1.18.34.jar" />
|
||||||
<entry name="$MAVEN_REPOSITORY$/org/mapstruct/mapstruct-processor/1.6.2/mapstruct-processor-1.6.2.jar" />
|
<entry name="$PROJECT_DIR$/../../apache-maven-3.8.6-bin/repository/org/mapstruct/mapstruct-processor/1.6.2/mapstruct-processor-1.6.2.jar" />
|
||||||
<entry name="$MAVEN_REPOSITORY$/org/mapstruct/mapstruct/1.6.2/mapstruct-1.6.2.jar" />
|
<entry name="$PROJECT_DIR$/../../apache-maven-3.8.6-bin/repository/org/mapstruct/mapstruct/1.6.2/mapstruct-1.6.2.jar" />
|
||||||
</processorPath>
|
</processorPath>
|
||||||
<module name="spring-boot-starter-protection" />
|
<module name="spring-boot-starter-protection" />
|
||||||
<module name="module-ci-environment" />
|
<module name="module-ci-environment" />
|
||||||
|
10
.idea/jarRepositories.xml
generated
10
.idea/jarRepositories.xml
generated
@ -1,16 +1,16 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="RemoteRepositoriesConfiguration">
|
<component name="RemoteRepositoriesConfiguration">
|
||||||
<remote-repository>
|
|
||||||
<option name="id" value="huaweicloud" />
|
|
||||||
<option name="name" value="huawei" />
|
|
||||||
<option name="url" value="https://maven.aliyun.com/repository/public" />
|
|
||||||
</remote-repository>
|
|
||||||
<remote-repository>
|
<remote-repository>
|
||||||
<option name="id" value="central" />
|
<option name="id" value="central" />
|
||||||
<option name="name" value="Central Repository" />
|
<option name="name" value="Central Repository" />
|
||||||
<option name="url" value="https://repo.maven.apache.org/maven2" />
|
<option name="url" value="https://repo.maven.apache.org/maven2" />
|
||||||
</remote-repository>
|
</remote-repository>
|
||||||
|
<remote-repository>
|
||||||
|
<option name="id" value="huaweicloud" />
|
||||||
|
<option name="name" value="huawei" />
|
||||||
|
<option name="url" value="https://maven.aliyun.com/repository/public" />
|
||||||
|
</remote-repository>
|
||||||
<remote-repository>
|
<remote-repository>
|
||||||
<option name="id" value="aliyunmaven" />
|
<option name="id" value="aliyunmaven" />
|
||||||
<option name="name" value="aliyun" />
|
<option name="name" value="aliyun" />
|
||||||
|
8
.idea/modules.xml
generated
8
.idea/modules.xml
generated
@ -1,8 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="ProjectModuleManager">
|
|
||||||
<modules>
|
|
||||||
<module fileurl="file://$PROJECT_DIR$/modules/module-ci-process-biz/module-ci-process-biz.iml" filepath="$PROJECT_DIR$/modules/module-ci-process-biz/module-ci-process-biz.iml" />
|
|
||||||
</modules>
|
|
||||||
</component>
|
|
||||||
</project>
|
|
4
dependencies/pom.xml
vendored
4
dependencies/pom.xml
vendored
@ -85,8 +85,8 @@
|
|||||||
<commons-exec.version>1.4.0</commons-exec.version>
|
<commons-exec.version>1.4.0</commons-exec.version>
|
||||||
<dd-plist.version>1.28</dd-plist.version>
|
<dd-plist.version>1.28</dd-plist.version>
|
||||||
<apk-parser.version>2.6.10</apk-parser.version>
|
<apk-parser.version>2.6.10</apk-parser.version>
|
||||||
<logback-core.version>1.2.11</logback-core.version>
|
<logback-core.version>1.5.8</logback-core.version>
|
||||||
<logback-classic.version>1.2.11</logback-classic.version>
|
<logback-classic.version>1.5.8</logback-classic.version>
|
||||||
<caffeine.version>2.9.3</caffeine.version>
|
<caffeine.version>2.9.3</caffeine.version>
|
||||||
<resilience4j-circuitbreaker.version>2.3.0</resilience4j-circuitbreaker.version>
|
<resilience4j-circuitbreaker.version>2.3.0</resilience4j-circuitbreaker.version>
|
||||||
|
|
||||||
|
@ -171,6 +171,27 @@
|
|||||||
<artifactId>spring-boot-starter-test</artifactId>
|
<artifactId>spring-boot-starter-test</artifactId>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.baomidou</groupId>
|
||||||
|
<artifactId>mybatis-plus-annotation</artifactId>
|
||||||
|
<version>3.5.8</version>
|
||||||
|
<scope>compile</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.mybatis</groupId>
|
||||||
|
<artifactId>mybatis</artifactId>
|
||||||
|
<version>3.5.16</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.github.mouzt</groupId>
|
||||||
|
<artifactId>bizlog-sdk</artifactId>
|
||||||
|
<version>3.0.6</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.lionsoul</groupId>
|
||||||
|
<artifactId>ip2region</artifactId>
|
||||||
|
<version>2.7.0</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.framework.tenant.core.aop;
|
package cd.casic.framework.commons.annotation;
|
||||||
|
|
||||||
import java.lang.annotation.*;
|
import java.lang.annotation.*;
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.framework.web.config;
|
package cd.casic.framework.commons.config;
|
||||||
|
|
||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
import jakarta.validation.constraints.NotEmpty;
|
import jakarta.validation.constraints.NotEmpty;
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.framework.tenant.core.context;
|
package cd.casic.framework.commons.context;
|
||||||
|
|
||||||
import com.alibaba.ttl.TransmittableThreadLocal;
|
import com.alibaba.ttl.TransmittableThreadLocal;
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.framework.mybatis.core.dataobject;
|
package cd.casic.framework.commons.dataobject;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||||
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.annotation.TableField;
|
@ -1,8 +1,7 @@
|
|||||||
package cd.casic.module.system.dal.dataobject.dept;
|
package cd.casic.framework.commons.dataobject.dept;
|
||||||
|
|
||||||
import cd.casic.framework.commons.enums.CommonStatusEnum;
|
import cd.casic.framework.commons.enums.CommonStatusEnum;
|
||||||
import cd.casic.framework.tenant.core.db.TenantBaseDO;
|
import cd.casic.framework.commons.dataobject.tenant.TenantBaseDO;
|
||||||
import cd.casic.module.system.dal.dataobject.user.AdminUserDO;
|
|
||||||
import com.baomidou.mybatisplus.annotation.KeySequence;
|
import com.baomidou.mybatisplus.annotation.KeySequence;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
@ -1,7 +1,7 @@
|
|||||||
package cd.casic.module.system.dal.dataobject.dept;
|
package cd.casic.framework.commons.dataobject.dept;
|
||||||
|
|
||||||
import cd.casic.framework.commons.enums.CommonStatusEnum;
|
import cd.casic.framework.commons.enums.CommonStatusEnum;
|
||||||
import cd.casic.framework.mybatis.core.dataobject.BaseDO;
|
import cd.casic.framework.commons.dataobject.BaseDO;
|
||||||
import com.baomidou.mybatisplus.annotation.KeySequence;
|
import com.baomidou.mybatisplus.annotation.KeySequence;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
@ -1,7 +1,6 @@
|
|||||||
package cd.casic.module.system.dal.dataobject.dept;
|
package cd.casic.framework.commons.dataobject.dept;
|
||||||
|
|
||||||
import cd.casic.framework.mybatis.core.dataobject.BaseDO;
|
import cd.casic.framework.commons.dataobject.BaseDO;
|
||||||
import cd.casic.module.system.dal.dataobject.user.AdminUserDO;
|
|
||||||
import com.baomidou.mybatisplus.annotation.KeySequence;
|
import com.baomidou.mybatisplus.annotation.KeySequence;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
@ -1,6 +1,6 @@
|
|||||||
package cd.casic.framework.redis.core;
|
package cd.casic.framework.commons.util.redis.core;
|
||||||
|
|
||||||
import cd.casic.framework.redis.core.enums.AreaTypeEnum;
|
import cd.casic.framework.commons.util.redis.core.enums.AreaTypeEnum;
|
||||||
import com.fasterxml.jackson.annotation.JsonBackReference;
|
import com.fasterxml.jackson.annotation.JsonBackReference;
|
||||||
import com.fasterxml.jackson.annotation.JsonManagedReference;
|
import com.fasterxml.jackson.annotation.JsonManagedReference;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.framework.redis.core.enums;
|
package cd.casic.framework.commons.util.redis.core.enums;
|
||||||
|
|
||||||
import cd.casic.framework.commons.core.IntArrayValuable;
|
import cd.casic.framework.commons.core.IntArrayValuable;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
@ -1,7 +1,7 @@
|
|||||||
package cd.casic.framework.redis.core.utils;
|
package cd.casic.framework.commons.util.redis.core.utils;
|
||||||
|
|
||||||
import cd.casic.framework.redis.core.Area;
|
import cd.casic.framework.commons.util.redis.core.Area;
|
||||||
import cd.casic.framework.redis.core.enums.AreaTypeEnum;
|
import cd.casic.framework.commons.util.redis.core.enums.AreaTypeEnum;
|
||||||
import cd.casic.framework.commons.util.object.ObjectUtils;
|
import cd.casic.framework.commons.util.object.ObjectUtils;
|
||||||
import cn.hutool.core.io.resource.ResourceUtil;
|
import cn.hutool.core.io.resource.ResourceUtil;
|
||||||
import cn.hutool.core.lang.Assert;
|
import cn.hutool.core.lang.Assert;
|
@ -1,6 +1,6 @@
|
|||||||
package cd.casic.framework.redis.core.utils;
|
package cd.casic.framework.commons.util.redis.core.utils;
|
||||||
|
|
||||||
import cd.casic.framework.redis.core.Area;
|
import cd.casic.framework.commons.util.redis.core.Area;
|
||||||
import cn.hutool.core.io.resource.ResourceUtil;
|
import cn.hutool.core.io.resource.ResourceUtil;
|
||||||
import lombok.SneakyThrows;
|
import lombok.SneakyThrows;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
@ -1,12 +1,12 @@
|
|||||||
package cd.casic.framework.tenant.core.util;
|
package cd.casic.framework.commons.util.tenant;
|
||||||
|
|
||||||
|
|
||||||
import cd.casic.framework.tenant.core.context.TenantContextHolder;
|
import cd.casic.framework.commons.context.TenantContextHolder;
|
||||||
|
import cd.casic.framework.commons.util.util.WebFrameworkUtils;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.concurrent.Callable;
|
import java.util.concurrent.Callable;
|
||||||
|
|
||||||
import static cd.casic.framework.web.core.util.WebFrameworkUtils.HEADER_TENANT_ID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 多租户 Util
|
* 多租户 Util
|
||||||
@ -87,7 +87,7 @@ public class TenantUtils {
|
|||||||
*/
|
*/
|
||||||
public static void addTenantHeader(Map<String, String> headers, Long tenantId) {
|
public static void addTenantHeader(Map<String, String> headers, Long tenantId) {
|
||||||
if (tenantId != null) {
|
if (tenantId != null) {
|
||||||
headers.put(HEADER_TENANT_ID, tenantId.toString());
|
headers.put(WebFrameworkUtils.HEADER_TENANT_ID, tenantId.toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1,9 +1,10 @@
|
|||||||
package cd.casic.framework.web.core.util;
|
package cd.casic.framework.commons.util.util;
|
||||||
|
|
||||||
|
import cd.casic.framework.commons.config.WebProperties;
|
||||||
import cd.casic.framework.commons.enums.TerminalEnum;
|
import cd.casic.framework.commons.enums.TerminalEnum;
|
||||||
import cd.casic.framework.commons.enums.UserTypeEnum;
|
import cd.casic.framework.commons.enums.UserTypeEnum;
|
||||||
import cd.casic.framework.commons.pojo.CommonResult;
|
import cd.casic.framework.commons.pojo.CommonResult;
|
||||||
import cd.casic.framework.web.config.WebProperties;
|
|
||||||
import cn.hutool.core.util.NumberUtil;
|
import cn.hutool.core.util.NumberUtil;
|
||||||
import jakarta.servlet.ServletRequest;
|
import jakarta.servlet.ServletRequest;
|
||||||
import jakarta.servlet.http.HttpServletRequest;
|
import jakarta.servlet.http.HttpServletRequest;
|
@ -1,10 +1,10 @@
|
|||||||
package cd.casic.framework.apilog.config;
|
package cd.casic.framework.datapermission.config;
|
||||||
|
|
||||||
import cd.casic.framework.apilog.core.filter.ApiAccessLogFilter;
|
import cd.casic.framework.apilog.core.filter.ApiAccessLogFilter;
|
||||||
import cd.casic.framework.apilog.core.interceptor.ApiAccessLogInterceptor;
|
import cd.casic.framework.apilog.core.interceptor.ApiAccessLogInterceptor;
|
||||||
|
import cd.casic.framework.commons.config.WebProperties;
|
||||||
import cd.casic.framework.commons.enums.WebFilterOrderEnum;
|
import cd.casic.framework.commons.enums.WebFilterOrderEnum;
|
||||||
import cd.casic.framework.web.config.OpsWebAutoConfiguration;
|
|
||||||
import cd.casic.framework.web.config.WebProperties;
|
|
||||||
import cd.casic.module.infra.api.logger.ApiAccessLogApi;
|
import cd.casic.module.infra.api.logger.ApiAccessLogApi;
|
||||||
import jakarta.servlet.Filter;
|
import jakarta.servlet.Filter;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
@ -2,8 +2,9 @@ package cd.casic.framework.datapermission.config;
|
|||||||
|
|
||||||
import cd.casic.framework.datapermission.core.rule.dept.DeptDataPermissionRule;
|
import cd.casic.framework.datapermission.core.rule.dept.DeptDataPermissionRule;
|
||||||
import cd.casic.framework.datapermission.core.rule.dept.DeptDataPermissionRuleCustomizer;
|
import cd.casic.framework.datapermission.core.rule.dept.DeptDataPermissionRuleCustomizer;
|
||||||
|
import cd.casic.framework.datapermission.service.PermissionApi;
|
||||||
import cd.casic.framework.security.core.LoginUser;
|
import cd.casic.framework.security.core.LoginUser;
|
||||||
import cd.casic.module.system.api.permission.PermissionApi;
|
|
||||||
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||||
|
@ -1,15 +1,17 @@
|
|||||||
package cd.casic.framework.security.config;
|
package cd.casic.framework.datapermission.config;
|
||||||
|
|
||||||
|
|
||||||
|
import cd.casic.framework.datapermission.service.PermissionApi;
|
||||||
|
import cd.casic.framework.datapermission.service.SecurityFrameworkService;
|
||||||
|
import cd.casic.framework.datapermission.service.SecurityFrameworkServiceImpl;
|
||||||
|
import cd.casic.framework.datapermission.service.user.OAuth2TokenApi;
|
||||||
|
import cd.casic.framework.datapermission.service.user.OAuth2TokenApiImpl;
|
||||||
|
import cd.casic.framework.security.config.SecurityProperties;
|
||||||
import cd.casic.framework.security.core.context.TransmittableThreadLocalSecurityContextHolderStrategy;
|
import cd.casic.framework.security.core.context.TransmittableThreadLocalSecurityContextHolderStrategy;
|
||||||
import cd.casic.framework.security.core.filter.TokenAuthenticationFilter;
|
import cd.casic.framework.datapermission.core.filter.TokenAuthenticationFilter;
|
||||||
import cd.casic.framework.security.core.handler.AccessDeniedHandlerImpl;
|
import cd.casic.framework.security.core.handler.AccessDeniedHandlerImpl;
|
||||||
import cd.casic.framework.security.core.handler.AuthenticationEntryPointImpl;
|
import cd.casic.framework.security.core.handler.AuthenticationEntryPointImpl;
|
||||||
import cd.casic.framework.security.core.service.SecurityFrameworkService;
|
import cd.casic.framework.datapermission.handler.GlobalExceptionHandler;
|
||||||
import cd.casic.framework.security.core.service.SecurityFrameworkServiceImpl;
|
|
||||||
import cd.casic.framework.web.core.handler.GlobalExceptionHandler;
|
|
||||||
import cd.casic.module.system.api.oauth2.OAuth2TokenApi;
|
|
||||||
import cd.casic.module.system.api.permission.PermissionApi;
|
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import org.springframework.beans.factory.config.MethodInvokingFactoryBean;
|
import org.springframework.beans.factory.config.MethodInvokingFactoryBean;
|
||||||
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
||||||
@ -68,12 +70,16 @@ public class OpsSecurityAutoConfiguration {
|
|||||||
/**
|
/**
|
||||||
* Token 认证过滤器 Bean
|
* Token 认证过滤器 Bean
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
public TokenAuthenticationFilter authenticationTokenFilter(GlobalExceptionHandler globalExceptionHandler,
|
public TokenAuthenticationFilter authenticationTokenFilter(GlobalExceptionHandler globalExceptionHandler,
|
||||||
OAuth2TokenApi oauth2TokenApi) {
|
OAuth2TokenApi oauth2TokenApi) {
|
||||||
return new TokenAuthenticationFilter(securityProperties, globalExceptionHandler, oauth2TokenApi);
|
return new TokenAuthenticationFilter(securityProperties, globalExceptionHandler, oauth2TokenApi);
|
||||||
}
|
}
|
||||||
|
@Bean
|
||||||
|
public OAuth2TokenApi oAuth2TokenApi(){
|
||||||
|
return new OAuth2TokenApiImpl();
|
||||||
|
}
|
||||||
@Bean("ss") // 使用 Spring Security 的缩写,方便使用
|
@Bean("ss") // 使用 Spring Security 的缩写,方便使用
|
||||||
public SecurityFrameworkService securityFrameworkService(PermissionApi permissionApi) {
|
public SecurityFrameworkService securityFrameworkService(PermissionApi permissionApi) {
|
||||||
return new SecurityFrameworkServiceImpl(permissionApi);
|
return new SecurityFrameworkServiceImpl(permissionApi);
|
@ -1,11 +1,12 @@
|
|||||||
package cd.casic.framework.web.config;
|
package cd.casic.framework.datapermission.config;
|
||||||
|
|
||||||
|
import cd.casic.framework.commons.config.WebProperties;
|
||||||
import cd.casic.framework.commons.enums.WebFilterOrderEnum;
|
import cd.casic.framework.commons.enums.WebFilterOrderEnum;
|
||||||
|
import cd.casic.framework.datapermission.handler.GlobalExceptionHandler;
|
||||||
|
import cd.casic.framework.datapermission.handler.GlobalResponseBodyHandler;
|
||||||
import cd.casic.framework.web.core.filter.CacheRequestBodyFilter;
|
import cd.casic.framework.web.core.filter.CacheRequestBodyFilter;
|
||||||
import cd.casic.framework.web.core.filter.DemoFilter;
|
import cd.casic.framework.web.core.filter.DemoFilter;
|
||||||
import cd.casic.framework.web.core.handler.GlobalExceptionHandler;
|
import cd.casic.framework.commons.util.util.WebFrameworkUtils;
|
||||||
import cd.casic.framework.web.core.handler.GlobalResponseBodyHandler;
|
|
||||||
import cd.casic.framework.web.core.util.WebFrameworkUtils;
|
|
||||||
import cd.casic.module.infra.api.logger.ApiErrorLogApi;
|
import cd.casic.module.infra.api.logger.ApiErrorLogApi;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import jakarta.servlet.Filter;
|
import jakarta.servlet.Filter;
|
@ -1,7 +1,9 @@
|
|||||||
package cd.casic.framework.security.config;
|
package cd.casic.framework.datapermission.config;
|
||||||
|
|
||||||
import cd.casic.framework.security.core.filter.TokenAuthenticationFilter;
|
import cd.casic.framework.commons.config.WebProperties;
|
||||||
import cd.casic.framework.web.config.WebProperties;
|
import cd.casic.framework.datapermission.core.filter.TokenAuthenticationFilter;
|
||||||
|
import cd.casic.framework.security.config.AuthorizeRequestsCustomizer;
|
||||||
|
import cd.casic.framework.security.config.SecurityProperties;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import com.google.common.collect.HashMultimap;
|
import com.google.common.collect.HashMultimap;
|
||||||
import com.google.common.collect.Multimap;
|
import com.google.common.collect.Multimap;
|
@ -1,7 +1,8 @@
|
|||||||
package cd.casic.framework.xss.config;
|
package cd.casic.framework.datapermission.config;
|
||||||
|
|
||||||
|
|
||||||
import cd.casic.framework.commons.enums.WebFilterOrderEnum;
|
import cd.casic.framework.commons.enums.WebFilterOrderEnum;
|
||||||
|
import cd.casic.framework.xss.config.XssProperties;
|
||||||
import cd.casic.framework.xss.core.clean.JsoupXssCleaner;
|
import cd.casic.framework.xss.core.clean.JsoupXssCleaner;
|
||||||
import cd.casic.framework.xss.core.clean.XssCleaner;
|
import cd.casic.framework.xss.core.clean.XssCleaner;
|
||||||
import cd.casic.framework.xss.core.filter.XssFilter;
|
import cd.casic.framework.xss.core.filter.XssFilter;
|
||||||
@ -18,7 +19,6 @@ import org.springframework.context.annotation.Bean;
|
|||||||
import org.springframework.util.PathMatcher;
|
import org.springframework.util.PathMatcher;
|
||||||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
||||||
|
|
||||||
import static cd.casic.framework.web.config.OpsWebAutoConfiguration.createFilterBean;
|
|
||||||
|
|
||||||
@AutoConfiguration
|
@AutoConfiguration
|
||||||
@EnableConfigurationProperties(XssProperties.class)
|
@EnableConfigurationProperties(XssProperties.class)
|
||||||
@ -58,7 +58,7 @@ public class OpsXssAutoConfiguration implements WebMvcConfigurer {
|
|||||||
@Bean
|
@Bean
|
||||||
@ConditionalOnBean(XssCleaner.class)
|
@ConditionalOnBean(XssCleaner.class)
|
||||||
public FilterRegistrationBean<XssFilter> xssFilter(XssProperties properties, PathMatcher pathMatcher, XssCleaner xssCleaner) {
|
public FilterRegistrationBean<XssFilter> xssFilter(XssProperties properties, PathMatcher pathMatcher, XssCleaner xssCleaner) {
|
||||||
return createFilterBean(new XssFilter(properties, pathMatcher, xssCleaner), WebFilterOrderEnum.XSS_FILTER);
|
return OpsWebAutoConfiguration.createFilterBean(new XssFilter(properties, pathMatcher, xssCleaner), WebFilterOrderEnum.XSS_FILTER);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -0,0 +1,49 @@
|
|||||||
|
package cd.casic.framework.datapermission.config;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 多租户配置
|
||||||
|
*
|
||||||
|
* @author mianbin modified from yudao
|
||||||
|
*/
|
||||||
|
@ConfigurationProperties(prefix = "ops.tenant")
|
||||||
|
@Data
|
||||||
|
public class TenantProperties {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 租户是否开启
|
||||||
|
*/
|
||||||
|
private static final Boolean ENABLE_DEFAULT = true;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否开启
|
||||||
|
*/
|
||||||
|
private Boolean enable = ENABLE_DEFAULT;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 需要忽略多租户的请求
|
||||||
|
*
|
||||||
|
* 默认情况下,每个请求需要带上 tenant-id 的请求头。但是,部分请求是无需带上的,例如说短信回调、支付回调等 Open API!
|
||||||
|
*/
|
||||||
|
private Set<String> ignoreUrls = Collections.emptySet();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 需要忽略多租户的表
|
||||||
|
*
|
||||||
|
* 即默认所有表都开启多租户的功能,所以记得添加对应的 tenant_id 字段哟
|
||||||
|
*/
|
||||||
|
private Set<String> ignoreTables = Collections.emptySet();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 需要忽略多租户的 Spring Cache 缓存
|
||||||
|
*
|
||||||
|
* 即默认所有缓存都开启多租户的功能,所以记得添加对应的 tenant_id 字段哟
|
||||||
|
*/
|
||||||
|
private Set<String> ignoreCaches = Collections.emptySet();
|
||||||
|
|
||||||
|
}
|
@ -1,7 +1,7 @@
|
|||||||
package cd.casic.module.system.convert.tenant;
|
package cd.casic.framework.datapermission.convert;
|
||||||
|
|
||||||
import cd.casic.module.system.controller.admin.tenant.vo.tenant.TenantSaveReqVO;
|
import cd.casic.framework.security.vo.vo.tenant.TenantSaveReqVO;
|
||||||
import cd.casic.module.system.controller.admin.user.vo.user.UserSaveReqVO;
|
import cd.casic.framework.datapermission.core.vo.UserSaveReqVO;
|
||||||
import org.mapstruct.Mapper;
|
import org.mapstruct.Mapper;
|
||||||
import org.mapstruct.factory.Mappers;
|
import org.mapstruct.factory.Mappers;
|
||||||
|
|
@ -1,18 +1,18 @@
|
|||||||
package cd.casic.module.system.convert.user;
|
package cd.casic.framework.datapermission.convert;
|
||||||
|
|
||||||
import cd.casic.framework.commons.util.collection.CollectionUtils;
|
import cd.casic.framework.commons.util.collection.CollectionUtils;
|
||||||
import cd.casic.framework.commons.util.collection.MapUtils;
|
import cd.casic.framework.commons.util.collection.MapUtils;
|
||||||
import cd.casic.framework.commons.util.object.BeanUtils;
|
import cd.casic.framework.commons.util.object.BeanUtils;
|
||||||
import cd.casic.module.system.controller.admin.dept.vo.dept.DeptSimpleRespVO;
|
import cd.casic.framework.security.vo.dept.DeptSimpleRespVO;
|
||||||
import cd.casic.module.system.controller.admin.dept.vo.post.PostSimpleRespVO;
|
import cd.casic.framework.security.vo.dept.post.PostSimpleRespVO;
|
||||||
import cd.casic.module.system.controller.admin.permission.vo.role.RoleSimpleRespVO;
|
import cd.casic.framework.datapermission.core.vo.role.RoleSimpleRespVO;
|
||||||
import cd.casic.module.system.controller.admin.user.vo.profile.UserProfileRespVO;
|
import cd.casic.framework.datapermission.service.auth.vo.profile.UserProfileRespVO;
|
||||||
import cd.casic.module.system.controller.admin.user.vo.user.UserRespVO;
|
import cd.casic.framework.datapermission.core.vo.UserRespVO;
|
||||||
import cd.casic.module.system.controller.admin.user.vo.user.UserSimpleRespVO;
|
import cd.casic.framework.datapermission.core.vo.UserSimpleRespVO;
|
||||||
import cd.casic.module.system.dal.dataobject.dept.DeptDO;
|
import cd.casic.framework.commons.dataobject.dept.DeptDO;
|
||||||
import cd.casic.module.system.dal.dataobject.dept.PostDO;
|
import cd.casic.framework.commons.dataobject.dept.PostDO;
|
||||||
import cd.casic.module.system.dal.dataobject.permission.RoleDO;
|
import cd.casic.framework.security.dal.permission.RoleDO;
|
||||||
import cd.casic.module.system.dal.dataobject.user.AdminUserDO;
|
import cd.casic.framework.security.dal.user.AdminUserDO;
|
||||||
import org.mapstruct.Mapper;
|
import org.mapstruct.Mapper;
|
||||||
import org.mapstruct.factory.Mappers;
|
import org.mapstruct.factory.Mappers;
|
||||||
|
|
@ -1,10 +1,10 @@
|
|||||||
package cd.casic.module.system.dal.mysql.user;
|
package cd.casic.framework.datapermission.core.dal;
|
||||||
|
|
||||||
import cd.casic.framework.commons.pojo.PageResult;
|
import cd.casic.framework.commons.pojo.PageResult;
|
||||||
|
import cd.casic.framework.datapermission.core.vo.UserPageReqVO;
|
||||||
import cd.casic.framework.mybatis.core.mapper.BaseMapperX;
|
import cd.casic.framework.mybatis.core.mapper.BaseMapperX;
|
||||||
import cd.casic.framework.mybatis.core.query.LambdaQueryWrapperX;
|
import cd.casic.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
import cd.casic.module.system.controller.admin.user.vo.user.UserPageReqVO;
|
import cd.casic.framework.security.dal.user.AdminUserDO;
|
||||||
import cd.casic.module.system.dal.dataobject.user.AdminUserDO;
|
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
@ -1,10 +1,10 @@
|
|||||||
package cd.casic.module.system.dal.mysql.logger;
|
package cd.casic.framework.datapermission.core.dal;
|
||||||
|
|
||||||
import cd.casic.framework.commons.pojo.PageResult;
|
import cd.casic.framework.commons.pojo.PageResult;
|
||||||
import cd.casic.framework.mybatis.core.mapper.BaseMapperX;
|
import cd.casic.framework.mybatis.core.mapper.BaseMapperX;
|
||||||
import cd.casic.framework.mybatis.core.query.LambdaQueryWrapperX;
|
import cd.casic.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
import cd.casic.module.system.controller.admin.logger.vo.loginlog.LoginLogPageReqVO;
|
import cd.casic.framework.security.vo.loginlog.LoginLogPageReqVO;
|
||||||
import cd.casic.module.system.dal.dataobject.logger.LoginLogDO;
|
import cd.casic.framework.security.vo.logger.LoginLogDO;
|
||||||
import cd.casic.module.system.enums.logger.LoginResultEnum;
|
import cd.casic.module.system.enums.logger.LoginResultEnum;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
@ -1,9 +1,10 @@
|
|||||||
package cd.casic.module.system.dal.mysql.permission;
|
package cd.casic.framework.datapermission.core.dal;
|
||||||
|
|
||||||
|
import cd.casic.framework.datapermission.core.dal.dataobject.MenuDO;
|
||||||
|
import cd.casic.framework.datapermission.service.permission.menu.MenuListReqVO;
|
||||||
|
|
||||||
import cd.casic.framework.mybatis.core.mapper.BaseMapperX;
|
import cd.casic.framework.mybatis.core.mapper.BaseMapperX;
|
||||||
import cd.casic.framework.mybatis.core.query.LambdaQueryWrapperX;
|
import cd.casic.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
import cd.casic.module.system.controller.admin.permission.vo.menu.MenuListReqVO;
|
|
||||||
import cd.casic.module.system.dal.dataobject.permission.MenuDO;
|
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
@ -1,11 +1,11 @@
|
|||||||
package cd.casic.module.system.dal.mysql.permission;
|
package cd.casic.framework.datapermission.core.dal;
|
||||||
|
|
||||||
import cd.casic.framework.commons.pojo.PageResult;
|
import cd.casic.framework.commons.pojo.PageResult;
|
||||||
import cd.casic.framework.mybatis.core.dataobject.BaseDO;
|
import cd.casic.framework.commons.dataobject.BaseDO;
|
||||||
|
import cd.casic.framework.datapermission.core.vo.RolePageReqVO;
|
||||||
import cd.casic.framework.mybatis.core.mapper.BaseMapperX;
|
import cd.casic.framework.mybatis.core.mapper.BaseMapperX;
|
||||||
import cd.casic.framework.mybatis.core.query.LambdaQueryWrapperX;
|
import cd.casic.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
import cd.casic.module.system.controller.admin.permission.vo.role.RolePageReqVO;
|
import cd.casic.framework.security.dal.permission.RoleDO;
|
||||||
import cd.casic.module.system.dal.dataobject.permission.RoleDO;
|
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.springframework.lang.Nullable;
|
import org.springframework.lang.Nullable;
|
||||||
|
|
@ -1,10 +1,10 @@
|
|||||||
package cd.casic.module.system.dal.mysql.tenant;
|
package cd.casic.framework.datapermission.core.dal;
|
||||||
|
|
||||||
import cd.casic.framework.commons.pojo.PageResult;
|
import cd.casic.framework.commons.pojo.PageResult;
|
||||||
import cd.casic.framework.mybatis.core.mapper.BaseMapperX;
|
import cd.casic.framework.mybatis.core.mapper.BaseMapperX;
|
||||||
import cd.casic.framework.mybatis.core.query.LambdaQueryWrapperX;
|
import cd.casic.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
import cd.casic.module.system.controller.admin.tenant.vo.tenant.TenantPageReqVO;
|
import cd.casic.framework.security.vo.vo.tenant.TenantPageReqVO;
|
||||||
import cd.casic.module.system.dal.dataobject.tenant.TenantDO;
|
import cd.casic.framework.security.dal.tenant.TenantDO;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
@ -1,10 +1,11 @@
|
|||||||
package cd.casic.module.system.dal.mysql.tenant;
|
package cd.casic.framework.datapermission.core.dal;
|
||||||
|
|
||||||
import cd.casic.framework.commons.pojo.PageResult;
|
import cd.casic.framework.commons.pojo.PageResult;
|
||||||
|
import cd.casic.framework.datapermission.core.vo.packages.TenantPackagePageReqVO;
|
||||||
import cd.casic.framework.mybatis.core.mapper.BaseMapperX;
|
import cd.casic.framework.mybatis.core.mapper.BaseMapperX;
|
||||||
import cd.casic.framework.mybatis.core.query.LambdaQueryWrapperX;
|
import cd.casic.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
import cd.casic.module.system.controller.admin.tenant.vo.packages.TenantPackagePageReqVO;
|
|
||||||
import cd.casic.module.system.dal.dataobject.tenant.TenantPackageDO;
|
import cd.casic.framework.security.dal.tenant.TenantPackageDO;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
@ -1,7 +1,7 @@
|
|||||||
package cd.casic.module.system.dal.dataobject.permission;
|
package cd.casic.framework.datapermission.core.dal.dataobject;
|
||||||
|
|
||||||
import cd.casic.framework.commons.enums.CommonStatusEnum;
|
import cd.casic.framework.commons.enums.CommonStatusEnum;
|
||||||
import cd.casic.framework.mybatis.core.dataobject.BaseDO;
|
import cd.casic.framework.commons.dataobject.BaseDO;
|
||||||
import cd.casic.module.system.enums.permission.MenuTypeEnum;
|
import cd.casic.module.system.enums.permission.MenuTypeEnum;
|
||||||
import com.baomidou.mybatisplus.annotation.KeySequence;
|
import com.baomidou.mybatisplus.annotation.KeySequence;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
@ -1,14 +1,14 @@
|
|||||||
package cd.casic.framework.security.core.filter;
|
package cd.casic.framework.datapermission.core.filter;
|
||||||
|
|
||||||
import cd.casic.framework.commons.exception.ServiceException;
|
import cd.casic.framework.commons.exception.ServiceException;
|
||||||
import cd.casic.framework.commons.pojo.CommonResult;
|
import cd.casic.framework.commons.pojo.CommonResult;
|
||||||
import cd.casic.framework.commons.util.servlet.ServletUtils;
|
import cd.casic.framework.commons.util.servlet.ServletUtils;
|
||||||
|
import cd.casic.framework.datapermission.service.user.OAuth2TokenApi;
|
||||||
import cd.casic.framework.security.config.SecurityProperties;
|
import cd.casic.framework.security.config.SecurityProperties;
|
||||||
import cd.casic.framework.security.core.util.SecurityFrameworkUtils;
|
import cd.casic.framework.security.core.util.SecurityFrameworkUtils;
|
||||||
import cd.casic.framework.security.core.LoginUser;
|
import cd.casic.framework.security.core.LoginUser;
|
||||||
import cd.casic.framework.web.core.handler.GlobalExceptionHandler;
|
import cd.casic.framework.datapermission.handler.GlobalExceptionHandler;
|
||||||
import cd.casic.framework.web.core.util.WebFrameworkUtils;
|
import cd.casic.framework.commons.util.util.WebFrameworkUtils;
|
||||||
import cd.casic.module.system.api.oauth2.OAuth2TokenApi;
|
|
||||||
import cd.casic.module.system.api.oauth2.dto.OAuth2AccessTokenCheckRespDTO;
|
import cd.casic.module.system.api.oauth2.dto.OAuth2AccessTokenCheckRespDTO;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
@ -4,11 +4,11 @@ import cd.casic.framework.commons.enums.UserTypeEnum;
|
|||||||
import cd.casic.framework.commons.util.collection.CollectionUtils;
|
import cd.casic.framework.commons.util.collection.CollectionUtils;
|
||||||
import cd.casic.framework.commons.util.json.JsonUtils;
|
import cd.casic.framework.commons.util.json.JsonUtils;
|
||||||
import cd.casic.framework.datapermission.core.rule.DataPermissionRule;
|
import cd.casic.framework.datapermission.core.rule.DataPermissionRule;
|
||||||
import cd.casic.framework.mybatis.core.dataobject.BaseDO;
|
import cd.casic.framework.commons.dataobject.BaseDO;
|
||||||
|
import cd.casic.framework.datapermission.service.PermissionApi;
|
||||||
import cd.casic.framework.mybatis.core.util.MyBatisUtils;
|
import cd.casic.framework.mybatis.core.util.MyBatisUtils;
|
||||||
import cd.casic.framework.security.core.LoginUser;
|
import cd.casic.framework.security.core.LoginUser;
|
||||||
import cd.casic.framework.security.core.util.SecurityFrameworkUtils;
|
import cd.casic.framework.security.core.util.SecurityFrameworkUtils;
|
||||||
import cd.casic.module.system.api.permission.PermissionApi;
|
|
||||||
import cd.casic.module.system.api.permission.dto.DeptDataPermissionRespDTO;
|
import cd.casic.module.system.api.permission.dto.DeptDataPermissionRespDTO;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.module.system.controller.admin.permission.vo.role;
|
package cd.casic.framework.datapermission.core.vo;
|
||||||
|
|
||||||
import cd.casic.framework.commons.pojo.PageParam;
|
import cd.casic.framework.commons.pojo.PageParam;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
@ -1,8 +1,10 @@
|
|||||||
package cd.casic.module.system.controller.admin.user.vo.user;
|
package cd.casic.framework.datapermission.core.vo;
|
||||||
|
|
||||||
|
|
||||||
import cd.casic.framework.excel.excel.core.annotations.DictFormat;
|
import cd.casic.framework.excel.excel.core.annotations.DictFormat;
|
||||||
import cd.casic.framework.excel.excel.core.convert.DictConvert;
|
import cd.casic.framework.excel.excel.core.convert.DictConvert;
|
||||||
import cd.casic.module.system.enums.DictTypeConstants;
|
import cd.casic.module.system.enums.DictTypeConstants;
|
||||||
|
|
||||||
import com.alibaba.excel.annotation.ExcelProperty;
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.module.system.controller.admin.user.vo.user;
|
package cd.casic.framework.datapermission.core.vo;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.module.system.controller.admin.user.vo.user;
|
package cd.casic.framework.datapermission.core.vo;
|
||||||
|
|
||||||
import cd.casic.framework.commons.pojo.PageParam;
|
import cd.casic.framework.commons.pojo.PageParam;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.module.system.controller.admin.user.vo.user;
|
package cd.casic.framework.datapermission.core.vo;
|
||||||
|
|
||||||
import cd.casic.framework.excel.excel.core.annotations.DictFormat;
|
import cd.casic.framework.excel.excel.core.annotations.DictFormat;
|
||||||
import cd.casic.framework.excel.excel.core.convert.DictConvert;
|
import cd.casic.framework.excel.excel.core.convert.DictConvert;
|
@ -1,10 +1,11 @@
|
|||||||
package cd.casic.module.system.controller.admin.user.vo.user;
|
package cd.casic.framework.datapermission.core.vo;
|
||||||
|
|
||||||
|
import cd.casic.framework.datapermission.operatelog.core.DeptParseFunction;
|
||||||
|
import cd.casic.framework.datapermission.operatelog.core.PostParseFunction;
|
||||||
|
import cd.casic.framework.datapermission.operatelog.core.SexParseFunction;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cd.casic.framework.commons.validation.Mobile;
|
import cd.casic.framework.commons.validation.Mobile;
|
||||||
import cd.casic.module.system.framework.operatelog.core.DeptParseFunction;
|
|
||||||
import cd.casic.module.system.framework.operatelog.core.PostParseFunction;
|
|
||||||
import cd.casic.module.system.framework.operatelog.core.SexParseFunction;
|
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
import com.mzt.logapi.starter.annotation.DiffLogField;
|
import com.mzt.logapi.starter.annotation.DiffLogField;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.module.system.controller.admin.user.vo.user;
|
package cd.casic.framework.datapermission.core.vo;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.module.system.controller.admin.user.vo.user;
|
package cd.casic.framework.datapermission.core.vo;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.module.system.controller.admin.user.vo.user;
|
package cd.casic.framework.datapermission.core.vo;
|
||||||
|
|
||||||
import cd.casic.framework.commons.enums.CommonStatusEnum;
|
import cd.casic.framework.commons.enums.CommonStatusEnum;
|
||||||
import cd.casic.framework.commons.validation.InEnum;
|
import cd.casic.framework.commons.validation.InEnum;
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.module.system.controller.admin.tenant.vo.packages;
|
package cd.casic.framework.datapermission.core.vo.packages;
|
||||||
|
|
||||||
import cd.casic.framework.commons.pojo.PageParam;
|
import cd.casic.framework.commons.pojo.PageParam;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.module.system.controller.admin.tenant.vo.packages;
|
package cd.casic.framework.datapermission.core.vo.packages;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.module.system.controller.admin.tenant.vo.packages;
|
package cd.casic.framework.datapermission.core.vo.packages;
|
||||||
|
|
||||||
import cd.casic.framework.commons.enums.CommonStatusEnum;
|
import cd.casic.framework.commons.enums.CommonStatusEnum;
|
||||||
import cd.casic.framework.commons.validation.InEnum;
|
import cd.casic.framework.commons.validation.InEnum;
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.module.system.controller.admin.tenant.vo.packages;
|
package cd.casic.framework.datapermission.core.vo.packages;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.module.system.controller.admin.permission.vo.role;
|
package cd.casic.framework.datapermission.core.vo.role;
|
||||||
|
|
||||||
import cd.casic.framework.excel.excel.core.annotations.DictFormat;
|
import cd.casic.framework.excel.excel.core.annotations.DictFormat;
|
||||||
import cd.casic.framework.excel.excel.core.convert.DictConvert;
|
import cd.casic.framework.excel.excel.core.convert.DictConvert;
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.module.system.controller.admin.permission.vo.role;
|
package cd.casic.framework.datapermission.core.vo.role;
|
||||||
|
|
||||||
import cd.casic.framework.commons.enums.CommonStatusEnum;
|
import cd.casic.framework.commons.enums.CommonStatusEnum;
|
||||||
import cd.casic.framework.commons.validation.InEnum;
|
import cd.casic.framework.commons.validation.InEnum;
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.module.system.controller.admin.permission.vo.role;
|
package cd.casic.framework.datapermission.core.vo.role;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.framework.web.core.handler;
|
package cd.casic.framework.datapermission.handler;
|
||||||
|
|
||||||
import cd.casic.module.infra.api.logger.ApiErrorLogApi;
|
import cd.casic.module.infra.api.logger.ApiErrorLogApi;
|
||||||
import cd.casic.module.infra.api.logger.dto.ApiErrorLogCreateReqDTO;
|
import cd.casic.module.infra.api.logger.dto.ApiErrorLogCreateReqDTO;
|
||||||
@ -14,7 +14,7 @@ import cd.casic.framework.commons.util.collection.SetUtils;
|
|||||||
import cd.casic.framework.commons.util.json.JsonUtils;
|
import cd.casic.framework.commons.util.json.JsonUtils;
|
||||||
import cd.casic.framework.commons.util.monitor.TracerUtils;
|
import cd.casic.framework.commons.util.monitor.TracerUtils;
|
||||||
import cd.casic.framework.commons.util.servlet.ServletUtils;
|
import cd.casic.framework.commons.util.servlet.ServletUtils;
|
||||||
import cd.casic.framework.web.core.util.WebFrameworkUtils;
|
import cd.casic.framework.commons.util.util.WebFrameworkUtils;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.exc.InvalidFormatException;
|
import com.fasterxml.jackson.databind.exc.InvalidFormatException;
|
||||||
import jakarta.servlet.http.HttpServletRequest;
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
@ -25,6 +25,7 @@ import lombok.AllArgsConstructor;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.http.converter.HttpMessageNotReadableException;
|
import org.springframework.http.converter.HttpMessageNotReadableException;
|
||||||
import org.springframework.security.access.AccessDeniedException;
|
import org.springframework.security.access.AccessDeniedException;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.util.Assert;
|
import org.springframework.util.Assert;
|
||||||
import org.springframework.validation.BindException;
|
import org.springframework.validation.BindException;
|
||||||
import org.springframework.validation.FieldError;
|
import org.springframework.validation.FieldError;
|
||||||
@ -51,6 +52,7 @@ import static cd.casic.framework.commons.exception.enums.GlobalErrorCodeConstant
|
|||||||
@RestControllerAdvice
|
@RestControllerAdvice
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@Slf4j
|
@Slf4j
|
||||||
|
@Component
|
||||||
public class GlobalExceptionHandler {
|
public class GlobalExceptionHandler {
|
||||||
|
|
||||||
/**
|
/**
|
@ -1,7 +1,7 @@
|
|||||||
package cd.casic.framework.web.core.handler;
|
package cd.casic.framework.datapermission.handler;
|
||||||
|
|
||||||
import cd.casic.framework.commons.pojo.CommonResult;
|
import cd.casic.framework.commons.pojo.CommonResult;
|
||||||
import cd.casic.framework.web.core.util.WebFrameworkUtils;
|
import cd.casic.framework.commons.util.util.WebFrameworkUtils;
|
||||||
import org.springframework.core.MethodParameter;
|
import org.springframework.core.MethodParameter;
|
||||||
import org.springframework.http.MediaType;
|
import org.springframework.http.MediaType;
|
||||||
import org.springframework.http.server.ServerHttpRequest;
|
import org.springframework.http.server.ServerHttpRequest;
|
@ -1,9 +1,9 @@
|
|||||||
package cd.casic.module.system.framework.operatelog.core;
|
package cd.casic.framework.datapermission.operatelog.core;
|
||||||
|
|
||||||
|
import cd.casic.framework.datapermission.service.user.AdminUserService;
|
||||||
import cn.hutool.core.convert.Convert;
|
import cn.hutool.core.convert.Convert;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cd.casic.module.system.dal.dataobject.user.AdminUserDO;
|
import cd.casic.framework.security.dal.user.AdminUserDO;
|
||||||
import cd.casic.module.system.service.user.AdminUserService;
|
|
||||||
import com.mzt.logapi.service.IParseFunction;
|
import com.mzt.logapi.service.IParseFunction;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
@ -1,6 +1,7 @@
|
|||||||
package cd.casic.module.system.framework.operatelog.core;
|
package cd.casic.framework.datapermission.operatelog.core;
|
||||||
|
|
||||||
import cd.casic.framework.redis.core.utils.AreaUtils;
|
|
||||||
|
import cd.casic.framework.commons.util.redis.core.utils.AreaUtils;
|
||||||
import cn.hutool.core.convert.Convert;
|
import cn.hutool.core.convert.Convert;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.mzt.logapi.service.IParseFunction;
|
import com.mzt.logapi.service.IParseFunction;
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.module.system.framework.operatelog.core;
|
package cd.casic.framework.datapermission.operatelog.core;
|
||||||
|
|
||||||
import cd.casic.framework.excel.dict.core.DictFrameworkUtils;
|
import cd.casic.framework.excel.dict.core.DictFrameworkUtils;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
@ -1,9 +1,9 @@
|
|||||||
package cd.casic.module.system.framework.operatelog.core;
|
package cd.casic.framework.datapermission.operatelog.core;
|
||||||
|
|
||||||
|
import cd.casic.framework.commons.dataobject.dept.DeptDO;
|
||||||
|
import cd.casic.framework.datapermission.service.dept.DeptService;
|
||||||
import cn.hutool.core.convert.Convert;
|
import cn.hutool.core.convert.Convert;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cd.casic.module.system.dal.dataobject.dept.DeptDO;
|
|
||||||
import cd.casic.module.system.service.dept.DeptService;
|
|
||||||
import com.mzt.logapi.service.IParseFunction;
|
import com.mzt.logapi.service.IParseFunction;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
@ -1,9 +1,10 @@
|
|||||||
package cd.casic.module.system.framework.operatelog.core;
|
package cd.casic.framework.datapermission.operatelog.core;
|
||||||
|
|
||||||
|
import cd.casic.framework.commons.dataobject.dept.PostDO;
|
||||||
|
import cd.casic.framework.datapermission.service.dept.PostService;
|
||||||
|
|
||||||
import cn.hutool.core.convert.Convert;
|
import cn.hutool.core.convert.Convert;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cd.casic.module.system.dal.dataobject.dept.PostDO;
|
|
||||||
import cd.casic.module.system.service.dept.PostService;
|
|
||||||
import com.mzt.logapi.service.IParseFunction;
|
import com.mzt.logapi.service.IParseFunction;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.module.system.framework.operatelog.core;
|
package cd.casic.framework.datapermission.operatelog.core;
|
||||||
|
|
||||||
import cd.casic.framework.excel.dict.core.DictFrameworkUtils;
|
import cd.casic.framework.excel.dict.core.DictFrameworkUtils;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
@ -0,0 +1,4 @@
|
|||||||
|
/**
|
||||||
|
* 占位文件,避免文件夹缩进
|
||||||
|
*/
|
||||||
|
package cd.casic.framework.datapermission.operatelog;
|
@ -1,10 +1,11 @@
|
|||||||
package cd.casic.module.system.service.permission;
|
package cd.casic.framework.datapermission.service;
|
||||||
|
|
||||||
|
|
||||||
import cd.casic.module.system.controller.admin.permission.vo.menu.MenuListReqVO;
|
|
||||||
import cd.casic.module.system.controller.admin.permission.vo.menu.MenuSaveVO;
|
import cd.casic.framework.datapermission.core.dal.dataobject.MenuDO;
|
||||||
import cd.casic.module.system.controller.admin.permission.vo.menu.MenuTreeVO;
|
import cd.casic.framework.datapermission.service.permission.menu.MenuListReqVO;
|
||||||
import cd.casic.module.system.dal.dataobject.permission.MenuDO;
|
import cd.casic.framework.datapermission.service.permission.menu.MenuSaveVO;
|
||||||
|
import cd.casic.framework.datapermission.service.permission.menu.MenuTreeVO;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
@ -1,17 +1,18 @@
|
|||||||
package cd.casic.module.system.service.permission;
|
package cd.casic.framework.datapermission.service;
|
||||||
|
|
||||||
|
import cd.casic.framework.commons.util.collection.CollectionUtils;
|
||||||
|
import cd.casic.framework.datapermission.core.dal.MenuMapper;
|
||||||
|
import cd.casic.framework.datapermission.service.permission.menu.MenuListReqVO;
|
||||||
|
import cd.casic.framework.datapermission.service.permission.menu.MenuSaveVO;
|
||||||
|
import cd.casic.framework.datapermission.service.permission.menu.MenuTreeVO;
|
||||||
|
|
||||||
|
|
||||||
import cd.casic.module.system.controller.admin.permission.vo.menu.MenuTreeVO;
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.util.ObjUtil;
|
import cn.hutool.core.util.ObjUtil;
|
||||||
import cd.casic.framework.commons.enums.CommonStatusEnum;
|
import cd.casic.framework.commons.enums.CommonStatusEnum;
|
||||||
import cd.casic.framework.commons.util.object.BeanUtils;
|
import cd.casic.framework.commons.util.object.BeanUtils;
|
||||||
import cd.casic.module.system.controller.admin.permission.vo.menu.MenuListReqVO;
|
import cd.casic.framework.security.redis.RedisKeyConstants;
|
||||||
import cd.casic.module.system.controller.admin.permission.vo.menu.MenuSaveVO;
|
|
||||||
import cd.casic.module.system.dal.dataobject.permission.MenuDO;
|
|
||||||
import cd.casic.module.system.dal.mysql.permission.MenuMapper;
|
|
||||||
import cd.casic.module.system.dal.redis.RedisKeyConstants;
|
|
||||||
import cd.casic.module.system.enums.permission.MenuTypeEnum;
|
import cd.casic.module.system.enums.permission.MenuTypeEnum;
|
||||||
import cd.casic.module.system.service.tenant.TenantService;
|
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
@ -28,9 +29,8 @@ import java.util.stream.Collectors;
|
|||||||
import static cd.casic.framework.commons.exception.util.ServiceExceptionUtil.exception;
|
import static cd.casic.framework.commons.exception.util.ServiceExceptionUtil.exception;
|
||||||
import static cd.casic.framework.commons.util.collection.CollectionUtils.convertList;
|
import static cd.casic.framework.commons.util.collection.CollectionUtils.convertList;
|
||||||
import static cd.casic.framework.commons.util.collection.CollectionUtils.convertMap;
|
import static cd.casic.framework.commons.util.collection.CollectionUtils.convertMap;
|
||||||
import static cd.casic.module.system.dal.dataobject.permission.MenuDO.ID_ROOT;
|
|
||||||
import static cd.casic.module.system.enums.ErrorCodeConstants.*;
|
import static cd.casic.module.system.enums.ErrorCodeConstants.*;
|
||||||
|
import cd.casic.framework.datapermission.core.dal.dataobject.MenuDO;
|
||||||
/**
|
/**
|
||||||
* 菜单 Service 实现
|
* 菜单 Service 实现
|
||||||
*
|
*
|
||||||
@ -150,7 +150,7 @@ public class MenuServiceImpl implements MenuService {
|
|||||||
|
|
||||||
// 2. 遍历到 parentId 为根节点,则无需判断
|
// 2. 遍历到 parentId 为根节点,则无需判断
|
||||||
Long parentId = node.getParentId();
|
Long parentId = node.getParentId();
|
||||||
if (ObjUtil.equal(parentId, ID_ROOT)) {
|
if (ObjUtil.equal(parentId, MenuDO.ID_ROOT)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -172,7 +172,7 @@ public class MenuServiceImpl implements MenuService {
|
|||||||
@Cacheable(value = RedisKeyConstants.PERMISSION_MENU_ID_LIST, key = "#permission")
|
@Cacheable(value = RedisKeyConstants.PERMISSION_MENU_ID_LIST, key = "#permission")
|
||||||
public List<Long> getMenuIdListByPermissionFromCache(String permission) {
|
public List<Long> getMenuIdListByPermissionFromCache(String permission) {
|
||||||
List<MenuDO> menus = menuMapper.selectListByPermission(permission);
|
List<MenuDO> menus = menuMapper.selectListByPermission(permission);
|
||||||
return convertList(menus, MenuDO::getId);
|
return CollectionUtils.convertList(menus, MenuDO::getId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -200,8 +200,8 @@ public class MenuServiceImpl implements MenuService {
|
|||||||
* @param childId 当前菜单编号
|
* @param childId 当前菜单编号
|
||||||
*/
|
*/
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
void validateParentMenu(Long parentId, Long childId) {
|
public void validateParentMenu(Long parentId, Long childId) {
|
||||||
if (parentId == null || ID_ROOT.equals(parentId)) {
|
if (parentId == null || MenuDO.ID_ROOT.equals(parentId)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// 不能设置自己为父菜单
|
// 不能设置自己为父菜单
|
||||||
@ -230,7 +230,7 @@ public class MenuServiceImpl implements MenuService {
|
|||||||
* @param id 菜单编号
|
* @param id 菜单编号
|
||||||
*/
|
*/
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
void validateMenu(Long parentId, String name, Long id) {
|
public void validateMenu(Long parentId, String name, Long id) {
|
||||||
MenuDO menu = menuMapper.selectByParentIdAndName(parentId, name);
|
MenuDO menu = menuMapper.selectByParentIdAndName(parentId, name);
|
||||||
if (menu == null) {
|
if (menu == null) {
|
||||||
return;
|
return;
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.module.system.api.permission;
|
package cd.casic.framework.datapermission.service;
|
||||||
|
|
||||||
|
|
||||||
import cd.casic.module.system.api.permission.dto.DeptDataPermissionRespDTO;
|
import cd.casic.module.system.api.permission.dto.DeptDataPermissionRespDTO;
|
@ -1,8 +1,7 @@
|
|||||||
package cd.casic.module.system.api.permission;
|
package cd.casic.framework.datapermission.service;
|
||||||
|
|
||||||
import cd.casic.module.system.api.permission.dto.DeptDataPermissionRespDTO;
|
import cd.casic.module.system.api.permission.dto.DeptDataPermissionRespDTO;
|
||||||
import cd.casic.module.system.service.permission.PermissionService;
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
|
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
@ -13,7 +12,7 @@ import java.util.Set;
|
|||||||
*
|
*
|
||||||
* @author mianbin modified from yudao
|
* @author mianbin modified from yudao
|
||||||
*/
|
*/
|
||||||
@Service
|
@Component
|
||||||
public class PermissionApiImpl implements PermissionApi {
|
public class PermissionApiImpl implements PermissionApi {
|
||||||
|
|
||||||
@Resource
|
@Resource
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.module.system.service.permission;
|
package cd.casic.framework.datapermission.service;
|
||||||
|
|
||||||
|
|
||||||
import cd.casic.module.system.api.permission.dto.DeptDataPermissionRespDTO;
|
import cd.casic.module.system.api.permission.dto.DeptDataPermissionRespDTO;
|
@ -1,5 +1,10 @@
|
|||||||
package cd.casic.module.system.service.permission;
|
package cd.casic.framework.datapermission.service;
|
||||||
|
|
||||||
|
import cd.casic.framework.datapermission.core.dal.dataobject.MenuDO;
|
||||||
|
import cd.casic.framework.datapermission.service.dept.DeptService;
|
||||||
|
|
||||||
|
|
||||||
|
import cd.casic.framework.security.dal.permission.*;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.util.ArrayUtil;
|
import cn.hutool.core.util.ArrayUtil;
|
||||||
@ -8,16 +13,9 @@ import cd.casic.framework.commons.enums.CommonStatusEnum;
|
|||||||
import cd.casic.framework.commons.util.collection.CollectionUtils;
|
import cd.casic.framework.commons.util.collection.CollectionUtils;
|
||||||
import cd.casic.framework.datapermission.core.annotation.DataPermission;
|
import cd.casic.framework.datapermission.core.annotation.DataPermission;
|
||||||
import cd.casic.module.system.api.permission.dto.DeptDataPermissionRespDTO;
|
import cd.casic.module.system.api.permission.dto.DeptDataPermissionRespDTO;
|
||||||
import cd.casic.module.system.dal.dataobject.permission.MenuDO;
|
import cd.casic.framework.security.redis.RedisKeyConstants;
|
||||||
import cd.casic.module.system.dal.dataobject.permission.RoleDO;
|
|
||||||
import cd.casic.module.system.dal.dataobject.permission.RoleMenuDO;
|
|
||||||
import cd.casic.module.system.dal.dataobject.permission.UserRoleDO;
|
|
||||||
import cd.casic.module.system.dal.mysql.permission.RoleMenuMapper;
|
|
||||||
import cd.casic.module.system.dal.mysql.permission.UserRoleMapper;
|
|
||||||
import cd.casic.module.system.dal.redis.RedisKeyConstants;
|
|
||||||
import cd.casic.module.system.enums.permission.DataScopeEnum;
|
import cd.casic.module.system.enums.permission.DataScopeEnum;
|
||||||
import cd.casic.module.system.service.dept.DeptService;
|
import cd.casic.framework.datapermission.service.user.AdminUserService;
|
||||||
import cd.casic.module.system.service.user.AdminUserService;
|
|
||||||
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
import com.google.common.base.Suppliers;
|
import com.google.common.base.Suppliers;
|
||||||
@ -201,7 +199,6 @@ public class PermissionServiceImpl implements PermissionService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ========== 用户-角色的相关方法 ==========
|
// ========== 用户-角色的相关方法 ==========
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@DSTransactional // 多数据源,使用 @DSTransactional 保证本地事务,以及数据源的切换
|
@DSTransactional // 多数据源,使用 @DSTransactional 保证本地事务,以及数据源的切换
|
||||||
@CacheEvict(value = RedisKeyConstants.USER_ROLE_ID_LIST, key = "#userId")
|
@CacheEvict(value = RedisKeyConstants.USER_ROLE_ID_LIST, key = "#userId")
|
||||||
@ -256,7 +253,7 @@ public class PermissionServiceImpl implements PermissionService {
|
|||||||
* @return 用户拥有的角色
|
* @return 用户拥有的角色
|
||||||
*/
|
*/
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
List<RoleDO> getEnableUserRoleListByUserIdFromCache(Long userId) {
|
public List<RoleDO> getEnableUserRoleListByUserIdFromCache(Long userId) {
|
||||||
// 获得用户拥有的角色编号
|
// 获得用户拥有的角色编号
|
||||||
Set<Long> roleIds = getSelf().getUserRoleIdListByUserIdFromCache(userId);
|
Set<Long> roleIds = getSelf().getUserRoleIdListByUserIdFromCache(userId);
|
||||||
// 获得角色数组,并移除被禁用的
|
// 获得角色数组,并移除被禁用的
|
@ -1,10 +1,10 @@
|
|||||||
package cd.casic.module.system.service.permission;
|
package cd.casic.framework.datapermission.service;
|
||||||
|
|
||||||
|
|
||||||
import cd.casic.framework.commons.pojo.PageResult;
|
import cd.casic.framework.commons.pojo.PageResult;
|
||||||
import cd.casic.module.system.controller.admin.permission.vo.role.RolePageReqVO;
|
import cd.casic.framework.datapermission.core.vo.RolePageReqVO;
|
||||||
import cd.casic.module.system.controller.admin.permission.vo.role.RoleSaveReqVO;
|
import cd.casic.framework.datapermission.core.vo.role.RoleSaveReqVO;
|
||||||
import cd.casic.module.system.dal.dataobject.permission.RoleDO;
|
import cd.casic.framework.security.dal.permission.RoleDO;
|
||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
@ -1,5 +1,10 @@
|
|||||||
package cd.casic.module.system.service.permission;
|
package cd.casic.framework.datapermission.service;
|
||||||
|
|
||||||
|
import cd.casic.framework.commons.exception.util.ServiceExceptionUtil;
|
||||||
|
import cd.casic.framework.datapermission.core.vo.RolePageReqVO;
|
||||||
|
import cd.casic.framework.datapermission.core.vo.role.RoleSaveReqVO;
|
||||||
|
import cd.casic.framework.security.dal.permission.RoleDO;
|
||||||
|
import cd.casic.framework.datapermission.core.dal.RoleMapper;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.util.ObjUtil;
|
import cn.hutool.core.util.ObjUtil;
|
||||||
@ -9,11 +14,7 @@ import cd.casic.framework.commons.enums.CommonStatusEnum;
|
|||||||
import cd.casic.framework.commons.pojo.PageResult;
|
import cd.casic.framework.commons.pojo.PageResult;
|
||||||
import cd.casic.framework.commons.util.collection.CollectionUtils;
|
import cd.casic.framework.commons.util.collection.CollectionUtils;
|
||||||
import cd.casic.framework.commons.util.object.BeanUtils;
|
import cd.casic.framework.commons.util.object.BeanUtils;
|
||||||
import cd.casic.module.system.controller.admin.permission.vo.role.RolePageReqVO;
|
import cd.casic.framework.security.redis.RedisKeyConstants;
|
||||||
import cd.casic.module.system.controller.admin.permission.vo.role.RoleSaveReqVO;
|
|
||||||
import cd.casic.module.system.dal.dataobject.permission.RoleDO;
|
|
||||||
import cd.casic.module.system.dal.mysql.permission.RoleMapper;
|
|
||||||
import cd.casic.module.system.dal.redis.RedisKeyConstants;
|
|
||||||
import cd.casic.module.system.enums.permission.DataScopeEnum;
|
import cd.casic.module.system.enums.permission.DataScopeEnum;
|
||||||
import cd.casic.module.system.enums.permission.RoleCodeEnum;
|
import cd.casic.module.system.enums.permission.RoleCodeEnum;
|
||||||
import cd.casic.module.system.enums.permission.RoleTypeEnum;
|
import cd.casic.module.system.enums.permission.RoleTypeEnum;
|
||||||
@ -133,7 +134,7 @@ public class RoleServiceImpl implements RoleService {
|
|||||||
* @param id 角色编号
|
* @param id 角色编号
|
||||||
*/
|
*/
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
void validateRoleDuplicate(String name, String code, Long id) {
|
public void validateRoleDuplicate(String name, String code, Long id) {
|
||||||
// 0. 超级管理员,不允许创建
|
// 0. 超级管理员,不允许创建
|
||||||
if (RoleCodeEnum.isSuperAdmin(code)) {
|
if (RoleCodeEnum.isSuperAdmin(code)) {
|
||||||
throw exception(ROLE_ADMIN_CODE_ERROR, code);
|
throw exception(ROLE_ADMIN_CODE_ERROR, code);
|
||||||
@ -160,7 +161,7 @@ public class RoleServiceImpl implements RoleService {
|
|||||||
* @param id 角色编号
|
* @param id 角色编号
|
||||||
*/
|
*/
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
RoleDO validateRoleForUpdate(Long id) {
|
public RoleDO validateRoleForUpdate(Long id) {
|
||||||
RoleDO role = roleMapper.selectById(id);
|
RoleDO role = roleMapper.selectById(id);
|
||||||
if (role == null) {
|
if (role == null) {
|
||||||
throw exception(ROLE_NOT_EXISTS);
|
throw exception(ROLE_NOT_EXISTS);
|
||||||
@ -245,7 +246,7 @@ public class RoleServiceImpl implements RoleService {
|
|||||||
throw exception(ROLE_NOT_EXISTS);
|
throw exception(ROLE_NOT_EXISTS);
|
||||||
}
|
}
|
||||||
if (!CommonStatusEnum.ENABLE.getStatus().equals(role.getStatus())) {
|
if (!CommonStatusEnum.ENABLE.getStatus().equals(role.getStatus())) {
|
||||||
throw exception(ROLE_IS_DISABLE, role.getName());
|
throw ServiceExceptionUtil.exception(ROLE_IS_DISABLE, role.getName());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
@ -0,0 +1,59 @@
|
|||||||
|
package cd.casic.framework.datapermission.service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Security 框架 Service 接口,定义权限相关的校验操作
|
||||||
|
*
|
||||||
|
* @author mianbin modified from yudao
|
||||||
|
*/
|
||||||
|
public interface SecurityFrameworkService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 判断是否有权限
|
||||||
|
*
|
||||||
|
* @param permission 权限
|
||||||
|
* @return 是否
|
||||||
|
*/
|
||||||
|
boolean hasPermission(String permission);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 判断是否有权限,任一一个即可
|
||||||
|
*
|
||||||
|
* @param permissions 权限
|
||||||
|
* @return 是否
|
||||||
|
*/
|
||||||
|
boolean hasAnyPermissions(String... permissions);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 判断是否有角色
|
||||||
|
*
|
||||||
|
* 注意,角色使用的是 SysRoleDO 的 code 标识
|
||||||
|
*
|
||||||
|
* @param role 角色
|
||||||
|
* @return 是否
|
||||||
|
*/
|
||||||
|
boolean hasRole(String role);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 判断是否有角色,任一一个即可
|
||||||
|
*
|
||||||
|
* @param roles 角色数组
|
||||||
|
* @return 是否
|
||||||
|
*/
|
||||||
|
boolean hasAnyRoles(String... roles);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 判断是否有授权
|
||||||
|
*
|
||||||
|
* @param scope 授权
|
||||||
|
* @return 是否
|
||||||
|
*/
|
||||||
|
boolean hasScope(String scope);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 判断是否有授权范围,任一一个即可
|
||||||
|
*
|
||||||
|
* @param scope 授权范围数组
|
||||||
|
* @return 是否
|
||||||
|
*/
|
||||||
|
boolean hasAnyScopes(String... scope);
|
||||||
|
}
|
@ -1,8 +1,7 @@
|
|||||||
package cd.casic.framework.security.core.service;
|
package cd.casic.framework.datapermission.service;
|
||||||
|
|
||||||
import cd.casic.framework.security.core.LoginUser;
|
import cd.casic.framework.security.core.LoginUser;
|
||||||
import cd.casic.framework.security.core.util.SecurityFrameworkUtils;
|
import cd.casic.framework.security.core.util.SecurityFrameworkUtils;
|
||||||
import cd.casic.module.system.api.permission.PermissionApi;
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
|
|
@ -1,9 +1,9 @@
|
|||||||
package cd.casic.module.system.service.tenant;
|
package cd.casic.framework.datapermission.service;
|
||||||
|
|
||||||
import cd.casic.framework.commons.pojo.PageResult;
|
import cd.casic.framework.commons.pojo.PageResult;
|
||||||
import cd.casic.module.system.controller.admin.tenant.vo.packages.TenantPackagePageReqVO;
|
import cd.casic.framework.datapermission.core.vo.packages.TenantPackagePageReqVO;
|
||||||
import cd.casic.module.system.controller.admin.tenant.vo.packages.TenantPackageSaveReqVO;
|
import cd.casic.framework.datapermission.core.vo.packages.TenantPackageSaveReqVO;
|
||||||
import cd.casic.module.system.dal.dataobject.tenant.TenantPackageDO;
|
import cd.casic.framework.security.dal.tenant.TenantPackageDO;
|
||||||
|
|
||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
import java.util.List;
|
import java.util.List;
|
@ -1,15 +1,16 @@
|
|||||||
package cd.casic.module.system.service.tenant;
|
package cd.casic.framework.datapermission.service;
|
||||||
|
|
||||||
|
import cd.casic.framework.datapermission.core.dal.TenantPackageMapper;
|
||||||
|
import cd.casic.framework.datapermission.core.vo.packages.TenantPackagePageReqVO;
|
||||||
|
import cd.casic.framework.datapermission.core.vo.packages.TenantPackageSaveReqVO;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cd.casic.framework.commons.enums.CommonStatusEnum;
|
import cd.casic.framework.commons.enums.CommonStatusEnum;
|
||||||
import cd.casic.framework.commons.pojo.PageResult;
|
import cd.casic.framework.commons.pojo.PageResult;
|
||||||
import cd.casic.framework.commons.util.object.BeanUtils;
|
import cd.casic.framework.commons.util.object.BeanUtils;
|
||||||
import cd.casic.module.system.controller.admin.tenant.vo.packages.TenantPackagePageReqVO;
|
|
||||||
import cd.casic.module.system.controller.admin.tenant.vo.packages.TenantPackageSaveReqVO;
|
import cd.casic.framework.security.dal.tenant.TenantDO;
|
||||||
import cd.casic.module.system.dal.dataobject.tenant.TenantDO;
|
import cd.casic.framework.security.dal.tenant.TenantPackageDO;
|
||||||
import cd.casic.module.system.dal.dataobject.tenant.TenantPackageDO;
|
|
||||||
import cd.casic.module.system.dal.mysql.tenant.TenantPackageMapper;
|
|
||||||
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
import org.springframework.context.annotation.Lazy;
|
import org.springframework.context.annotation.Lazy;
|
@ -1,12 +1,13 @@
|
|||||||
package cd.casic.module.system.service.tenant;
|
package cd.casic.framework.datapermission.service;
|
||||||
|
|
||||||
import cd.casic.framework.commons.pojo.PageResult;
|
import cd.casic.framework.commons.pojo.PageResult;
|
||||||
import cd.casic.framework.tenant.core.context.TenantContextHolder;
|
import cd.casic.framework.commons.context.TenantContextHolder;
|
||||||
import cd.casic.module.system.controller.admin.tenant.vo.tenant.TenantPageReqVO;
|
|
||||||
import cd.casic.module.system.controller.admin.tenant.vo.tenant.TenantSaveReqVO;
|
import cd.casic.framework.datapermission.service.handler.TenantInfoHandler;
|
||||||
import cd.casic.module.system.dal.dataobject.tenant.TenantDO;
|
import cd.casic.framework.datapermission.service.handler.TenantMenuHandler;
|
||||||
import cd.casic.module.system.service.tenant.handler.TenantInfoHandler;
|
import cd.casic.framework.security.dal.tenant.TenantDO;
|
||||||
import cd.casic.module.system.service.tenant.handler.TenantMenuHandler;
|
import cd.casic.framework.security.vo.vo.tenant.TenantPageReqVO;
|
||||||
|
import cd.casic.framework.security.vo.vo.tenant.TenantSaveReqVO;
|
||||||
|
|
||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
import java.util.List;
|
import java.util.List;
|
@ -1,4 +1,20 @@
|
|||||||
package cd.casic.module.system.service.tenant;
|
package cd.casic.framework.datapermission.service;
|
||||||
|
|
||||||
|
import cd.casic.framework.commons.exception.util.ServiceExceptionUtil;
|
||||||
|
|
||||||
|
import cd.casic.framework.datapermission.config.TenantProperties;
|
||||||
|
import cd.casic.framework.datapermission.convert.TenantConvert;
|
||||||
|
import cd.casic.framework.datapermission.core.dal.TenantMapper;
|
||||||
|
import cd.casic.framework.datapermission.core.dal.dataobject.MenuDO;
|
||||||
|
import cd.casic.framework.datapermission.service.handler.TenantInfoHandler;
|
||||||
|
import cd.casic.framework.datapermission.service.handler.TenantMenuHandler;
|
||||||
|
import cd.casic.framework.datapermission.service.user.AdminUserService;
|
||||||
|
import cd.casic.framework.datapermission.core.vo.role.RoleSaveReqVO;
|
||||||
|
import cd.casic.framework.security.dal.permission.RoleDO;
|
||||||
|
import cd.casic.framework.security.dal.tenant.TenantDO;
|
||||||
|
import cd.casic.framework.security.dal.tenant.TenantPackageDO;
|
||||||
|
import cd.casic.framework.security.vo.vo.tenant.TenantPageReqVO;
|
||||||
|
import cd.casic.framework.security.vo.vo.tenant.TenantSaveReqVO;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.lang.Assert;
|
import cn.hutool.core.lang.Assert;
|
||||||
@ -9,33 +25,16 @@ import cd.casic.framework.commons.pojo.PageResult;
|
|||||||
import cd.casic.framework.commons.util.collection.CollectionUtils;
|
import cd.casic.framework.commons.util.collection.CollectionUtils;
|
||||||
import cd.casic.framework.commons.util.date.DateUtils;
|
import cd.casic.framework.commons.util.date.DateUtils;
|
||||||
import cd.casic.framework.commons.util.object.BeanUtils;
|
import cd.casic.framework.commons.util.object.BeanUtils;
|
||||||
import cd.casic.framework.tenant.config.TenantProperties;
|
import cd.casic.framework.commons.context.TenantContextHolder;
|
||||||
import cd.casic.framework.tenant.core.context.TenantContextHolder;
|
import cd.casic.framework.commons.util.tenant.TenantUtils;
|
||||||
import cd.casic.framework.tenant.core.util.TenantUtils;
|
|
||||||
import cd.casic.module.system.controller.admin.permission.vo.role.RoleSaveReqVO;
|
|
||||||
import cd.casic.module.system.controller.admin.tenant.vo.tenant.TenantPageReqVO;
|
|
||||||
import cd.casic.module.system.controller.admin.tenant.vo.tenant.TenantSaveReqVO;
|
|
||||||
import cd.casic.module.system.convert.tenant.TenantConvert;
|
|
||||||
import cd.casic.module.system.dal.dataobject.permission.MenuDO;
|
|
||||||
import cd.casic.module.system.dal.dataobject.permission.RoleDO;
|
|
||||||
import cd.casic.module.system.dal.dataobject.tenant.TenantDO;
|
|
||||||
import cd.casic.module.system.dal.dataobject.tenant.TenantPackageDO;
|
|
||||||
import cd.casic.module.system.dal.mysql.tenant.TenantMapper;
|
|
||||||
import cd.casic.module.system.enums.permission.RoleCodeEnum;
|
import cd.casic.module.system.enums.permission.RoleCodeEnum;
|
||||||
import cd.casic.module.system.enums.permission.RoleTypeEnum;
|
import cd.casic.module.system.enums.permission.RoleTypeEnum;
|
||||||
import cd.casic.module.system.service.permission.MenuService;
|
|
||||||
import cd.casic.module.system.service.permission.PermissionService;
|
|
||||||
import cd.casic.module.system.service.permission.RoleService;
|
|
||||||
import cd.casic.module.system.service.tenant.handler.TenantInfoHandler;
|
|
||||||
import cd.casic.module.system.service.tenant.handler.TenantMenuHandler;
|
|
||||||
import cd.casic.module.system.service.user.AdminUserService;
|
|
||||||
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.annotation.Lazy;
|
import org.springframework.context.annotation.Lazy;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
@ -87,10 +86,10 @@ public class TenantServiceImpl implements TenantService {
|
|||||||
throw exception(TENANT_NOT_EXISTS);
|
throw exception(TENANT_NOT_EXISTS);
|
||||||
}
|
}
|
||||||
if (tenant.getStatus().equals(CommonStatusEnum.DISABLE.getStatus())) {
|
if (tenant.getStatus().equals(CommonStatusEnum.DISABLE.getStatus())) {
|
||||||
throw exception(TENANT_DISABLE, tenant.getName());
|
throw ServiceExceptionUtil.exception(TENANT_DISABLE, tenant.getName());
|
||||||
}
|
}
|
||||||
if (DateUtils.isExpired(tenant.getExpireTime())) {
|
if (DateUtils.isExpired(tenant.getExpireTime())) {
|
||||||
throw exception(TENANT_EXPIRE, tenant.getName());
|
throw ServiceExceptionUtil.exception(TENANT_EXPIRE, tenant.getName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.module.system.controller.admin.auth.vo;
|
package cd.casic.framework.datapermission.service.auth.vo;
|
||||||
|
|
||||||
import cd.casic.framework.commons.validation.InEnum;
|
import cd.casic.framework.commons.validation.InEnum;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.module.system.controller.admin.auth.vo;
|
package cd.casic.framework.datapermission.service.auth.vo;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.module.system.controller.admin.auth.vo;
|
package cd.casic.framework.datapermission.service.auth.vo;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.module.system.controller.admin.auth.vo;
|
package cd.casic.framework.datapermission.service.auth.vo;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
@ -1,8 +1,9 @@
|
|||||||
package cd.casic.module.system.controller.admin.user.vo.profile;
|
package cd.casic.framework.datapermission.service.auth.vo.profile;
|
||||||
|
|
||||||
import cd.casic.module.system.controller.admin.dept.vo.dept.DeptSimpleRespVO;
|
import cd.casic.framework.datapermission.core.vo.role.RoleSimpleRespVO;
|
||||||
import cd.casic.module.system.controller.admin.dept.vo.post.PostSimpleRespVO;
|
import cd.casic.framework.security.vo.dept.DeptSimpleRespVO;
|
||||||
import cd.casic.module.system.controller.admin.permission.vo.role.RoleSimpleRespVO;
|
|
||||||
|
import cd.casic.framework.security.vo.dept.post.PostSimpleRespVO;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.experimental.Accessors;
|
import lombok.experimental.Accessors;
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.module.system.controller.admin.user.vo.profile;
|
package cd.casic.framework.datapermission.service.auth.vo.profile;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.module.system.controller.admin.user.vo.profile;
|
package cd.casic.framework.datapermission.service.auth.vo.profile;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import jakarta.validation.constraints.Email;
|
import jakarta.validation.constraints.Email;
|
@ -1,10 +1,10 @@
|
|||||||
package cd.casic.module.system.service.dept;
|
package cd.casic.framework.datapermission.service.dept;
|
||||||
|
|
||||||
|
|
||||||
import cd.casic.framework.commons.util.collection.CollectionUtils;
|
import cd.casic.framework.commons.util.collection.CollectionUtils;
|
||||||
import cd.casic.module.system.controller.admin.dept.vo.dept.DeptListReqVO;
|
import cd.casic.framework.commons.dataobject.dept.DeptDO;
|
||||||
import cd.casic.module.system.controller.admin.dept.vo.dept.DeptSaveReqVO;
|
import cd.casic.framework.security.vo.dept.DeptListReqVO;
|
||||||
import cd.casic.module.system.dal.dataobject.dept.DeptDO;
|
import cd.casic.framework.security.vo.dept.DeptSaveReqVO;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
@ -1,15 +1,16 @@
|
|||||||
package cd.casic.module.system.service.dept;
|
package cd.casic.framework.datapermission.service.dept;
|
||||||
|
|
||||||
|
import cd.casic.framework.datapermission.core.annotation.DataPermission;
|
||||||
|
import cd.casic.framework.security.dal.dept.DeptMapper;
|
||||||
|
import cd.casic.framework.security.vo.dept.DeptListReqVO;
|
||||||
|
import cd.casic.framework.security.vo.dept.DeptSaveReqVO;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cd.casic.framework.commons.enums.CommonStatusEnum;
|
import cd.casic.framework.commons.enums.CommonStatusEnum;
|
||||||
import cd.casic.framework.commons.util.object.BeanUtils;
|
import cd.casic.framework.commons.util.object.BeanUtils;
|
||||||
import cd.casic.framework.datapermission.core.annotation.DataPermission;
|
|
||||||
import cd.casic.module.system.controller.admin.dept.vo.dept.DeptListReqVO;
|
import cd.casic.framework.commons.dataobject.dept.DeptDO;
|
||||||
import cd.casic.module.system.controller.admin.dept.vo.dept.DeptSaveReqVO;
|
import cd.casic.framework.security.redis.RedisKeyConstants;
|
||||||
import cd.casic.module.system.dal.dataobject.dept.DeptDO;
|
|
||||||
import cd.casic.module.system.dal.mysql.dept.DeptMapper;
|
|
||||||
import cd.casic.module.system.dal.redis.RedisKeyConstants;
|
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.cache.annotation.CacheEvict;
|
import org.springframework.cache.annotation.CacheEvict;
|
||||||
@ -89,7 +90,7 @@ public class DeptServiceImpl implements DeptService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
void validateDeptExists(Long id) {
|
public void validateDeptExists(Long id) {
|
||||||
if (id == null) {
|
if (id == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -100,7 +101,7 @@ public class DeptServiceImpl implements DeptService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
void validateParentDept(Long id, Long parentId) {
|
public void validateParentDept(Long id, Long parentId) {
|
||||||
if (parentId == null || DeptDO.PARENT_ID_ROOT.equals(parentId)) {
|
if (parentId == null || DeptDO.PARENT_ID_ROOT.equals(parentId)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -135,7 +136,7 @@ public class DeptServiceImpl implements DeptService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
void validateDeptNameUnique(Long id, Long parentId, String name) {
|
public void validateDeptNameUnique(Long id, Long parentId, String name) {
|
||||||
DeptDO dept = deptMapper.selectByParentIdAndName(parentId, name);
|
DeptDO dept = deptMapper.selectByParentIdAndName(parentId, name);
|
||||||
if (dept == null) {
|
if (dept == null) {
|
||||||
return;
|
return;
|
@ -1,9 +1,9 @@
|
|||||||
package cd.casic.module.system.service.dept;
|
package cd.casic.framework.datapermission.service.dept;
|
||||||
|
|
||||||
import cd.casic.framework.commons.pojo.PageResult;
|
import cd.casic.framework.commons.pojo.PageResult;
|
||||||
import cd.casic.module.system.controller.admin.dept.vo.post.PostPageReqVO;
|
import cd.casic.framework.security.vo.dept.post.PostPageReqVO;
|
||||||
import cd.casic.module.system.controller.admin.dept.vo.post.PostSaveReqVO;
|
import cd.casic.framework.security.vo.dept.post.PostSaveReqVO;
|
||||||
import cd.casic.module.system.dal.dataobject.dept.PostDO;
|
import cd.casic.framework.commons.dataobject.dept.PostDO;
|
||||||
import org.springframework.lang.Nullable;
|
import org.springframework.lang.Nullable;
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
@ -1,13 +1,14 @@
|
|||||||
package cd.casic.module.system.service.dept;
|
package cd.casic.framework.datapermission.service.dept;
|
||||||
|
|
||||||
|
import cd.casic.framework.security.dal.dept.PostMapper;
|
||||||
|
import cd.casic.framework.security.vo.dept.post.PostPageReqVO;
|
||||||
|
import cd.casic.framework.security.vo.dept.post.PostSaveReqVO;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cd.casic.framework.commons.enums.CommonStatusEnum;
|
import cd.casic.framework.commons.enums.CommonStatusEnum;
|
||||||
import cd.casic.framework.commons.pojo.PageResult;
|
import cd.casic.framework.commons.pojo.PageResult;
|
||||||
import cd.casic.framework.commons.util.object.BeanUtils;
|
import cd.casic.framework.commons.util.object.BeanUtils;
|
||||||
import cd.casic.module.system.controller.admin.dept.vo.post.PostPageReqVO;
|
|
||||||
import cd.casic.module.system.controller.admin.dept.vo.post.PostSaveReqVO;
|
import cd.casic.framework.commons.dataobject.dept.PostDO;
|
||||||
import cd.casic.module.system.dal.dataobject.dept.PostDO;
|
|
||||||
import cd.casic.module.system.dal.mysql.dept.PostMapper;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
package cd.casic.module.system.service.tenant.handler;
|
package cd.casic.framework.datapermission.service.handler;
|
||||||
|
|
||||||
import cd.casic.module.system.dal.dataobject.tenant.TenantDO;
|
import cd.casic.framework.security.dal.tenant.TenantDO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 租户信息处理
|
* 租户信息处理
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.module.system.service.tenant.handler;
|
package cd.casic.framework.datapermission.service.handler;
|
||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
@ -1,10 +1,10 @@
|
|||||||
package cd.casic.module.system.service.logger;
|
package cd.casic.framework.datapermission.service.log;
|
||||||
|
|
||||||
|
|
||||||
import cd.casic.framework.commons.pojo.PageResult;
|
import cd.casic.framework.commons.pojo.PageResult;
|
||||||
|
import cd.casic.framework.security.vo.logger.LoginLogDO;
|
||||||
|
import cd.casic.framework.security.vo.loginlog.LoginLogPageReqVO;
|
||||||
import cd.casic.module.system.api.logger.dto.LoginLogCreateReqDTO;
|
import cd.casic.module.system.api.logger.dto.LoginLogCreateReqDTO;
|
||||||
import cd.casic.module.system.controller.admin.logger.vo.loginlog.LoginLogPageReqVO;
|
|
||||||
import cd.casic.module.system.dal.dataobject.logger.LoginLogDO;
|
|
||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
|
|
||||||
/**
|
/**
|
@ -1,11 +1,12 @@
|
|||||||
package cd.casic.module.system.service.logger;
|
package cd.casic.framework.datapermission.service.log;
|
||||||
|
|
||||||
import cd.casic.framework.commons.pojo.PageResult;
|
import cd.casic.framework.commons.pojo.PageResult;
|
||||||
import cd.casic.framework.commons.util.object.BeanUtils;
|
import cd.casic.framework.commons.util.object.BeanUtils;
|
||||||
|
import cd.casic.framework.datapermission.core.dal.LoginLogMapper;
|
||||||
|
import cd.casic.framework.security.vo.logger.LoginLogDO;
|
||||||
|
import cd.casic.framework.security.vo.loginlog.LoginLogPageReqVO;
|
||||||
import cd.casic.module.system.api.logger.dto.LoginLogCreateReqDTO;
|
import cd.casic.module.system.api.logger.dto.LoginLogCreateReqDTO;
|
||||||
import cd.casic.module.system.controller.admin.logger.vo.loginlog.LoginLogPageReqVO;
|
|
||||||
import cd.casic.module.system.dal.dataobject.logger.LoginLogDO;
|
|
||||||
import cd.casic.module.system.dal.mysql.logger.LoginLogMapper;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.module.system.controller.admin.permission.vo.menu;
|
package cd.casic.framework.datapermission.service.permission.menu;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.module.system.controller.admin.permission.vo.menu;
|
package cd.casic.framework.datapermission.service.permission.menu;
|
||||||
|
|
||||||
import cd.casic.framework.commons.enums.CommonStatusEnum;
|
import cd.casic.framework.commons.enums.CommonStatusEnum;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.module.system.controller.admin.permission.vo.menu;
|
package cd.casic.framework.datapermission.service.permission.menu;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.module.system.controller.admin.permission.vo.menu;
|
package cd.casic.framework.datapermission.service.permission.menu;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.module.system.controller.admin.permission.vo.menu;
|
package cd.casic.framework.datapermission.service.permission.menu;
|
||||||
|
|
||||||
import cd.casic.framework.commons.enums.CommonStatusEnum;
|
import cd.casic.framework.commons.enums.CommonStatusEnum;
|
||||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
@ -1,15 +1,17 @@
|
|||||||
package cd.casic.module.system.service.user;
|
package cd.casic.framework.datapermission.service.user;
|
||||||
|
|
||||||
import cd.casic.framework.commons.pojo.PageResult;
|
import cd.casic.framework.commons.pojo.PageResult;
|
||||||
import cd.casic.framework.commons.util.collection.CollectionUtils;
|
import cd.casic.framework.commons.util.collection.CollectionUtils;
|
||||||
import cd.casic.module.system.controller.admin.auth.vo.AuthRegisterReqVO;
|
import cd.casic.framework.datapermission.core.service.auth.vo.AuthRegisterReqVO;
|
||||||
import cd.casic.module.system.controller.admin.user.vo.profile.UserProfileUpdatePasswordReqVO;
|
|
||||||
import cd.casic.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO;
|
import cd.casic.framework.datapermission.service.auth.vo.profile.UserProfileUpdatePasswordReqVO;
|
||||||
import cd.casic.module.system.controller.admin.user.vo.user.UserImportExcelVO;
|
import cd.casic.framework.datapermission.service.auth.vo.profile.UserProfileUpdateReqVO;
|
||||||
import cd.casic.module.system.controller.admin.user.vo.user.UserImportRespVO;
|
import cd.casic.framework.security.dal.user.AdminUserDO;
|
||||||
import cd.casic.module.system.controller.admin.user.vo.user.UserPageReqVO;
|
import cd.casic.framework.datapermission.core.vo.UserImportExcelVO;
|
||||||
import cd.casic.module.system.controller.admin.user.vo.user.UserSaveReqVO;
|
import cd.casic.framework.datapermission.core.vo.UserImportRespVO;
|
||||||
import cd.casic.module.system.dal.dataobject.user.AdminUserDO;
|
import cd.casic.framework.datapermission.core.vo.UserPageReqVO;
|
||||||
|
import cd.casic.framework.datapermission.core.vo.UserSaveReqVO;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package cd.casic.module.system.api.oauth2;
|
package cd.casic.framework.datapermission.service.user;
|
||||||
|
|
||||||
import cd.casic.module.system.api.oauth2.dto.OAuth2AccessTokenCheckRespDTO;
|
import cd.casic.module.system.api.oauth2.dto.OAuth2AccessTokenCheckRespDTO;
|
||||||
import cd.casic.module.system.api.oauth2.dto.OAuth2AccessTokenCreateReqDTO;
|
import cd.casic.module.system.api.oauth2.dto.OAuth2AccessTokenCreateReqDTO;
|
@ -1,11 +1,10 @@
|
|||||||
package cd.casic.module.system.api.oauth2;
|
package cd.casic.framework.datapermission.service.user;
|
||||||
|
|
||||||
import cd.casic.framework.commons.util.object.BeanUtils;
|
import cd.casic.framework.commons.util.object.BeanUtils;
|
||||||
|
import cd.casic.framework.security.dal.oauth2.OAuth2AccessTokenDO;
|
||||||
import cd.casic.module.system.api.oauth2.dto.OAuth2AccessTokenCheckRespDTO;
|
import cd.casic.module.system.api.oauth2.dto.OAuth2AccessTokenCheckRespDTO;
|
||||||
import cd.casic.module.system.api.oauth2.dto.OAuth2AccessTokenCreateReqDTO;
|
import cd.casic.module.system.api.oauth2.dto.OAuth2AccessTokenCreateReqDTO;
|
||||||
import cd.casic.module.system.api.oauth2.dto.OAuth2AccessTokenRespDTO;
|
import cd.casic.module.system.api.oauth2.dto.OAuth2AccessTokenRespDTO;
|
||||||
import cd.casic.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO;
|
|
||||||
import cd.casic.module.system.service.oauth2.OAuth2TokenService;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
@ -1,9 +1,10 @@
|
|||||||
package cd.casic.module.system.service.oauth2;
|
package cd.casic.framework.datapermission.service.user;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
import cd.casic.framework.commons.pojo.PageResult;
|
import cd.casic.framework.commons.pojo.PageResult;
|
||||||
import cd.casic.module.system.controller.admin.oauth2.vo.token.OAuth2AccessTokenPageReqVO;
|
import cd.casic.framework.security.dal.oauth2.OAuth2AccessTokenDO;
|
||||||
import cd.casic.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO;
|
import cd.casic.framework.security.vo.vo.token.OAuth2AccessTokenPageReqVO;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
@ -1,5 +1,12 @@
|
|||||||
package cd.casic.module.system.service.oauth2;
|
package cd.casic.framework.datapermission.service.user;
|
||||||
|
|
||||||
|
import cd.casic.framework.commons.context.TenantContextHolder;
|
||||||
|
import cd.casic.framework.commons.util.tenant.TenantUtils;
|
||||||
|
import cd.casic.framework.security.dal.oauth2.*;
|
||||||
|
import cd.casic.framework.security.dal.user.AdminUserDO;
|
||||||
|
import cd.casic.framework.security.oauth2.OAuth2ClientService;
|
||||||
|
import cd.casic.framework.security.redis.oauth2.OAuth2AccessTokenRedisDAO;
|
||||||
|
import cd.casic.framework.security.vo.vo.token.OAuth2AccessTokenPageReqVO;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.map.MapUtil;
|
import cn.hutool.core.map.MapUtil;
|
||||||
import cn.hutool.core.util.IdUtil;
|
import cn.hutool.core.util.IdUtil;
|
||||||
@ -11,17 +18,6 @@ import cd.casic.framework.commons.pojo.PageResult;
|
|||||||
import cd.casic.framework.commons.util.date.DateUtils;
|
import cd.casic.framework.commons.util.date.DateUtils;
|
||||||
import cd.casic.framework.commons.util.object.BeanUtils;
|
import cd.casic.framework.commons.util.object.BeanUtils;
|
||||||
import cd.casic.framework.security.core.LoginUser;
|
import cd.casic.framework.security.core.LoginUser;
|
||||||
import cd.casic.framework.tenant.core.context.TenantContextHolder;
|
|
||||||
import cd.casic.framework.tenant.core.util.TenantUtils;
|
|
||||||
import cd.casic.module.system.controller.admin.oauth2.vo.token.OAuth2AccessTokenPageReqVO;
|
|
||||||
import cd.casic.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO;
|
|
||||||
import cd.casic.module.system.dal.dataobject.oauth2.OAuth2ClientDO;
|
|
||||||
import cd.casic.module.system.dal.dataobject.oauth2.OAuth2RefreshTokenDO;
|
|
||||||
import cd.casic.module.system.dal.dataobject.user.AdminUserDO;
|
|
||||||
import cd.casic.module.system.dal.mysql.oauth2.OAuth2AccessTokenMapper;
|
|
||||||
import cd.casic.module.system.dal.mysql.oauth2.OAuth2RefreshTokenMapper;
|
|
||||||
import cd.casic.module.system.dal.redis.oauth2.OAuth2AccessTokenRedisDAO;
|
|
||||||
import cd.casic.module.system.service.user.AdminUserService;
|
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import org.springframework.context.annotation.Lazy;
|
import org.springframework.context.annotation.Lazy;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@ -54,7 +50,7 @@ public class OAuth2TokenServiceImpl implements OAuth2TokenService {
|
|||||||
@Resource
|
@Resource
|
||||||
private OAuth2ClientService oauth2ClientService;
|
private OAuth2ClientService oauth2ClientService;
|
||||||
@Resource
|
@Resource
|
||||||
@Lazy // 懒加载,避免循环依赖
|
// @Lazy // 懒加载,避免循环依赖
|
||||||
private AdminUserService adminUserService;
|
private AdminUserService adminUserService;
|
||||||
|
|
||||||
@Override
|
@Override
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user