refactor 重构 common 模块 :

- 从 web 拆分 idempotent 幂等模块 ,
- 从 redis 拆分 rateLimiter 限流模块 ,
- 从 satoken 拆分 security 安全模块 ;
update 更新 datasource 模块名改为 mybatis ;
update 移动 LogininforEvent 从 core 到 log 模块 ;
update config 文件注解改为 @AutoConfiguration ;
This commit is contained in:
zlyx 2022-12-26 14:31:24 +08:00
parent e85cc93b16
commit aa61bd387c
125 changed files with 426 additions and 260 deletions

View File

@ -12,16 +12,19 @@
<modules> <modules>
<module>ruoyi-common-bom</module> <module>ruoyi-common-bom</module>
<module>ruoyi-common-core</module> <module>ruoyi-common-core</module>
<module>ruoyi-common-datasource</module>
<module>ruoyi-common-dict</module> <module>ruoyi-common-dict</module>
<module>ruoyi-common-doc</module> <module>ruoyi-common-doc</module>
<module>ruoyi-common-excel</module> <module>ruoyi-common-excel</module>
<module>ruoyi-common-idempotent</module>
<module>ruoyi-common-log</module> <module>ruoyi-common-log</module>
<module>ruoyi-common-mail</module> <module>ruoyi-common-mail</module>
<module>ruoyi-common-mybatis</module>
<module>ruoyi-common-oss</module> <module>ruoyi-common-oss</module>
<module>ruoyi-common-rateLimiter</module>
<module>ruoyi-common-redis</module> <module>ruoyi-common-redis</module>
<module>ruoyi-common-sms</module> <module>ruoyi-common-sms</module>
<module>ruoyi-common-satoken</module> <module>ruoyi-common-satoken</module>
<module>ruoyi-common-security</module>
<module>ruoyi-common-web</module> <module>ruoyi-common-web</module>
</modules> </modules>

View File

@ -25,7 +25,7 @@
<!-- 数据库服务 --> <!-- 数据库服务 -->
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-datasource</artifactId> <artifactId>ruoyi-common-mybatis</artifactId>
<version>${project.version}</version> <version>${project.version}</version>
</dependency> </dependency>
@ -50,6 +50,13 @@
<version>${project.version}</version> <version>${project.version}</version>
</dependency> </dependency>
<!-- 幂等 -->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-idempotent</artifactId>
<version>${project.version}</version>
</dependency>
<!-- 日志记录 --> <!-- 日志记录 -->
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>com.ruoyi</groupId>
@ -71,6 +78,13 @@
<version>${project.version}</version> <version>${project.version}</version>
</dependency> </dependency>
<!-- 限流 -->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-rateLimiter</artifactId>
<version>${project.version}</version>
</dependency>
<!-- 缓存服务 --> <!-- 缓存服务 -->
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>com.ruoyi</groupId>
@ -78,13 +92,20 @@
<version>${project.version}</version> <version>${project.version}</version>
</dependency> </dependency>
<!-- 安全模块 satoken --> <!-- satoken -->
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-satoken</artifactId> <artifactId>ruoyi-common-satoken</artifactId>
<version>${project.version}</version> <version>${project.version}</version>
</dependency> </dependency>
<!-- 安全模块 -->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-security</artifactId>
<version>${project.version}</version>
</dependency>
<!-- 短信模块 --> <!-- 短信模块 -->
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>com.ruoyi</groupId>

View File

