forked from github/dataease
Merge pull request #7436 from dataease/pr@dev@fix_filter
fix: 视图插件支持与或过滤器
This commit is contained in:
commit
7a1c4c8efd
@ -90,10 +90,10 @@ public class ViewPluginBaseServiceImpl implements ViewPluginBaseService {
|
||||
SQLObj sqlObj = BeanUtils.copyBean(SQLObj.builder().build(), pluginViewSQL);
|
||||
FilterTreeObj filters = gson.fromJson(gson.toJson(obj), FilterTreeObj.class);
|
||||
logger.info("filters:" + gson.toJson(filters));
|
||||
Object o1 = execProviderMethod(queryProvider, methodName, sqlObj, filters);
|
||||
Object o1 = execProviderSuperMethod(queryProvider, methodName, sqlObj, filters);
|
||||
logger.info("o1:" + (String) o1);
|
||||
Object o;
|
||||
if ((o = execProviderMethod(queryProvider, methodName, sqlObj, filters)) != null) {
|
||||
if ((o = execProviderSuperMethod(queryProvider, methodName, sqlObj, filters)) != null) {
|
||||
logger.info("customWhereString:" + o);
|
||||
return (String) o;
|
||||
}
|
||||
@ -231,6 +231,18 @@ public class ViewPluginBaseServiceImpl implements ViewPluginBaseService {
|
||||
return null;
|
||||
}
|
||||
|
||||
private Object execProviderSuperMethod(QueryProvider queryProvider, String methodName, Object... args) {
|
||||
Method[] declaredMethods = queryProvider.getClass().getMethods();
|
||||
for (int i = 0; i < declaredMethods.length; i++) {
|
||||
Method method = declaredMethods[i];
|
||||
if (StringUtils.equals(method.getName(), methodName)) {
|
||||
method.setAccessible(true);
|
||||
return ReflectUtil.invoke(queryProvider, method, args);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private Object execProviderMethod(QueryProvider queryProvider, String methodName, Object... args) {
|
||||
Method[] declaredMethods = queryProvider.getClass().getDeclaredMethods();
|
||||
for (int i = 0; i < declaredMethods.length; i++) {
|
||||
|
Loading…
Reference in New Issue
Block a user