zhou zhou
13 小时以前 25f0001a7e76d0565fa9de0651f1177b9f61472f
rsf-server/src/main/java/com/vincent/rsf/server/common/config/MybatisPlusConfig.java
@@ -6,10 +6,12 @@
import com.baomidou.mybatisplus.extension.parser.JsqlParserGlobal;
import com.baomidou.mybatisplus.extension.parser.cache.JdkSerialCaffeineJsqlParseCache;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.DynamicTableNameInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.handler.TenantLineHandler;
import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.TenantLineInnerInterceptor;
import com.vincent.rsf.server.manager.partition.AsnLogPartitionSupport;
import com.vincent.rsf.server.system.entity.User;
import net.sf.jsqlparser.expression.Expression;
import net.sf.jsqlparser.expression.LongValue;
@@ -38,13 +40,18 @@
    private static volatile boolean jsqlParserConfigured = false;
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
    public MybatisPlusInterceptor mybatisPlusInterceptor(AsnLogPartitionSupport asnLogPartitionSupport) {
        configureJsqlParser();
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        // 添加乐观锁插件
        interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
        // ASN历史日志动态表名
        interceptor.addInnerInterceptor(new DynamicTableNameInnerInterceptor(
                (sql, tableName) -> asnLogPartitionSupport.resolveRoutedTable(tableName)
        ));
        // 多租户插件配置
        TenantLineHandler tenantLineHandler = new TenantLineHandler() {
            @Override