From 32b4771cf12864a8fbe4dbad5aaf7f30729757b1 Mon Sep 17 00:00:00 2001 From: zer0Black Date: Tue, 23 Mar 2021 14:52:41 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E6=B7=BB=E5=8A=A0=E3=80=91=E5=8A=A0?= =?UTF-8?q?=E8=BD=BD=E5=85=A8=E9=83=A8=E5=AD=97=E5=85=B8=E6=A0=91=E6=96=B9?= =?UTF-8?q?=E6=B3=95=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/system/controller/SysDictController.java | 11 +++++------ .../com/jero/modules/system/mapper/SysDictMapper.java | 5 ++--- .../jero/modules/system/mapper/xml/SysDictMapper.xml | 4 ---- .../jero/modules/system/service/ISysDictService.java | 2 +- .../system/service/impl/SysDictServiceImpl.java | 8 ++++++-- 5 files changed, 14 insertions(+), 16 deletions(-) diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDictController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDictController.java index 9dc317b0..7e4cb155 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDictController.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDictController.java @@ -301,20 +301,19 @@ public class SysDictController { /** * 查询后返回树型数据 */ - @ApiOperation(value = "字典控制器-根据表名—显示字段-存储字段 查询数据 加载树形数据", notes = "字典控制器-根据表名—显示字段-存储字段 pid 加载树形数据") - @RequestMapping(value = "/queryTreeDataByKeyword", method = RequestMethod.GET) - public Result> queryTreeDataByKeyword(@RequestParam(name="pidField") String pidField, + @ApiOperation(value = "字典控制器-根据表名—显示字段-存储字段 加载树形数据", notes = "字典控制器-根据表名—显示字段-存储字段 加载树形数据") + @RequestMapping(value = "/queryAllTreeData", method = RequestMethod.GET) + public Result> queryAllTreeData(@RequestParam(name="pidField") String pidField, @RequestParam(name="tableName") String tbname, @RequestParam(name="text") String text, @RequestParam(name="code") String code, - @RequestParam(name="keyword") String keyword, HttpServletRequest request) { Result> result = new Result>(); // SQL注入漏洞 sign签名校验(表名,label字段,val字段,条件) - String dictCode = tbname +","+ text +","+ code + "," + keyword; + String dictCode = tbname +","+ text +","+ code; SqlInjectionUtil.filterContent(dictCode); - List ls = sysDictService.queryTreeDataByKeyword(keyword, tbname, text, code, pidField); + List ls = sysDictService.queryAllTreeData(tbname, text, code, pidField); result.setSuccess(true); result.setResult(ls); return result; diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysDictMapper.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysDictMapper.java index 558bff5b..5ad60700 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysDictMapper.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysDictMapper.java @@ -102,14 +102,13 @@ public interface SysDictMapper extends BaseMapper { List queryTreeList(@Param("query") String query,@Param("table") String table,@Param("text") String text,@Param("code") String code,@Param("pidField") String pidField,@Param("pid") String pid,@Param("hasChildField") String hasChildField); /** - * 根据表名、显示字段名、存储字段名 和查询条件拼接树结构 - * @param query + * 根据表名、显示字段名、存储字段名拼接树结构 * @param table * @param text * @param code * @return */ - List queryTreeDataByKeyword(@Param("query") String query,@Param("table") String table,@Param("text") String text,@Param("code") String code,@Param("pidField") String pidField); + List queryTreeDataByKeyword(@Param("table") String table,@Param("text") String text,@Param("code") String code,@Param("pidField") String pidField); /** * 根据表名、显示字段名、存储字段名、自身ID查询 diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysDictMapper.xml b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysDictMapper.xml index 068ffc88..a95bedd2 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysDictMapper.xml +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysDictMapper.xml @@ -97,10 +97,6 @@ ${code} as "key", ${pidField} as parentId from ${table} - where 1 = 1 - - and ${text} like concat(concat('%',#{query}),'%') - diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysDictService.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysDictService.java index a6989a6f..5e0f0a81 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysDictService.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysDictService.java @@ -104,7 +104,7 @@ public interface ISysDictService extends IService { * @param pidField * @return */ - List queryTreeDataByKeyword(String query,String table, String text, String code, String pidField); + List queryAllTreeData(String table, String text, String code, String pidField); /** * 真实删除 diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDictServiceImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDictServiceImpl.java index 269ede24..4ba92636 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDictServiceImpl.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDictServiceImpl.java @@ -219,9 +219,9 @@ public class SysDictServiceImpl extends ServiceImpl impl } @Override - public List queryTreeDataByKeyword(String query,String table, String text, String code, String pidField) { + public List queryAllTreeData(String table, String text, String code, String pidField) { // 先查出要查询的数据 - List serachTreeNode = this.baseMapper.queryTreeDataByKeyword(query, table, text, code, pidField); + List serachTreeNode = this.baseMapper.queryTreeDataByKeyword(table, text, code, pidField); // 构建一个HashMap,按ID为key存储全部查询出的数据结构 HashMap resultMap = new HashMap<>(); @@ -236,6 +236,10 @@ public class SysDictServiceImpl extends ServiceImpl impl } TreeSelectModel newTreeSelectModel = this.baseMapper.queryTreeDataItemById(copyTreeSelectModel.getParentId(), table, text, code, pidField); + if(newTreeSelectModel == null){ + break; + } + resultMap.put(newTreeSelectModel.getKey(), newTreeSelectModel); copyTreeSelectModel = newTreeSelectModel;