| | |
| | | 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; |
| | |
| | | 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 |