From 849f110f7f3f34790b2f1648c23e2a53e1c3f8c9 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Mon, 11 Sep 2023 20:51:33 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=BA=94=E7=94=A8=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3sql-inject?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/panel/AppLogController.java | 4 +- .../request/panel/AppLogGridRequest.java | 11 + .../controller/sys/SysPluginController.java | 1 - .../controller/sys/base/BaseGridRequest.java | 52 --- .../controller/sys/base/ConditionEntity.java | 20 -- .../sys/request/KeyGridRequest.java | 13 - .../java/io/dataease/ext/ExtAppLogMapper.java | 5 +- .../java/io/dataease/ext/ExtAppLogMapper.xml | 35 +- .../io/dataease/ext/ExtDataSourceMapper.java | 6 +- .../io/dataease/ext/ExtDataSourceMapper.xml | 47 +-- .../java/io/dataease/ext/ExtDeptMapper.xml | 2 +- .../io/dataease/ext/ExtPanelStoreMapper.java | 1 - .../io/dataease/ext/ExtPanelStoreMapper.xml | 2 +- .../io/dataease/ext/ExtSysMenuMapper.java | 4 +- .../java/io/dataease/ext/ExtSysMenuMapper.xml | 6 +- .../io/dataease/ext/ExtSysUserMapper.java | 1 - .../io/dataease/ext/query/GridExample.java | 303 ------------------ .../java/io/dataease/ext/query/GridSql.java | 4 - .../java/io/dataease/ext/query/GridSql.xml | 67 ---- .../dataset/DataSetTableTaskLogService.java | 50 ++- .../dataease/service/panel/ShareService.java | 1 - .../panel/applog/AppLogQueryParam.java | 12 - .../service/panel/applog/AppLogService.java | 20 +- .../dataease/service/sys/SysUserService.java | 1 - .../service/sys/log/LogQueryParam.java | 12 - 25 files changed, 70 insertions(+), 610 deletions(-) create mode 100644 core/backend/src/main/java/io/dataease/controller/request/panel/AppLogGridRequest.java delete mode 100644 core/backend/src/main/java/io/dataease/controller/sys/base/BaseGridRequest.java delete mode 100644 core/backend/src/main/java/io/dataease/controller/sys/base/ConditionEntity.java delete mode 100644 core/backend/src/main/java/io/dataease/controller/sys/request/KeyGridRequest.java delete mode 100644 core/backend/src/main/java/io/dataease/ext/query/GridExample.java delete mode 100644 core/backend/src/main/java/io/dataease/ext/query/GridSql.java delete mode 100644 core/backend/src/main/java/io/dataease/ext/query/GridSql.xml delete mode 100644 core/backend/src/main/java/io/dataease/service/panel/applog/AppLogQueryParam.java delete mode 100644 core/backend/src/main/java/io/dataease/service/sys/log/LogQueryParam.java diff --git a/core/backend/src/main/java/io/dataease/controller/panel/AppLogController.java b/core/backend/src/main/java/io/dataease/controller/panel/AppLogController.java index 207cbbb05e..2cf2ca6ea4 100644 --- a/core/backend/src/main/java/io/dataease/controller/panel/AppLogController.java +++ b/core/backend/src/main/java/io/dataease/controller/panel/AppLogController.java @@ -7,7 +7,7 @@ import io.dataease.auth.annotation.SqlInjectValidator; import io.dataease.commons.utils.PageUtils; import io.dataease.commons.utils.Pager; import io.dataease.controller.handler.annotation.I18n; -import io.dataease.controller.sys.request.KeyGridRequest; +import io.dataease.controller.request.panel.AppLogGridRequest; import io.dataease.dto.appTemplateMarket.AppLogGridDTO; import io.dataease.service.panel.applog.AppLogService; import io.swagger.annotations.Api; @@ -38,7 +38,7 @@ public class AppLogController { }) @SqlInjectValidator(value = {"apply_time"}) public Pager> logGrid(@PathVariable int goPage, @PathVariable int pageSize, - @RequestBody KeyGridRequest request) { + @RequestBody AppLogGridRequest request) { Page page = PageHelper.startPage(goPage, pageSize, true); return PageUtils.setPageInfo(page, appLogService.query(request)); } diff --git a/core/backend/src/main/java/io/dataease/controller/request/panel/AppLogGridRequest.java b/core/backend/src/main/java/io/dataease/controller/request/panel/AppLogGridRequest.java new file mode 100644 index 0000000000..5196fdc14d --- /dev/null +++ b/core/backend/src/main/java/io/dataease/controller/request/panel/AppLogGridRequest.java @@ -0,0 +1,11 @@ +package io.dataease.controller.request.panel; + +import io.dataease.plugins.common.request.KeywordRequest; +import lombok.Data; + +@Data +public class AppLogGridRequest extends KeywordRequest { + private Long[] applyTime; + + private Long userId; +} diff --git a/core/backend/src/main/java/io/dataease/controller/sys/SysPluginController.java b/core/backend/src/main/java/io/dataease/controller/sys/SysPluginController.java index 618a8a2872..782953a328 100644 --- a/core/backend/src/main/java/io/dataease/controller/sys/SysPluginController.java +++ b/core/backend/src/main/java/io/dataease/controller/sys/SysPluginController.java @@ -6,7 +6,6 @@ import io.dataease.auth.annotation.SqlInjectValidator; import io.dataease.commons.utils.DeFileUtils; import io.dataease.commons.utils.PageUtils; import io.dataease.commons.utils.Pager; -import io.dataease.controller.sys.base.BaseGridRequest; import io.dataease.plugins.common.base.domain.MyPlugin; import io.dataease.plugins.common.request.KeywordRequest; import io.dataease.service.sys.PluginService; diff --git a/core/backend/src/main/java/io/dataease/controller/sys/base/BaseGridRequest.java b/core/backend/src/main/java/io/dataease/controller/sys/base/BaseGridRequest.java deleted file mode 100644 index 003ac6dca7..0000000000 --- a/core/backend/src/main/java/io/dataease/controller/sys/base/BaseGridRequest.java +++ /dev/null @@ -1,52 +0,0 @@ -package io.dataease.controller.sys.base; - -import io.dataease.ext.query.GridExample; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import org.apache.commons.collections.CollectionUtils; - -import java.io.Serializable; -import java.util.List; - - - -@ApiModel("查询条件") -public class BaseGridRequest implements Serializable { - - @ApiModelProperty("条件集合") - private List conditions; - - public List getConditions() { - return conditions; - } - - public void setConditions(List conditions) { - this.conditions = conditions; - } - - public List getOrders() { - return orders; - } - - public void setOrders(List orders) { - this.orders = orders; - } - - @ApiModelProperty("排序描述") - private List orders; - - public GridExample convertExample(){ - GridExample gridExample = new GridExample(); - if (CollectionUtils.isNotEmpty(conditions)) { - GridExample.Criteria criteria = gridExample.createCriteria(); - conditions.forEach(criteria::addCondition); - } - - if (CollectionUtils.isNotEmpty(orders)){ - String orderByClause = String.join(", ", orders); - gridExample.setOrderByClause(orderByClause); - } - - return gridExample; - } -} diff --git a/core/backend/src/main/java/io/dataease/controller/sys/base/ConditionEntity.java b/core/backend/src/main/java/io/dataease/controller/sys/base/ConditionEntity.java deleted file mode 100644 index 304cfcf588..0000000000 --- a/core/backend/src/main/java/io/dataease/controller/sys/base/ConditionEntity.java +++ /dev/null @@ -1,20 +0,0 @@ -package io.dataease.controller.sys.base; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.io.Serializable; - -@Data -public class ConditionEntity implements Serializable { - - @ApiModelProperty(value = "字段") - private String field; - - @ApiModelProperty(value = "操作符") - private String operator; - - @ApiModelProperty(value = "字段值") - private Object value; - -} diff --git a/core/backend/src/main/java/io/dataease/controller/sys/request/KeyGridRequest.java b/core/backend/src/main/java/io/dataease/controller/sys/request/KeyGridRequest.java deleted file mode 100644 index 42af480232..0000000000 --- a/core/backend/src/main/java/io/dataease/controller/sys/request/KeyGridRequest.java +++ /dev/null @@ -1,13 +0,0 @@ -package io.dataease.controller.sys.request; - -import io.dataease.controller.sys.base.BaseGridRequest; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.io.Serializable; - -@Data -public class KeyGridRequest extends BaseGridRequest implements Serializable { - @ApiModelProperty("关键字") - private String keyWord; -} diff --git a/core/backend/src/main/java/io/dataease/ext/ExtAppLogMapper.java b/core/backend/src/main/java/io/dataease/ext/ExtAppLogMapper.java index d27653a424..5b3dac97d3 100644 --- a/core/backend/src/main/java/io/dataease/ext/ExtAppLogMapper.java +++ b/core/backend/src/main/java/io/dataease/ext/ExtAppLogMapper.java @@ -1,9 +1,10 @@ package io.dataease.ext; +import io.dataease.controller.request.panel.AppLogGridRequest; import io.dataease.dto.appTemplateMarket.AppLogGridDTO; -import io.dataease.service.panel.applog.AppLogQueryParam; + import java.util.List; public interface ExtAppLogMapper { - List query(AppLogQueryParam example); + List query(AppLogGridRequest request); } diff --git a/core/backend/src/main/java/io/dataease/ext/ExtAppLogMapper.xml b/core/backend/src/main/java/io/dataease/ext/ExtAppLogMapper.xml index 1360162dbb..d4a9b4c16b 100644 --- a/core/backend/src/main/java/io/dataease/ext/ExtAppLogMapper.xml +++ b/core/backend/src/main/java/io/dataease/ext/ExtAppLogMapper.xml @@ -14,7 +14,7 @@ - select logInfo.*, get_auths(logInfo.dataset_group_id,'dataset',#{userId}) as `dataset_privileges`, @@ -53,27 +53,34 @@ left join panel_app_template on panel_app_template_log.app_template_id = panel_app_template.id ) t where 1=1 - + and ( - t.app_name like concat('%', #{extendCondition} , '%') + t.app_name like concat('%', #{keyword} , '%') or - t.panel_name like concat('%', #{extendCondition} , '%') + t.panel_name like concat('%', #{keyword} , '%') or - t.dataset_group_name like concat('%', #{extendCondition} , '%') + t.dataset_group_name like concat('%', #{keyword} , '%') or - t.datasource_name like concat('%', #{extendCondition} , '%') + t.datasource_name like concat('%', #{keyword} , '%') ) ) logInfo - - - - - order by ${orderByClause} - - - order by apply_time desc + + and (apply_time between #{applyTime.[0]} and #{applyTime.[1]} + + + + order by + + ${item} + + + + order by apply_time desc + + + diff --git a/core/backend/src/main/java/io/dataease/ext/ExtDataSourceMapper.java b/core/backend/src/main/java/io/dataease/ext/ExtDataSourceMapper.java index 2ea36a98bf..9855abbad7 100644 --- a/core/backend/src/main/java/io/dataease/ext/ExtDataSourceMapper.java +++ b/core/backend/src/main/java/io/dataease/ext/ExtDataSourceMapper.java @@ -1,16 +1,14 @@ package io.dataease.ext; import io.dataease.controller.request.DatasourceUnionRequest; -import io.dataease.dto.RelationDTO; import io.dataease.dto.DatasourceDTO; -import io.dataease.ext.query.GridExample; +import io.dataease.dto.RelationDTO; import org.apache.ibatis.annotations.Param; import java.util.List; public interface ExtDataSourceMapper { - // List query(GridExample example); List queryUnion(DatasourceUnionRequest request); @@ -20,5 +18,5 @@ public interface ExtDataSourceMapper { DatasourceDTO queryDetails(@Param("datasourceId") String datasourceId, @Param("userId") String userId); - List queryDatasourceRelation(@Param("datasourceId") String datasourceId, @Param("userId")Long userId); + List queryDatasourceRelation(@Param("datasourceId") String datasourceId, @Param("userId") Long userId); } diff --git a/core/backend/src/main/java/io/dataease/ext/ExtDataSourceMapper.xml b/core/backend/src/main/java/io/dataease/ext/ExtDataSourceMapper.xml index abb27c3635..077b0a3da7 100644 --- a/core/backend/src/main/java/io/dataease/ext/ExtDataSourceMapper.xml +++ b/core/backend/src/main/java/io/dataease/ext/ExtDataSourceMapper.xml @@ -18,52 +18,7 @@ - + - select dept_id as id, pid from sys_dept where 1=1 and pid = #{pid} diff --git a/core/backend/src/main/java/io/dataease/ext/ExtPanelStoreMapper.java b/core/backend/src/main/java/io/dataease/ext/ExtPanelStoreMapper.java index 165d7e6fb6..bc5d5c0926 100644 --- a/core/backend/src/main/java/io/dataease/ext/ExtPanelStoreMapper.java +++ b/core/backend/src/main/java/io/dataease/ext/ExtPanelStoreMapper.java @@ -1,6 +1,5 @@ package io.dataease.ext; -import io.dataease.ext.query.GridExample; import io.dataease.dto.panel.PanelStoreDto; import org.apache.ibatis.annotations.Param; diff --git a/core/backend/src/main/java/io/dataease/ext/ExtPanelStoreMapper.xml b/core/backend/src/main/java/io/dataease/ext/ExtPanelStoreMapper.xml index 2bf4a6d9b7..c3071241e9 100644 --- a/core/backend/src/main/java/io/dataease/ext/ExtPanelStoreMapper.xml +++ b/core/backend/src/main/java/io/dataease/ext/ExtPanelStoreMapper.xml @@ -10,7 +10,7 @@ - select s.store_id, s.panel_group_id, g.name, g.status from panel_store s inner join panel_group g on g.id = s.panel_group_id diff --git a/core/backend/src/main/java/io/dataease/ext/ExtSysMenuMapper.java b/core/backend/src/main/java/io/dataease/ext/ExtSysMenuMapper.java index ce7c6b1a6a..62985c14cf 100644 --- a/core/backend/src/main/java/io/dataease/ext/ExtSysMenuMapper.java +++ b/core/backend/src/main/java/io/dataease/ext/ExtSysMenuMapper.java @@ -1,8 +1,7 @@ package io.dataease.ext; -import io.dataease.plugins.common.base.domain.SysMenu; -import io.dataease.ext.query.GridExample; import io.dataease.controller.sys.request.SimpleTreeNode; +import io.dataease.plugins.common.base.domain.SysMenu; import java.util.List; @@ -10,7 +9,6 @@ public interface ExtSysMenuMapper { List allNodes(); - List nodesByExample(GridExample example); List querySysMenu(); } diff --git a/core/backend/src/main/java/io/dataease/ext/ExtSysMenuMapper.xml b/core/backend/src/main/java/io/dataease/ext/ExtSysMenuMapper.xml index 1e82ad6b8c..327df54984 100644 --- a/core/backend/src/main/java/io/dataease/ext/ExtSysMenuMapper.xml +++ b/core/backend/src/main/java/io/dataease/ext/ExtSysMenuMapper.xml @@ -14,11 +14,7 @@ - +