@ -1,6 +1,6 @@
package com.ruoyi.common.core.config; package com.ruoyi.common.core.config;
import org.springframework.context.annotation.Configuration; import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.context.annotation.EnableAspectJAutoProxy; import org.springframework.context.annotation.EnableAspectJAutoProxy;
/** /**
@ -8,7 +8,7 @@ import org.springframework.context.annotation.EnableAspectJAutoProxy;
* *
* @author Lion Li * @author Lion Li
*/ */
@Configuration @AutoConfiguration
// 表示通过aop框架暴露该代理对象,AopContext能够访问 // 表示通过aop框架暴露该代理对象,AopContext能够访问
@EnableAspectJAutoProxy(exposeProxy = true) @EnableAspectJAutoProxy(exposeProxy = true)
public class ApplicationConfig { public class ApplicationConfig {

View File

@ -5,7 +5,7 @@ import com.ruoyi.common.core.exception.ServiceException;
import org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler; import org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Configuration; import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.scheduling.annotation.AsyncConfigurerSupport; import org.springframework.scheduling.annotation.AsyncConfigurerSupport;
import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableAsync;
@ -19,7 +19,7 @@ import java.util.concurrent.ScheduledExecutorService;
* @author Lion Li * @author Lion Li
*/ */
@EnableAsync(proxyTargetClass = true) @EnableAsync(proxyTargetClass = true)
@Configuration @AutoConfiguration
public class AsyncConfig extends AsyncConfigurerSupport { public class AsyncConfig extends AsyncConfigurerSupport {
@Autowired @Autowired

View File

@ -6,9 +6,10 @@ import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import com.ruoyi.common.core.jackson.BigNumberSerializer; import com.ruoyi.common.core.jackson.BigNumberSerializer;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer; import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
import org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.BigInteger; import java.math.BigInteger;
@ -22,7 +23,7 @@ import java.util.TimeZone;
* @author Lion Li * @author Lion Li
*/ */
@Slf4j @Slf4j
@Configuration @AutoConfiguration(before = JacksonAutoConfiguration.class)
public class JacksonConfig { public class JacksonConfig {
@Bean @Bean

View File

@ -4,9 +4,9 @@ import com.ruoyi.common.core.config.properties.ThreadPoolProperties;
import com.ruoyi.common.core.utils.Threads; import com.ruoyi.common.core.utils.Threads;
import org.apache.commons.lang3.concurrent.BasicThreadFactory; import org.apache.commons.lang3.concurrent.BasicThreadFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledExecutorService;
@ -18,7 +18,7 @@ import java.util.concurrent.ThreadPoolExecutor;
* *
* @author Lion Li * @author Lion Li
**/ **/
@Configuration @AutoConfiguration
public class ThreadPoolConfig { public class ThreadPoolConfig {
/** /**

View File

@ -2,9 +2,9 @@ package com.ruoyi.common.core.config;
import org.hibernate.validator.HibernateValidator; import org.hibernate.validator.HibernateValidator;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.context.MessageSource; import org.springframework.context.MessageSource;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.validation.beanvalidation.LocalValidatorFactoryBean; import org.springframework.validation.beanvalidation.LocalValidatorFactoryBean;
import javax.validation.Validator; import javax.validation.Validator;
@ -15,7 +15,7 @@ import java.util.Properties;
* *
* @author Lion Li * @author Lion Li
*/ */
@Configuration @AutoConfiguration
public class ValidatorConfig { public class ValidatorConfig {
@Autowired @Autowired

View File

@ -18,7 +18,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.autoconfigure.web.ServerProperties; import org.springframework.boot.autoconfigure.web.ServerProperties;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -31,7 +30,6 @@ import java.util.Set;
* @author Lion Li * @author Lion Li
*/ */
@RequiredArgsConstructor @RequiredArgsConstructor
@Configuration
@AutoConfigureBefore(SpringDocConfiguration.class) @AutoConfigureBefore(SpringDocConfiguration.class)
@ConditionalOnProperty(name = "swagger.enabled", havingValue = "true", matchIfMissing = true) @ConditionalOnProperty(name = "swagger.enabled", havingValue = "true", matchIfMissing = true)
public class SwaggerConfig { public class SwaggerConfig {

View File

@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-vue-plus</artifactId>
<version>4.4.0</version>
</parent>
<artifactId>ruoyi-common-idempotent</artifactId>
<description>
ruoyi-common-idempotent 幂等功能
</description>
<dependencies>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-core</artifactId>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-redis</artifactId>
</dependency>
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-core</artifactId>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-crypto</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -1,4 +1,4 @@
package com.ruoyi.common.web.annotation; package com.ruoyi.common.idempotent.annotation;
import java.lang.annotation.*; import java.lang.annotation.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;

View File

@ -1,4 +1,4 @@
package com.ruoyi.common.web.aspectj; package com.ruoyi.common.idempotent.aspectj;
import cn.dev33.satoken.SaManager; import cn.dev33.satoken.SaManager;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
@ -10,8 +10,8 @@ import com.ruoyi.common.core.utils.JsonUtils;
import com.ruoyi.common.core.utils.MessageUtils; import com.ruoyi.common.core.utils.MessageUtils;
import com.ruoyi.common.core.utils.ServletUtils; import com.ruoyi.common.core.utils.ServletUtils;
import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.idempotent.annotation.RepeatSubmit;
import com.ruoyi.common.redis.utils.RedisUtils; import com.ruoyi.common.redis.utils.RedisUtils;
import com.ruoyi.common.web.annotation.RepeatSubmit;
import org.aspectj.lang.JoinPoint; import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.AfterReturning; import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.AfterThrowing; import org.aspectj.lang.annotation.AfterThrowing;

View File

@ -1,6 +1,6 @@
package com.ruoyi.common.web.config; package com.ruoyi.common.idempotent.config;
import com.ruoyi.common.web.aspectj.RepeatSubmitAspect; import com.ruoyi.common.idempotent.aspectj.RepeatSubmitAspect;
import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.data.redis.connection.RedisConfiguration; import org.springframework.data.redis.connection.RedisConfiguration;

View File

@ -0,0 +1 @@
com.ruoyi.common.idempotent.config.IdempotentConfig

View File

@ -16,6 +16,7 @@ import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.AfterReturning; import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.AfterThrowing; import org.aspectj.lang.annotation.AfterThrowing;
import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Aspect;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.http.HttpMethod; import org.springframework.http.HttpMethod;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.validation.BindingResult; import org.springframework.validation.BindingResult;
@ -34,6 +35,7 @@ import java.util.Map;
@Slf4j @Slf4j
@Aspect @Aspect
@Component @Component
@AutoConfiguration
public class LogAspect { public class LogAspect {
/** /**

View File

@ -1,4 +1,4 @@
package com.ruoyi.common.core.domain.event; package com.ruoyi.common.log.event;
import lombok.Data; import lombok.Data;

View File

@ -2,20 +2,22 @@ package com.ruoyi.common.mail.config;
import cn.hutool.extra.mail.MailAccount; import cn.hutool.extra.mail.MailAccount;
import com.ruoyi.common.mail.config.properties.MailProperties; import com.ruoyi.common.mail.config.properties.MailProperties;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/** /**
* JavaMail 配置 * JavaMail 配置
* *
* @author Michelle.Chung * @author Michelle.Chung
*/ */
@Configuration @AutoConfiguration
@ConditionalOnProperty(value = "mail.enabled", havingValue = "true")
@EnableConfigurationProperties(MailProperties.class)
public class MailConfig { public class MailConfig {
@Bean @Bean
@ConditionalOnProperty(value = "mail.enabled", havingValue = "true")
public MailAccount mailAccount(MailProperties mailProperties) { public MailAccount mailAccount(MailProperties mailProperties) {
MailAccount account = new MailAccount(); MailAccount account = new MailAccount();
account.setHost(mailProperties.getHost()); account.setHost(mailProperties.getHost());

View File

@ -5,14 +5,14 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<parent> <parent>
<groupId>com.ruoyi</groupId> <groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common</artifactId> <artifactId>ruoyi-vue-plus</artifactId>
<version>4.4.0</version> <version>4.4.0</version>
</parent> </parent>
<artifactId>ruoyi-common-datasource</artifactId> <artifactId>ruoyi-common-mybatis</artifactId>
<description> <description>
ruoyi-common-datasource 数据源服务 ruoyi-common-mybatis 数据库服务
</description> </description>
<dependencies> <dependencies>

View File

@ -1,4 +1,4 @@
package com.ruoyi.common.datasource.annotation; package com.ruoyi.common.mybatis.annotation;
import java.lang.annotation.*; import java.lang.annotation.*;

View File

@ -1,4 +1,4 @@
package com.ruoyi.common.datasource.annotation; package com.ruoyi.common.mybatis.annotation;
import java.lang.annotation.*; import java.lang.annotation.*;

View File

@ -1,4 +1,4 @@
package com.ruoyi.common.datasource.config; package com.ruoyi.common.mybatis.config;
import cn.hutool.core.net.NetUtil; import cn.hutool.core.net.NetUtil;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
@ -7,11 +7,11 @@ import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import com.ruoyi.common.datasource.handler.CreateAndUpdateMetaObjectHandler; import com.ruoyi.common.mybatis.handler.CreateAndUpdateMetaObjectHandler;
import com.ruoyi.common.datasource.interceptor.PlusDataPermissionInterceptor; import com.ruoyi.common.mybatis.interceptor.PlusDataPermissionInterceptor;
import org.mybatis.spring.annotation.MapperScan; import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement; import org.springframework.transaction.annotation.EnableTransactionManagement;
/** /**
@ -20,7 +20,7 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
* @author Lion Li * @author Lion Li
*/ */
@EnableTransactionManagement(proxyTargetClass = true) @EnableTransactionManagement(proxyTargetClass = true)
@Configuration @AutoConfiguration
@MapperScan("${mybatis-plus.mapperPackage}") @MapperScan("${mybatis-plus.mapperPackage}")
public class MybatisPlusConfig { public class MybatisPlusConfig {

View File

@ -1,4 +1,4 @@
package com.ruoyi.common.datasource.core.mapper; package com.ruoyi.common.mybatis.core.mapper;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;

View File

@ -1,4 +1,4 @@
package com.ruoyi.common.datasource.core.page; package com.ruoyi.common.mybatis.core.page;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;

View File

@ -1,4 +1,4 @@
package com.ruoyi.common.datasource.core.page; package com.ruoyi.common.mybatis.core.page;
import cn.hutool.http.HttpStatus; import cn.hutool.http.HttpStatus;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;

View File

@ -1,4 +1,4 @@
package com.ruoyi.common.datasource.enums; package com.ruoyi.common.mybatis.enums;
import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.StringUtils;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;

View File

@ -1,6 +1,7 @@
package com.ruoyi.common.datasource.enums; package com.ruoyi.common.mybatis.enums;
import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.mybatis.helper.DataPermissionHelper;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
@ -10,7 +11,7 @@ import lombok.Getter;
* 语法支持 spel 模板表达式 * 语法支持 spel 模板表达式
* <p> * <p>
* 内置数据 user 当前用户 内容参考 LoginUser * 内置数据 user 当前用户 内容参考 LoginUser
* 如需扩展数据 可使用 {@link com.ruoyi.common.datasource.helper.DataPermissionHelper} 操作 * 如需扩展数据 可使用 {@link DataPermissionHelper} 操作
* 内置服务 sdss 系统数据权限服务 内容参考 SysDataScopeService * 内置服务 sdss 系统数据权限服务 内容参考 SysDataScopeService
* 如需扩展更多自定义服务 可以参考 sdss 自行编写 * 如需扩展更多自定义服务 可以参考 sdss 自行编写
* *

View File

@ -1,4 +1,4 @@
package com.ruoyi.common.datasource.handler; package com.ruoyi.common.mybatis.handler;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.http.HttpStatus; import cn.hutool.http.HttpStatus;

View File

@ -1,4 +1,4 @@
package com.ruoyi.common.datasource.handler; package com.ruoyi.common.mybatis.handler;
import cn.hutool.core.annotation.AnnotationUtil; import cn.hutool.core.annotation.AnnotationUtil;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
@ -12,10 +12,10 @@ import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.SpringUtils; import com.ruoyi.common.core.utils.SpringUtils;
import com.ruoyi.common.core.utils.StreamUtils; import com.ruoyi.common.core.utils.StreamUtils;
import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.datasource.annotation.DataColumn; import com.ruoyi.common.mybatis.annotation.DataColumn;
import com.ruoyi.common.datasource.annotation.DataPermission; import com.ruoyi.common.mybatis.annotation.DataPermission;
import com.ruoyi.common.datasource.enums.DataScopeType; import com.ruoyi.common.mybatis.enums.DataScopeType;
import com.ruoyi.common.datasource.helper.DataPermissionHelper; import com.ruoyi.common.mybatis.helper.DataPermissionHelper;
import com.ruoyi.common.satoken.utils.LoginHelper; import com.ruoyi.common.satoken.utils.LoginHelper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.sf.jsqlparser.JSQLParserException; import net.sf.jsqlparser.JSQLParserException;

View File

@ -1,10 +1,10 @@
package com.ruoyi.common.datasource.helper; package com.ruoyi.common.mybatis.helper;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import com.baomidou.dynamic.datasource.DynamicRoutingDataSource; import com.baomidou.dynamic.datasource.DynamicRoutingDataSource;
import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.SpringUtils; import com.ruoyi.common.core.utils.SpringUtils;
import com.ruoyi.common.datasource.enums.DataBaseType; import com.ruoyi.common.mybatis.enums.DataBaseType;
import lombok.AccessLevel; import lombok.AccessLevel;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;

View File

@ -1,4 +1,4 @@
package com.ruoyi.common.datasource.helper; package com.ruoyi.common.mybatis.helper;
import cn.dev33.satoken.context.SaHolder; import cn.dev33.satoken.context.SaHolder;
import cn.dev33.satoken.context.model.SaStorage; import cn.dev33.satoken.context.model.SaStorage;

View File

@ -1,4 +1,4 @@
package com.ruoyi.common.datasource.helper; package com.ruoyi.common.mybatis.helper;
import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.R;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;

View File

@ -1,10 +1,10 @@
package com.ruoyi.common.datasource.interceptor; package com.ruoyi.common.mybatis.interceptor;
import com.baomidou.mybatisplus.core.plugins.InterceptorIgnoreHelper; import com.baomidou.mybatisplus.core.plugins.InterceptorIgnoreHelper;
import com.baomidou.mybatisplus.core.toolkit.PluginUtils; import com.baomidou.mybatisplus.core.toolkit.PluginUtils;
import com.baomidou.mybatisplus.extension.parser.JsqlParserSupport; import com.baomidou.mybatisplus.extension.parser.JsqlParserSupport;
import com.baomidou.mybatisplus.extension.plugins.inner.InnerInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.InnerInterceptor;
import com.ruoyi.common.datasource.handler.PlusDataPermissionHandler; import com.ruoyi.common.mybatis.handler.PlusDataPermissionHandler;
import net.sf.jsqlparser.expression.Expression; import net.sf.jsqlparser.expression.Expression;
import net.sf.jsqlparser.statement.delete.Delete; import net.sf.jsqlparser.statement.delete.Delete;
import net.sf.jsqlparser.statement.select.PlainSelect; import net.sf.jsqlparser.statement.select.PlainSelect;

View File

@ -0,0 +1 @@
com.ruoyi.common.mybatis.config.MybatisPlusConfig

View File

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-vue-plus</artifactId>
<version>4.4.0</version>
</parent>
<artifactId>ruoyi-common-rateLimiter</artifactId>
<description>
ruoyi-common-rateLimiter 限流功能
</description>
<dependencies>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-core</artifactId>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-redis</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -1,7 +1,7 @@
package com.ruoyi.common.redis.annotation; package com.ruoyi.common.rateLimiter.annotation;
import com.ruoyi.common.core.constant.CacheConstants; import com.ruoyi.common.core.constant.CacheConstants;
import com.ruoyi.common.redis.enums.LimitType; import com.ruoyi.common.rateLimiter.enums.LimitType;
import java.lang.annotation.*; import java.lang.annotation.*;

View File

@ -1,10 +1,10 @@
package com.ruoyi.common.redis.aspectj; package com.ruoyi.common.rateLimiter.aspectj;
import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.MessageUtils; import com.ruoyi.common.core.utils.MessageUtils;
import com.ruoyi.common.core.utils.ServletUtils; import com.ruoyi.common.core.utils.ServletUtils;
import com.ruoyi.common.redis.annotation.RateLimiter; import com.ruoyi.common.rateLimiter.annotation.RateLimiter;
import com.ruoyi.common.redis.enums.LimitType; import com.ruoyi.common.rateLimiter.enums.LimitType;
import com.ruoyi.common.redis.utils.RedisUtils; import com.ruoyi.common.redis.utils.RedisUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.JoinPoint; import org.aspectj.lang.JoinPoint;

View File

@ -1,4 +1,4 @@
package com.ruoyi.common.redis.enums; package com.ruoyi.common.rateLimiter.enums;
/** /**
* 限流类型 * 限流类型

View File

@ -9,11 +9,11 @@ import lombok.extern.slf4j.Slf4j;
import org.redisson.codec.JsonJacksonCodec; import org.redisson.codec.JsonJacksonCodec;
import org.redisson.spring.starter.RedissonAutoConfigurationCustomizer; import org.redisson.spring.starter.RedissonAutoConfigurationCustomizer;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.cache.CacheManager; import org.springframework.cache.CacheManager;
import org.springframework.cache.annotation.EnableCaching; import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/** /**
* redis配置 * redis配置
@ -21,7 +21,7 @@ import org.springframework.context.annotation.Configuration;
* @author Lion Li * @author Lion Li
*/ */
@Slf4j @Slf4j
@Configuration @AutoConfiguration
@EnableCaching @EnableCaching
@EnableConfigurationProperties(RedissonProperties.class) @EnableConfigurationProperties(RedissonProperties.class)
public class RedisConfig { public class RedisConfig {

View File

@ -1,16 +1,9 @@
package com.ruoyi.common.satoken.config; package com.ruoyi.common.satoken.config;
import cn.dev33.satoken.interceptor.SaInterceptor;
import cn.dev33.satoken.jwt.StpLogicJwtForSimple; import cn.dev33.satoken.jwt.StpLogicJwtForSimple;
import cn.dev33.satoken.router.SaRouter;
import cn.dev33.satoken.stp.StpLogic; import cn.dev33.satoken.stp.StpLogic;
import cn.dev33.satoken.stp.StpUtil; import org.springframework.boot.autoconfigure.AutoConfiguration;
import com.ruoyi.common.satoken.config.properties.SecurityProperties;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/** /**
@ -18,41 +11,9 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
* *
* @author Lion Li * @author Lion Li
*/ */
@RequiredArgsConstructor @AutoConfiguration
@Slf4j
@Configuration
public class SaTokenConfig implements WebMvcConfigurer { public class SaTokenConfig implements WebMvcConfigurer {
private final SecurityProperties securityProperties;
/**
* 注册sa-token的拦截器
*/
@Override
public void addInterceptors(InterceptorRegistry registry) {
// 注册路由拦截器自定义验证规则
registry.addInterceptor(new SaInterceptor(handler -> {
// 登录验证 -- 排除多个路径
SaRouter
// 获取所有的
.match("/**")
// 对未排除的路径进行检查
.check(() -> {
// 检查是否登录 是否有token
StpUtil.checkLogin();
// 有效率影响 用于临时测试
// if (log.isDebugEnabled()) {
// log.debug("剩余有效时间: {}", StpUtil.getTokenTimeout());
// log.debug("临时有效时间: {}", StpUtil.getTokenActivityTimeout());
// }
});
})).addPathPatterns("/**")
// 排除不需要拦截的路径
.excludePathPatterns(securityProperties.getExcludes());
}
@Bean @Bean
public StpLogic getStpLogicJwt() { public StpLogic getStpLogicJwt() {
// Sa-Token 整合 jwt (简单模式) // Sa-Token 整合 jwt (简单模式)

View File

@ -1,3 +1,2 @@
com.ruoyi.common.satoken.core.dao.PlusSaTokenDao com.ruoyi.common.satoken.core.dao.PlusSaTokenDao
com.ruoyi.common.satoken.core.service.SaPermissionImpl com.ruoyi.common.satoken.core.service.SaPermissionImpl
com.ruoyi.common.satoken.config.SaTokenConfig

View File

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-vue-plus</artifactId>
<version>4.4.0</version>
</parent>
<artifactId>ruoyi-common-security</artifactId>
<description>
ruoyi-common-security 安全模块
</description>
<dependencies>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-satoken</artifactId>
</dependency>
<!-- Sa-Token 权限认证, 在线文档http://sa-token.dev33.cn/ -->
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-spring-boot-starter</artifactId>
<version>${satoken.version}</version>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,54 @@
package com.ruoyi.common.security.config;
import cn.dev33.satoken.interceptor.SaInterceptor;
import cn.dev33.satoken.router.SaRouter;
import cn.dev33.satoken.stp.StpUtil;
import com.ruoyi.common.security.config.properties.SecurityProperties;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
* 权限安全配置
*
* @author Lion Li
*/
@RequiredArgsConstructor
@Slf4j
@AutoConfiguration
public class SecurityConfig implements WebMvcConfigurer {
private final SecurityProperties securityProperties;
/**
* 注册sa-token的拦截器
*/
@Override
public void addInterceptors(InterceptorRegistry registry) {
// 注册路由拦截器自定义验证规则
registry.addInterceptor(new SaInterceptor(handler -> {
// 登录验证 -- 排除多个路径
SaRouter
// 获取所有的
.match("/**")
// 对未排除的路径进行检查
.check(() -> {
// 检查是否登录 是否有token
StpUtil.checkLogin();
// 有效率影响 用于临时测试
// if (log.isDebugEnabled()) {
// log.debug("剩余有效时间: {}", StpUtil.getTokenTimeout());
// log.debug("临时有效时间: {}", StpUtil.getTokenActivityTimeout());
// }
});
})).addPathPatterns("/**")
// 排除不需要拦截的路径
.excludePathPatterns(securityProperties.getExcludes());
}
}

View File

@ -1,4 +1,4 @@
package com.ruoyi.common.satoken.config.properties; package com.ruoyi.common.security.config.properties;
import lombok.Data; import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.ConfigurationProperties;

View File

@ -1,4 +1,4 @@
package com.ruoyi.common.satoken.handler; package com.ruoyi.common.security.handler;
import cn.dev33.satoken.exception.NotLoginException; import cn.dev33.satoken.exception.NotLoginException;
import cn.dev33.satoken.exception.NotPermissionException; import cn.dev33.satoken.exception.NotPermissionException;

View File

@ -0,0 +1,2 @@
com.ruoyi.common.security.handler.GlobalExceptionHandler
com.ruoyi.common.security.config.SecurityConfig

View File

@ -4,8 +4,10 @@ import com.ruoyi.common.sms.config.properties.SmsProperties;
import com.ruoyi.common.sms.core.AliyunSmsTemplate; import com.ruoyi.common.sms.core.AliyunSmsTemplate;
import com.ruoyi.common.sms.core.SmsTemplate; import com.ruoyi.common.sms.core.SmsTemplate;
import com.ruoyi.common.sms.core.TencentSmsTemplate; import com.ruoyi.common.sms.core.TencentSmsTemplate;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
@ -15,7 +17,8 @@ import org.springframework.context.annotation.Configuration;
* @author Lion Li * @author Lion Li
* @version 4.2.0 * @version 4.2.0
*/ */
@Configuration @AutoConfiguration
@EnableConfigurationProperties(SmsProperties.class)
public class SmsConfig { public class SmsConfig {
@Configuration @Configuration

View File

@ -2,16 +2,16 @@ package com.ruoyi.common.web.config;
import io.undertow.server.DefaultByteBufferPool; import io.undertow.server.DefaultByteBufferPool;
import io.undertow.websockets.jsr.WebSocketDeploymentInfo; import io.undertow.websockets.jsr.WebSocketDeploymentInfo;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.web.embedded.undertow.UndertowServletWebServerFactory; import org.springframework.boot.web.embedded.undertow.UndertowServletWebServerFactory;
import org.springframework.boot.web.server.WebServerFactoryCustomizer; import org.springframework.boot.web.server.WebServerFactoryCustomizer;
import org.springframework.context.annotation.Configuration;
/** /**
* Undertow 自定义配置 * Undertow 自定义配置
* *
* @author Lion Li * @author Lion Li
*/ */
@Configuration @AutoConfiguration
public class UndertowConfig implements WebServerFactoryCustomizer<UndertowServletWebServerFactory> { public class UndertowConfig implements WebServerFactoryCustomizer<UndertowServletWebServerFactory> {
/** /**

View File

@ -1,6 +1,5 @@
com.ruoyi.common.web.config.CaptchaConfig com.ruoyi.common.web.config.CaptchaConfig
com.ruoyi.common.web.config.FilterConfig com.ruoyi.common.web.config.FilterConfig
com.ruoyi.common.web.config.I18nConfig com.ruoyi.common.web.config.I18nConfig
com.ruoyi.common.web.config.IdempotentConfig
com.ruoyi.common.web.config.ResourcesConfig com.ruoyi.common.web.config.ResourcesConfig
com.ruoyi.common.web.config.UndertowConfig com.ruoyi.common.web.config.UndertowConfig

View File

@ -36,7 +36,11 @@
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-datasource</artifactId> <artifactId>ruoyi-common-idempotent</artifactId>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-mybatis</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>com.ruoyi</groupId>
@ -50,6 +54,10 @@
<groupId>com.ruoyi</groupId> <groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-web</artifactId> <artifactId>ruoyi-common-web</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-rateLimiter</artifactId>
</dependency>
<!-- 短信 用哪个导入哪个依赖 --> <!-- 短信 用哪个导入哪个依赖 -->
<!-- <dependency>--> <!-- <dependency>-->

View File

@ -1,8 +1,8 @@
package com.ruoyi.demo.controller; package com.ruoyi.demo.controller;
import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.redis.annotation.RateLimiter; import com.ruoyi.common.rateLimiter.annotation.RateLimiter;
import com.ruoyi.common.redis.enums.LimitType; import com.ruoyi.common.rateLimiter.enums.LimitType;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;

View File

@ -8,14 +8,13 @@ import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup; import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.core.validate.QueryGroup; import com.ruoyi.common.core.validate.QueryGroup;
import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.datasource.core.page.PageQuery; import com.ruoyi.common.idempotent.annotation.RepeatSubmit;
import com.ruoyi.common.datasource.core.page.TableDataInfo; import com.ruoyi.common.mybatis.core.page.PageQuery;
import com.ruoyi.common.mybatis.core.page.TableDataInfo;
import com.ruoyi.common.excel.core.ExcelResult; import com.ruoyi.common.excel.core.ExcelResult;
import com.ruoyi.common.excel.utils.ExcelUtil; import com.ruoyi.common.excel.utils.ExcelUtil;
import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.redis.utils.RedisUtils;
import com.ruoyi.common.web.annotation.RepeatSubmit;
import com.ruoyi.demo.domain.TestDemo; import com.ruoyi.demo.domain.TestDemo;
import com.ruoyi.demo.domain.bo.TestDemoBo; import com.ruoyi.demo.domain.bo.TestDemoBo;
import com.ruoyi.demo.domain.bo.TestDemoImportVo; import com.ruoyi.demo.domain.bo.TestDemoImportVo;

View File

@ -7,9 +7,9 @@ import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.core.validate.QueryGroup; import com.ruoyi.common.core.validate.QueryGroup;
import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.excel.utils.ExcelUtil; import com.ruoyi.common.excel.utils.ExcelUtil;
import com.ruoyi.common.idempotent.annotation.RepeatSubmit;
import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.web.annotation.RepeatSubmit;
import com.ruoyi.demo.domain.bo.TestTreeBo; import com.ruoyi.demo.domain.bo.TestTreeBo;
import com.ruoyi.demo.domain.vo.TestTreeVo; import com.ruoyi.demo.domain.vo.TestTreeVo;
import com.ruoyi.demo.service.ITestTreeService; import com.ruoyi.demo.service.ITestTreeService;

View File

@ -4,9 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.datasource.annotation.DataColumn; import com.ruoyi.common.mybatis.annotation.DataColumn;
import com.ruoyi.common.datasource.annotation.DataPermission; import com.ruoyi.common.mybatis.annotation.DataPermission;
import com.ruoyi.common.datasource.core.mapper.BaseMapperPlus; import com.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
import com.ruoyi.demo.domain.TestDemo; import com.ruoyi.demo.domain.TestDemo;
import com.ruoyi.demo.domain.vo.TestDemoVo; import com.ruoyi.demo.domain.vo.TestDemoVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;

View File

@ -1,8 +1,8 @@
package com.ruoyi.demo.mapper; package com.ruoyi.demo.mapper;
import com.ruoyi.common.datasource.annotation.DataColumn; import com.ruoyi.common.mybatis.annotation.DataColumn;
import com.ruoyi.common.datasource.annotation.DataPermission; import com.ruoyi.common.mybatis.annotation.DataPermission;
import com.ruoyi.common.datasource.core.mapper.BaseMapperPlus; import com.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
import com.ruoyi.demo.domain.TestTree; import com.ruoyi.demo.domain.TestTree;
import com.ruoyi.demo.domain.vo.TestTreeVo; import com.ruoyi.demo.domain.vo.TestTreeVo;

View File

@ -1,7 +1,7 @@
package com.ruoyi.demo.service; package com.ruoyi.demo.service;
import com.ruoyi.common.datasource.core.page.PageQuery; import com.ruoyi.common.mybatis.core.page.PageQuery;
import com.ruoyi.common.datasource.core.page.TableDataInfo; import com.ruoyi.common.mybatis.core.page.TableDataInfo;
import com.ruoyi.demo.domain.TestDemo; import com.ruoyi.demo.domain.TestDemo;
import com.ruoyi.demo.domain.bo.TestDemoBo; import com.ruoyi.demo.domain.bo.TestDemoBo;
import com.ruoyi.demo.domain.vo.TestDemoVo; import com.ruoyi.demo.domain.vo.TestDemoVo;

View File

@ -5,8 +5,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.datasource.core.page.PageQuery; import com.ruoyi.common.mybatis.core.page.PageQuery;
import com.ruoyi.common.datasource.core.page.TableDataInfo; import com.ruoyi.common.mybatis.core.page.TableDataInfo;
import com.ruoyi.demo.domain.TestDemo; import com.ruoyi.demo.domain.TestDemo;
import com.ruoyi.demo.domain.bo.TestDemoBo; import com.ruoyi.demo.domain.bo.TestDemoBo;
import com.ruoyi.demo.domain.vo.TestDemoVo; import com.ruoyi.demo.domain.vo.TestDemoVo;

View File

@ -24,7 +24,7 @@
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-datasource</artifactId> <artifactId>ruoyi-common-mybatis</artifactId>
</dependency> </dependency>
<dependency> <dependency>

View File

@ -5,8 +5,8 @@ import cn.hutool.core.convert.Convert;
import cn.hutool.core.io.IoUtil; import cn.hutool.core.io.IoUtil;
import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.datasource.core.page.PageQuery; import com.ruoyi.common.mybatis.core.page.PageQuery;
import com.ruoyi.common.datasource.core.page.TableDataInfo; import com.ruoyi.common.mybatis.core.page.TableDataInfo;
import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.generator.domain.GenTable; import com.ruoyi.generator.domain.GenTable;

View File

@ -1,7 +1,7 @@
package com.ruoyi.generator.mapper; package com.ruoyi.generator.mapper;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore; import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.ruoyi.common.datasource.core.mapper.BaseMapperPlus; import com.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
import com.ruoyi.generator.domain.GenTableColumn; import com.ruoyi.generator.domain.GenTableColumn;
import java.util.List; import java.util.List;

View File

@ -2,7 +2,7 @@ package com.ruoyi.generator.mapper;
import com.baomidou.mybatisplus.annotation.InterceptorIgnore; import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.datasource.core.mapper.BaseMapperPlus; import com.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
import com.ruoyi.generator.domain.GenTable; import com.ruoyi.generator.domain.GenTable;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;

View File

@ -18,8 +18,8 @@ import com.ruoyi.common.core.utils.JsonUtils;
import com.ruoyi.common.core.utils.StreamUtils; import com.ruoyi.common.core.utils.StreamUtils;
import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.core.utils.file.FileUtils; import com.ruoyi.common.core.utils.file.FileUtils;
import com.ruoyi.common.datasource.core.page.PageQuery; import com.ruoyi.common.mybatis.core.page.PageQuery;
import com.ruoyi.common.datasource.core.page.TableDataInfo; import com.ruoyi.common.mybatis.core.page.TableDataInfo;
import com.ruoyi.common.satoken.utils.LoginHelper; import com.ruoyi.common.satoken.utils.LoginHelper;
import com.ruoyi.generator.domain.GenTable; import com.ruoyi.generator.domain.GenTable;
import com.ruoyi.generator.domain.GenTableColumn; import com.ruoyi.generator.domain.GenTableColumn;

View File

@ -1,7 +1,7 @@
package com.ruoyi.generator.service; package com.ruoyi.generator.service;
import com.ruoyi.common.datasource.core.page.PageQuery; import com.ruoyi.common.mybatis.core.page.PageQuery;
import com.ruoyi.common.datasource.core.page.TableDataInfo; import com.ruoyi.common.mybatis.core.page.TableDataInfo;
import com.ruoyi.generator.domain.GenTable; import com.ruoyi.generator.domain.GenTable;
import com.ruoyi.generator.domain.GenTableColumn; import com.ruoyi.generator.domain.GenTableColumn;

View File

@ -8,7 +8,7 @@ import com.ruoyi.common.core.constant.GenConstants;
import com.ruoyi.common.core.utils.DateUtils; import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.common.core.utils.JsonUtils; import com.ruoyi.common.core.utils.JsonUtils;
import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.datasource.helper.DataBaseHelper; import com.ruoyi.common.mybatis.helper.DataBaseHelper;
import com.ruoyi.generator.domain.GenTable; import com.ruoyi.generator.domain.GenTable;
import com.ruoyi.generator.domain.GenTableColumn; import com.ruoyi.generator.domain.GenTableColumn;
import lombok.AccessLevel; import lombok.AccessLevel;

View File

@ -30,7 +30,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap> </resultMap>
<select id="selectDbTableColumnsByName" parameterType="String" resultMap="GenTableColumnResult"> <select id="selectDbTableColumnsByName" parameterType="String" resultMap="GenTableColumnResult">
<if test="@com.ruoyi.common.datasource.helper.DataBaseHelper@isMySql()"> <if test="@com.ruoyi.common.mybatis.helper.DataBaseHelper@isMySql()">
select column_name, select column_name,
(case when (is_nullable = 'no' <![CDATA[ && ]]> column_key != 'PRI') then '1' else null end) as is_required, (case when (is_nullable = 'no' <![CDATA[ && ]]> column_key != 'PRI') then '1' else null end) as is_required,
(case when column_key = 'PRI' then '1' else '0' end) as is_pk, (case when column_key = 'PRI' then '1' else '0' end) as is_pk,
@ -41,7 +41,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
from information_schema.columns where table_schema = (select database()) and table_name = (#{tableName}) from information_schema.columns where table_schema = (select database()) and table_name = (#{tableName})
order by ordinal_position order by ordinal_position
</if> </if>
<if test="@com.ruoyi.common.datasource.helper.DataBaseHelper@isOracle()"> <if test="@com.ruoyi.common.mybatis.helper.DataBaseHelper@isOracle()">
select lower(temp.column_name) as column_name, select lower(temp.column_name) as column_name,
(case when (temp.nullable = 'N' and temp.constraint_type != 'P') then '1' else null end) as is_required, (case when (temp.nullable = 'N' and temp.constraint_type != 'P') then '1' else null end) as is_required,
(case when temp.constraint_type = 'P' then '1' else '0' end) as is_pk, (case when temp.constraint_type = 'P' then '1' else '0' end) as is_pk,
@ -61,7 +61,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
WHERE temp.row_flg = 1 WHERE temp.row_flg = 1
ORDER BY temp.column_id ORDER BY temp.column_id
</if> </if>
<if test="@com.ruoyi.common.datasource.helper.DataBaseHelper@isPostgerSql()"> <if test="@com.ruoyi.common.mybatis.helper.DataBaseHelper@isPostgerSql()">
SELECT column_name, is_required, is_pk, sort, column_comment, is_increment, column_type SELECT column_name, is_required, is_pk, sort, column_comment, is_increment, column_type
FROM ( FROM (
SELECT c.relname AS table_name, SELECT c.relname AS table_name,
@ -94,7 +94,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
) temp ) temp
WHERE table_name = (#{tableName}) WHERE table_name = (#{tableName})
</if> </if>
<if test="@com.ruoyi.common.datasource.helper.DataBaseHelper@isSqlServer()"> <if test="@com.ruoyi.common.mybatis.helper.DataBaseHelper@isSqlServer()">
SELECT SELECT
cast(A.NAME as nvarchar) as column_name, cast(A.NAME as nvarchar) as column_name,
cast(B.NAME as nvarchar) + (case when B.NAME = 'numeric' then '(' + cast(A.prec as nvarchar) + ',' + cast(A.scale as nvarchar) + ')' else '' end) as column_type, cast(B.NAME as nvarchar) + (case when B.NAME = 'numeric' then '(' + cast(A.prec as nvarchar) + ',' + cast(A.scale as nvarchar) + ')' else '' end) as column_type,

View File

@ -54,7 +54,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap> </resultMap>
<select id="selectPageDbTableList" resultMap="GenTableResult"> <select id="selectPageDbTableList" resultMap="GenTableResult">
<if test="@com.ruoyi.common.datasource.helper.DataBaseHelper@isMySql()"> <if test="@com.ruoyi.common.mybatis.helper.DataBaseHelper@isMySql()">
select table_name, table_comment, create_time, update_time select table_name, table_comment, create_time, update_time
from information_schema.tables from information_schema.tables
where table_schema = (select database()) where table_schema = (select database())
@ -68,7 +68,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</if> </if>
order by create_time desc order by create_time desc
</if> </if>
<if test="@com.ruoyi.common.datasource.helper.DataBaseHelper@isOracle()"> <if test="@com.ruoyi.common.mybatis.helper.DataBaseHelper@isOracle()">
select lower(dt.table_name) as table_name, dtc.comments as table_comment, uo.created as create_time, uo.last_ddl_time as update_time select lower(dt.table_name) as table_name, dtc.comments as table_comment, uo.created as create_time, uo.last_ddl_time as update_time
from user_tables dt, user_tab_comments dtc, user_objects uo from user_tables dt, user_tab_comments dtc, user_objects uo
where dt.table_name = dtc.table_name where dt.table_name = dtc.table_name
@ -84,7 +84,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</if> </if>
order by create_time desc order by create_time desc
</if> </if>
<if test="@com.ruoyi.common.datasource.helper.DataBaseHelper@isPostgerSql()"> <if test="@com.ruoyi.common.mybatis.helper.DataBaseHelper@isPostgerSql()">
select table_name, table_comment, create_time, update_time select table_name, table_comment, create_time, update_time
from ( from (
SELECT c.relname AS table_name, SELECT c.relname AS table_name,
@ -108,7 +108,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</if> </if>
order by create_time desc order by create_time desc
</if> </if>
<if test="@com.ruoyi.common.datasource.helper.DataBaseHelper@isSqlServer()"> <if test="@com.ruoyi.common.mybatis.helper.DataBaseHelper@isSqlServer()">
SELECT cast(D.NAME as nvarchar) as table_name, SELECT cast(D.NAME as nvarchar) as table_name,
cast(F.VALUE as nvarchar) as table_comment, cast(F.VALUE as nvarchar) as table_comment,
crdate as create_time, crdate as create_time,
@ -129,7 +129,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select> </select>
<select id="selectDbTableListByNames" resultMap="GenTableResult"> <select id="selectDbTableListByNames" resultMap="GenTableResult">
<if test="@com.ruoyi.common.datasource.helper.DataBaseHelper@isMySql()"> <if test="@com.ruoyi.common.mybatis.helper.DataBaseHelper@isMySql()">
select table_name, table_comment, create_time, update_time from information_schema.tables select table_name, table_comment, create_time, update_time from information_schema.tables
where table_name NOT LIKE 'xxl_job_%' and table_name NOT LIKE 'gen_%' and table_schema = (select database()) where table_name NOT LIKE 'xxl_job_%' and table_name NOT LIKE 'gen_%' and table_schema = (select database())
and table_name in and table_name in
@ -137,7 +137,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{name} #{name}
</foreach> </foreach>
</if> </if>
<if test="@com.ruoyi.common.datasource.helper.DataBaseHelper@isOracle()"> <if test="@com.ruoyi.common.mybatis.helper.DataBaseHelper@isOracle()">
select lower(dt.table_name) as table_name, dtc.comments as table_comment, uo.created as create_time, uo.last_ddl_time as update_time select lower(dt.table_name) as table_name, dtc.comments as table_comment, uo.created as create_time, uo.last_ddl_time as update_time
from user_tables dt, user_tab_comments dtc, user_objects uo from user_tables dt, user_tab_comments dtc, user_objects uo
where dt.table_name = dtc.table_name where dt.table_name = dtc.table_name
@ -150,7 +150,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{name} #{name}
</foreach> </foreach>
</if> </if>
<if test="@com.ruoyi.common.datasource.helper.DataBaseHelper@isPostgerSql()"> <if test="@com.ruoyi.common.mybatis.helper.DataBaseHelper@isPostgerSql()">
select table_name, table_comment, create_time, update_time select table_name, table_comment, create_time, update_time
from ( from (
SELECT c.relname AS table_name, SELECT c.relname AS table_name,
@ -170,7 +170,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{name} #{name}
</foreach> </foreach>
</if> </if>
<if test="@com.ruoyi.common.datasource.helper.DataBaseHelper@isSqlServer()"> <if test="@com.ruoyi.common.mybatis.helper.DataBaseHelper@isSqlServer()">
SELECT cast(D.NAME as nvarchar) as table_name, SELECT cast(D.NAME as nvarchar) as table_name,
cast(F.VALUE as nvarchar) as table_comment, cast(F.VALUE as nvarchar) as table_comment,
crdate as create_time, crdate as create_time,
@ -187,12 +187,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select> </select>
<select id="selectTableByName" parameterType="String" resultMap="GenTableResult"> <select id="selectTableByName" parameterType="String" resultMap="GenTableResult">
<if test="@com.ruoyi.common.datasource.helper.DataBaseHelper@isMySql()"> <if test="@com.ruoyi.common.mybatis.helper.DataBaseHelper@isMySql()">
select table_name, table_comment, create_time, update_time from information_schema.tables select table_name, table_comment, create_time, update_time from information_schema.tables
where table_name NOT LIKE 'xxl_job_%' and table_name NOT LIKE 'gen_%' and table_schema = (select database()) where table_name NOT LIKE 'xxl_job_%' and table_name NOT LIKE 'gen_%' and table_schema = (select database())
and table_name = #{tableName} and table_name = #{tableName}
</if> </if>
<if test="@com.ruoyi.common.datasource.helper.DataBaseHelper@isOracle()"> <if test="@com.ruoyi.common.mybatis.helper.DataBaseHelper@isOracle()">
select lower(dt.table_name) as table_name, dtc.comments as table_comment, uo.created as create_time, uo.last_ddl_time as update_time select lower(dt.table_name) as table_name, dtc.comments as table_comment, uo.created as create_time, uo.last_ddl_time as update_time
from user_tables dt, user_tab_comments dtc, user_objects uo from user_tables dt, user_tab_comments dtc, user_objects uo
where dt.table_name = dtc.table_name where dt.table_name = dtc.table_name
@ -202,7 +202,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
AND dt.table_name NOT IN (select table_name from gen_table) AND dt.table_name NOT IN (select table_name from gen_table)
and lower(dt.table_name) = #{tableName} and lower(dt.table_name) = #{tableName}
</if> </if>
<if test="@com.ruoyi.common.datasource.helper.DataBaseHelper@isPostgerSql()"> <if test="@com.ruoyi.common.mybatis.helper.DataBaseHelper@isPostgerSql()">
select table_name, table_comment, create_time, update_time select table_name, table_comment, create_time, update_time
from ( from (
SELECT c.relname AS table_name, SELECT c.relname AS table_name,
@ -219,7 +219,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where table_name NOT LIKE 'xxl_job_%' and table_name NOT LIKE 'gen_%' where table_name NOT LIKE 'xxl_job_%' and table_name NOT LIKE 'gen_%'
and table_name = #{tableName} and table_name = #{tableName}
</if> </if>
<if test="@com.ruoyi.common.datasource.helper.DataBaseHelper@isSqlServer()"> <if test="@com.ruoyi.common.mybatis.helper.DataBaseHelper@isSqlServer()">
SELECT cast(D.NAME as nvarchar) as table_name, SELECT cast(D.NAME as nvarchar) as table_name,
cast(F.VALUE as nvarchar) as table_comment, cast(F.VALUE as nvarchar) as table_comment,
crdate as create_time, crdate as create_time,

View File

@ -2,7 +2,6 @@ package ${packageName}.controller;
import java.util.List; import java.util.List;
import java.util.Arrays; import java.util.Arrays;
import java.util.concurrent.TimeUnit;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
@ -13,18 +12,17 @@ import org.springframework.validation.annotation.Validated;
import com.ruoyi.common.web.annotation.RepeatSubmit; import com.ruoyi.common.web.annotation.RepeatSubmit;
import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.datasource.core.page.PageQuery; import com.ruoyi.common.mybatis.core.page.PageQuery;
import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.validate.AddGroup; import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup; import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.core.validate.QueryGroup;
import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.excel.utils.ExcelUtil; import com.ruoyi.common.excel.utils.ExcelUtil;
import ${packageName}.domain.vo.${ClassName}Vo; import ${packageName}.domain.vo.${ClassName}Vo;
import ${packageName}.domain.bo.${ClassName}Bo; import ${packageName}.domain.bo.${ClassName}Bo;
import ${packageName}.service.I${ClassName}Service; import ${packageName}.service.I${ClassName}Service;
#if($table.crud || $table.sub) #if($table.crud || $table.sub)
import com.ruoyi.common.datasource.core.page.TableDataInfo; import com.ruoyi.common.mybatis.core.page.TableDataInfo;
#elseif($table.tree) #elseif($table.tree)
#end #end

View File

@ -2,7 +2,7 @@ package ${packageName}.mapper;
import ${packageName}.domain.${ClassName}; import ${packageName}.domain.${ClassName};
import ${packageName}.domain.vo.${ClassName}Vo; import ${packageName}.domain.vo.${ClassName}Vo;
import com.ruoyi.common.datasource.core.mapper.BaseMapperPlus; import com.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
/** /**
* ${functionName}Mapper接口 * ${functionName}Mapper接口

View File

@ -4,8 +4,8 @@ import ${packageName}.domain.${ClassName};
import ${packageName}.domain.vo.${ClassName}Vo; import ${packageName}.domain.vo.${ClassName}Vo;
import ${packageName}.domain.bo.${ClassName}Bo; import ${packageName}.domain.bo.${ClassName}Bo;
#if($table.crud || $table.sub) #if($table.crud || $table.sub)
import com.ruoyi.common.datasource.core.page.TableDataInfo; import com.ruoyi.common.mybatis.core.page.TableDataInfo;
import com.ruoyi.common.datasource.core.page.PageQuery; import com.ruoyi.common.mybatis.core.page.PageQuery;
#end #end
import java.util.Collection; import java.util.Collection;

View File

@ -3,8 +3,8 @@ package ${packageName}.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.StringUtils;
#if($table.crud || $table.sub) #if($table.crud || $table.sub)
import com.ruoyi.common.datasource.core.page.TableDataInfo; import com.ruoyi.common.mybatis.core.page.TableDataInfo;
import com.ruoyi.common.datasource.core.page.PageQuery; import com.ruoyi.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
#end #end
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;

View File

@ -23,7 +23,7 @@
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-datasource</artifactId> <artifactId>ruoyi-common-mybatis</artifactId>
</dependency> </dependency>
<dependency> <dependency>
@ -58,10 +58,21 @@
<groupId>com.ruoyi</groupId> <groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-satoken</artifactId> <artifactId>ruoyi-common-satoken</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-security</artifactId>
</dependency>
<dependency> <dependency>
<groupId>com.ruoyi</groupId> <groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-web</artifactId> <artifactId>ruoyi-common-web</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common-idempotent</artifactId>
</dependency>
</dependencies> </dependencies>
</project> </project>

View File

@ -4,9 +4,9 @@ import cn.dev33.satoken.annotation.SaCheckPermission;
import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.core.constant.UserConstants; import com.ruoyi.common.core.constant.UserConstants;
import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.datasource.core.page.PageQuery; import com.ruoyi.common.mybatis.core.page.PageQuery;
import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.datasource.core.page.TableDataInfo; import com.ruoyi.common.mybatis.core.page.TableDataInfo;
import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.excel.utils.ExcelUtil; import com.ruoyi.common.excel.utils.ExcelUtil;
import com.ruoyi.system.domain.SysConfig; import com.ruoyi.system.domain.SysConfig;

View File

@ -4,10 +4,10 @@ import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.datasource.core.page.PageQuery; import com.ruoyi.common.mybatis.core.page.PageQuery;
import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.domain.SysDictData; import com.ruoyi.system.domain.SysDictData;
import com.ruoyi.common.datasource.core.page.TableDataInfo; import com.ruoyi.common.mybatis.core.page.TableDataInfo;
import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.excel.utils.ExcelUtil; import com.ruoyi.common.excel.utils.ExcelUtil;
import com.ruoyi.system.service.ISysDictDataService; import com.ruoyi.system.service.ISysDictDataService;

View File

@ -4,10 +4,10 @@ import cn.dev33.satoken.annotation.SaCheckPermission;
import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.core.constant.UserConstants; import com.ruoyi.common.core.constant.UserConstants;
import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.datasource.core.page.PageQuery; import com.ruoyi.common.mybatis.core.page.PageQuery;
import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.domain.SysDictType; import com.ruoyi.system.domain.SysDictType;
import com.ruoyi.common.datasource.core.page.TableDataInfo; import com.ruoyi.common.mybatis.core.page.TableDataInfo;
import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.excel.utils.ExcelUtil; import com.ruoyi.common.excel.utils.ExcelUtil;
import com.ruoyi.system.service.ISysDictTypeService; import com.ruoyi.system.service.ISysDictTypeService;

View File

@ -2,9 +2,9 @@ package com.ruoyi.system.controller;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import com.ruoyi.common.core.constant.CacheConstants; import com.ruoyi.common.core.constant.CacheConstants;
import com.ruoyi.common.datasource.core.page.PageQuery; import com.ruoyi.common.mybatis.core.page.PageQuery;
import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.datasource.core.page.TableDataInfo; import com.ruoyi.common.mybatis.core.page.TableDataInfo;
import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.excel.utils.ExcelUtil; import com.ruoyi.common.excel.utils.ExcelUtil;
import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.annotation.Log;

View File

@ -3,9 +3,9 @@ package com.ruoyi.system.controller;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.datasource.core.page.PageQuery; import com.ruoyi.common.mybatis.core.page.PageQuery;
import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.datasource.core.page.TableDataInfo; import com.ruoyi.common.mybatis.core.page.TableDataInfo;
import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.system.domain.SysNotice; import com.ruoyi.system.domain.SysNotice;
import com.ruoyi.system.service.ISysNoticeService; import com.ruoyi.system.service.ISysNoticeService;

View File

@ -3,9 +3,9 @@ package com.ruoyi.system.controller;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.datasource.core.page.PageQuery; import com.ruoyi.common.mybatis.core.page.PageQuery;
import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.datasource.core.page.TableDataInfo; import com.ruoyi.common.mybatis.core.page.TableDataInfo;
import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.excel.utils.ExcelUtil; import com.ruoyi.common.excel.utils.ExcelUtil;
import com.ruoyi.system.domain.SysOperLog; import com.ruoyi.system.domain.SysOperLog;

View File

@ -1,16 +1,16 @@
package com.ruoyi.system.controller; package com.ruoyi.system.controller;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import com.ruoyi.common.idempotent.annotation.RepeatSubmit;
import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.datasource.core.page.PageQuery; import com.ruoyi.common.mybatis.core.page.PageQuery;
import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.datasource.core.page.TableDataInfo; import com.ruoyi.common.mybatis.core.page.TableDataInfo;
import com.ruoyi.common.core.validate.AddGroup; import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup; import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.core.validate.QueryGroup; import com.ruoyi.common.core.validate.QueryGroup;
import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.web.annotation.RepeatSubmit;
import com.ruoyi.system.domain.bo.SysOssConfigBo; import com.ruoyi.system.domain.bo.SysOssConfigBo;
import com.ruoyi.system.domain.vo.SysOssConfigVo; import com.ruoyi.system.domain.vo.SysOssConfigVo;
import com.ruoyi.system.service.ISysOssConfigService; import com.ruoyi.system.service.ISysOssConfigService;

View File

@ -9,9 +9,9 @@ import cn.hutool.http.HttpUtil;
import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.datasource.core.page.PageQuery; import com.ruoyi.common.mybatis.core.page.PageQuery;
import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.datasource.core.page.TableDataInfo; import com.ruoyi.common.mybatis.core.page.TableDataInfo;
import com.ruoyi.common.core.validate.QueryGroup; import com.ruoyi.common.core.validate.QueryGroup;
import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.core.utils.file.FileUtils; import com.ruoyi.common.core.utils.file.FileUtils;

View File

@ -4,9 +4,9 @@ import cn.dev33.satoken.annotation.SaCheckPermission;
import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.core.constant.UserConstants; import com.ruoyi.common.core.constant.UserConstants;
import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.datasource.core.page.PageQuery; import com.ruoyi.common.mybatis.core.page.PageQuery;
import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.datasource.core.page.TableDataInfo; import com.ruoyi.common.mybatis.core.page.TableDataInfo;
import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.excel.utils.ExcelUtil; import com.ruoyi.common.excel.utils.ExcelUtil;
import com.ruoyi.system.domain.SysPost; import com.ruoyi.system.domain.SysPost;

View File

@ -5,14 +5,14 @@ import cn.hutool.core.util.ObjectUtil;
import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.core.constant.UserConstants; import com.ruoyi.common.core.constant.UserConstants;
import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.datasource.core.page.PageQuery; import com.ruoyi.common.mybatis.core.page.PageQuery;
import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.satoken.utils.LoginHelper; import com.ruoyi.common.satoken.utils.LoginHelper;
import com.ruoyi.system.domain.SysDept; import com.ruoyi.system.domain.SysDept;
import com.ruoyi.system.domain.SysRole; import com.ruoyi.system.domain.SysRole;
import com.ruoyi.system.domain.SysUser; import com.ruoyi.system.domain.SysUser;
import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.datasource.core.page.TableDataInfo; import com.ruoyi.common.mybatis.core.page.TableDataInfo;
import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.excel.utils.ExcelUtil; import com.ruoyi.common.excel.utils.ExcelUtil;
import com.ruoyi.system.domain.SysUserRole; import com.ruoyi.system.domain.SysUserRole;

View File

@ -10,13 +10,13 @@ import com.ruoyi.common.excel.core.ExcelResult;
import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.core.constant.UserConstants; import com.ruoyi.common.core.constant.UserConstants;
import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.datasource.core.page.PageQuery; import com.ruoyi.common.mybatis.core.page.PageQuery;
import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.satoken.utils.LoginHelper; import com.ruoyi.common.satoken.utils.LoginHelper;
import com.ruoyi.system.domain.SysDept; import com.ruoyi.system.domain.SysDept;
import com.ruoyi.system.domain.SysRole; import com.ruoyi.system.domain.SysRole;
import com.ruoyi.system.domain.SysUser; import com.ruoyi.system.domain.SysUser;
import com.ruoyi.common.datasource.core.page.TableDataInfo; import com.ruoyi.common.mybatis.core.page.TableDataInfo;
import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.core.utils.StreamUtils; import com.ruoyi.common.core.utils.StreamUtils;
import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.StringUtils;

View File

@ -9,7 +9,7 @@ import com.ruoyi.common.core.constant.CacheConstants;
import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.core.web.controller.BaseController;
import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.dto.UserOnlineDTO; import com.ruoyi.common.core.domain.dto.UserOnlineDTO;
import com.ruoyi.common.datasource.core.page.TableDataInfo; import com.ruoyi.common.mybatis.core.page.TableDataInfo;
import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.core.utils.StreamUtils; import com.ruoyi.common.core.utils.StreamUtils;
import com.ruoyi.common.core.utils.StringUtils; import com.ruoyi.common.core.utils.StringUtils;

View File

@ -1,6 +1,6 @@
package com.ruoyi.system.mapper; package com.ruoyi.system.mapper;
import com.ruoyi.common.datasource.core.mapper.BaseMapperPlus; import com.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
import com.ruoyi.system.domain.SysConfig; import com.ruoyi.system.domain.SysConfig;
/** /**

View File

@ -2,9 +2,9 @@ package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.ruoyi.common.datasource.annotation.DataColumn; import com.ruoyi.common.mybatis.annotation.DataColumn;
import com.ruoyi.common.datasource.annotation.DataPermission; import com.ruoyi.common.mybatis.annotation.DataPermission;
import com.ruoyi.common.datasource.core.mapper.BaseMapperPlus; import com.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
import com.ruoyi.system.domain.SysDept; import com.ruoyi.system.domain.SysDept;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;

View File

@ -3,7 +3,7 @@ package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.core.constant.UserConstants; import com.ruoyi.common.core.constant.UserConstants;
import com.ruoyi.system.domain.SysDictData; import com.ruoyi.system.domain.SysDictData;
import com.ruoyi.common.datasource.core.mapper.BaseMapperPlus; import com.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
import java.util.List; import java.util.List;

View File

@ -1,7 +1,7 @@
package com.ruoyi.system.mapper; package com.ruoyi.system.mapper;
import com.ruoyi.system.domain.SysDictType; import com.ruoyi.system.domain.SysDictType;
import com.ruoyi.common.datasource.core.mapper.BaseMapperPlus; import com.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
/** /**
* 字典表 数据层 * 字典表 数据层

View File

@ -1,6 +1,6 @@
package com.ruoyi.system.mapper; package com.ruoyi.system.mapper;
import com.ruoyi.common.datasource.core.mapper.BaseMapperPlus; import com.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
import com.ruoyi.system.domain.SysLogininfor; import com.ruoyi.system.domain.SysLogininfor;
/** /**

View File

@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.ruoyi.common.core.constant.UserConstants; import com.ruoyi.common.core.constant.UserConstants;
import com.ruoyi.system.domain.SysMenu; import com.ruoyi.system.domain.SysMenu;
import com.ruoyi.common.datasource.core.mapper.BaseMapperPlus; import com.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;

View File

@ -1,6 +1,6 @@
package com.ruoyi.system.mapper; package com.ruoyi.system.mapper;
import com.ruoyi.common.datasource.core.mapper.BaseMapperPlus; import com.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
import com.ruoyi.system.domain.SysNotice; import com.ruoyi.system.domain.SysNotice;
/** /**

View File

@ -1,6 +1,6 @@
package com.ruoyi.system.mapper; package com.ruoyi.system.mapper;
import com.ruoyi.common.datasource.core.mapper.BaseMapperPlus; import com.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
import com.ruoyi.system.domain.SysOperLog; import com.ruoyi.system.domain.SysOperLog;
/** /**

View File

@ -1,6 +1,6 @@
package com.ruoyi.system.mapper; package com.ruoyi.system.mapper;
import com.ruoyi.common.datasource.core.mapper.BaseMapperPlus; import com.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
import com.ruoyi.system.domain.SysOssConfig; import com.ruoyi.system.domain.SysOssConfig;
import com.ruoyi.system.domain.vo.SysOssConfigVo; import com.ruoyi.system.domain.vo.SysOssConfigVo;

View File

@ -1,6 +1,6 @@
package com.ruoyi.system.mapper; package com.ruoyi.system.mapper;
import com.ruoyi.common.datasource.core.mapper.BaseMapperPlus; import com.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
import com.ruoyi.system.domain.SysOss; import com.ruoyi.system.domain.SysOss;
import com.ruoyi.system.domain.vo.SysOssVo; import com.ruoyi.system.domain.vo.SysOssVo;

View File

@ -1,6 +1,6 @@
package com.ruoyi.system.mapper; package com.ruoyi.system.mapper;
import com.ruoyi.common.datasource.core.mapper.BaseMapperPlus; import com.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
import com.ruoyi.system.domain.SysPost; import com.ruoyi.system.domain.SysPost;
import java.util.List; import java.util.List;

View File

@ -1,6 +1,6 @@
package com.ruoyi.system.mapper; package com.ruoyi.system.mapper;
import com.ruoyi.common.datasource.core.mapper.BaseMapperPlus; import com.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
import com.ruoyi.system.domain.SysRoleDept; import com.ruoyi.system.domain.SysRoleDept;
/** /**

View File

@ -3,10 +3,10 @@ package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.datasource.annotation.DataColumn; import com.ruoyi.common.mybatis.annotation.DataColumn;
import com.ruoyi.common.datasource.annotation.DataPermission; import com.ruoyi.common.mybatis.annotation.DataPermission;
import com.ruoyi.system.domain.SysRole; import com.ruoyi.system.domain.SysRole;
import com.ruoyi.common.datasource.core.mapper.BaseMapperPlus; import com.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;

View File

@ -1,6 +1,6 @@
package com.ruoyi.system.mapper; package com.ruoyi.system.mapper;
import com.ruoyi.common.datasource.core.mapper.BaseMapperPlus; import com.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
import com.ruoyi.system.domain.SysRoleMenu; import com.ruoyi.system.domain.SysRoleMenu;
/** /**

View File

@ -3,10 +3,10 @@ package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.datasource.annotation.DataColumn; import com.ruoyi.common.mybatis.annotation.DataColumn;
import com.ruoyi.common.datasource.annotation.DataPermission; import com.ruoyi.common.mybatis.annotation.DataPermission;
import com.ruoyi.system.domain.SysUser; import com.ruoyi.system.domain.SysUser;
import com.ruoyi.common.datasource.core.mapper.BaseMapperPlus; import com.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;

View File

@ -1,6 +1,6 @@
package com.ruoyi.system.mapper; package com.ruoyi.system.mapper;
import com.ruoyi.common.datasource.core.mapper.BaseMapperPlus; import com.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
import com.ruoyi.system.domain.SysUserPost; import com.ruoyi.system.domain.SysUserPost;
/** /**

View File

@ -1,6 +1,6 @@
package com.ruoyi.system.mapper; package com.ruoyi.system.mapper;
import com.ruoyi.common.datasource.core.mapper.BaseMapperPlus; import com.ruoyi.common.mybatis.core.mapper.BaseMapperPlus;
import com.ruoyi.system.domain.SysUserRole; import com.ruoyi.system.domain.SysUserRole;
import java.util.List; import java.util.List;

View File

@ -1,7 +1,7 @@
package com.ruoyi.system.service; package com.ruoyi.system.service;
import com.ruoyi.common.datasource.core.page.PageQuery; import com.ruoyi.common.mybatis.core.page.PageQuery;
import com.ruoyi.common.datasource.core.page.TableDataInfo; import com.ruoyi.common.mybatis.core.page.TableDataInfo;
import com.ruoyi.system.domain.SysConfig; import com.ruoyi.system.domain.SysConfig;
import java.util.List; import java.util.List;

Some files were not shown because too many files have changed in this diff Show More