|
@@ -16,6 +16,7 @@
|
|
package com.baomidou.mybatisplus.extension.plugins.inner;
|
|
package com.baomidou.mybatisplus.extension.plugins.inner;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.parser.SqlParserHelper;
|
|
import com.baomidou.mybatisplus.core.parser.SqlParserHelper;
|
|
|
|
+import com.baomidou.mybatisplus.core.plugins.InterceptorIgnoreHelper;
|
|
import com.baomidou.mybatisplus.core.toolkit.*;
|
|
import com.baomidou.mybatisplus.core.toolkit.*;
|
|
import com.baomidou.mybatisplus.extension.parser.JsqlParserSupport;
|
|
import com.baomidou.mybatisplus.extension.parser.JsqlParserSupport;
|
|
import com.baomidou.mybatisplus.extension.plugins.handler.TenantLineHandler;
|
|
import com.baomidou.mybatisplus.extension.plugins.handler.TenantLineHandler;
|
|
@@ -62,9 +63,8 @@ public class TenantLineInnerInterceptor extends JsqlParserSupport implements Inn
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public void beforeQuery(Executor executor, MappedStatement ms, Object parameter, RowBounds rowBounds, ResultHandler resultHandler, BoundSql boundSql) throws SQLException {
|
|
public void beforeQuery(Executor executor, MappedStatement ms, Object parameter, RowBounds rowBounds, ResultHandler resultHandler, BoundSql boundSql) throws SQLException {
|
|
- if (SqlParserHelper.getSqlParserInfo(ms)) {
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
|
|
+ if (ignore(ms)) return;
|
|
|
|
+ if (SqlParserHelper.getSqlParserInfo(ms)) return;
|
|
PluginUtils.MPBoundSql mpBs = PluginUtils.mpBoundSql(boundSql);
|
|
PluginUtils.MPBoundSql mpBs = PluginUtils.mpBoundSql(boundSql);
|
|
mpBs.sql(parserSingle(mpBs.sql(), null));
|
|
mpBs.sql(parserSingle(mpBs.sql(), null));
|
|
}
|
|
}
|
|
@@ -73,11 +73,10 @@ public class TenantLineInnerInterceptor extends JsqlParserSupport implements Inn
|
|
public void beforePrepare(StatementHandler sh, Connection connection, Integer transactionTimeout) {
|
|
public void beforePrepare(StatementHandler sh, Connection connection, Integer transactionTimeout) {
|
|
PluginUtils.MPStatementHandler mpSh = PluginUtils.mpStatementHandler(sh);
|
|
PluginUtils.MPStatementHandler mpSh = PluginUtils.mpStatementHandler(sh);
|
|
MappedStatement ms = mpSh.mappedStatement();
|
|
MappedStatement ms = mpSh.mappedStatement();
|
|
- if (SqlParserHelper.getSqlParserInfo(ms)) {
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
SqlCommandType sct = ms.getSqlCommandType();
|
|
SqlCommandType sct = ms.getSqlCommandType();
|
|
if (sct == SqlCommandType.INSERT || sct == SqlCommandType.UPDATE || sct == SqlCommandType.DELETE) {
|
|
if (sct == SqlCommandType.INSERT || sct == SqlCommandType.UPDATE || sct == SqlCommandType.DELETE) {
|
|
|
|
+ if (ignore(ms)) return;
|
|
|
|
+ if (SqlParserHelper.getSqlParserInfo(ms)) return;
|
|
PluginUtils.MPBoundSql mpBs = mpSh.mPBoundSql();
|
|
PluginUtils.MPBoundSql mpBs = mpSh.mPBoundSql();
|
|
mpBs.sql(parserMulti(mpBs.sql(), null));
|
|
mpBs.sql(parserMulti(mpBs.sql(), null));
|
|
}
|
|
}
|
|
@@ -343,6 +342,13 @@ public class TenantLineInnerInterceptor extends JsqlParserSupport implements Inn
|
|
return new Column(column.toString());
|
|
return new Column(column.toString());
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public boolean ignore(MappedStatement ms) {
|
|
|
|
+ return InterceptorIgnoreHelper.willIgnore(ms.getId(), i -> {
|
|
|
|
+ Boolean tenantLine = i.getTenantLine();
|
|
|
|
+ return tenantLine != null && tenantLine;
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public void setProperties(Properties properties) {
|
|
public void setProperties(Properties properties) {
|
|
PropertyMapper.newInstance(properties)
|
|
PropertyMapper.newInstance(properties)
|