fix: 视图插件支持与或过滤器
This commit is contained in:
parent
2e54af1df0
commit
e1f1f10d42
@ -90,10 +90,10 @@ public class ViewPluginBaseServiceImpl implements ViewPluginBaseService {
|
|||||||
SQLObj sqlObj = BeanUtils.copyBean(SQLObj.builder().build(), pluginViewSQL);
|
SQLObj sqlObj = BeanUtils.copyBean(SQLObj.builder().build(), pluginViewSQL);
|
||||||
FilterTreeObj filters = gson.fromJson(gson.toJson(obj), FilterTreeObj.class);
|
FilterTreeObj filters = gson.fromJson(gson.toJson(obj), FilterTreeObj.class);
|
||||||
logger.info("filters:" + gson.toJson(filters));
|
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);
|
logger.info("o1:" + (String) o1);
|
||||||
Object o;
|
Object o;
|
||||||
if ((o = execProviderMethod(queryProvider, methodName, sqlObj, filters)) != null) {
|
if ((o = execProviderSuperMethod(queryProvider, methodName, sqlObj, filters)) != null) {
|
||||||
logger.info("customWhereString:" + o);
|
logger.info("customWhereString:" + o);
|
||||||
return (String) o;
|
return (String) o;
|
||||||
}
|
}
|
||||||
@ -231,6 +231,18 @@ public class ViewPluginBaseServiceImpl implements ViewPluginBaseService {
|
|||||||
return null;
|
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) {
|
private Object execProviderMethod(QueryProvider queryProvider, String methodName, Object... args) {
|
||||||
Method[] declaredMethods = queryProvider.getClass().getDeclaredMethods();
|
Method[] declaredMethods = queryProvider.getClass().getDeclaredMethods();
|
||||||
for (int i = 0; i < declaredMethods.length; i++) {
|
for (int i = 0; i < declaredMethods.length; i++) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user