From 827ea7152dbf4102829cb6f2e28f860f5941c4bb Mon Sep 17 00:00:00 2001 From: wangzhijiang Date: Mon, 17 Apr 2023 16:54:21 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E8=B4=A3=E4=BB=BB=E9=A2=86?= =?UTF-8?q?=E5=9F=9F=E5=AD=97=E5=85=B8=E6=95=B0=E6=8D=AE=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/controller/SysDictController.java | 67 ++++++++++++++++++- 1 file changed, 65 insertions(+), 2 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 c0c478ecc..9e744b85d 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 @@ -188,7 +188,7 @@ public class SysDictController { } // 将结果集进行排序 - if (CollectionUtils.isNotEmpty(ls)) { + /*if (CollectionUtils.isNotEmpty(ls)) { // 匿名比较器排序 Collections.sort(ls, new Comparator() { @Override @@ -196,7 +196,7 @@ public class SysDictController { return p1.getText().compareTo(p2.getText()); } }); - } + }*/ result.setSuccess(true); result.setResult(ls); @@ -790,4 +790,67 @@ public class SysDictController { } + /** + * 获取责任领域字典数据 + * @param dictCode 字典code + * @param dictCode 表名,文本字段,code字段 | 举例:sys_user,realname,id + * @return + */ + @ApiOperation(value = "字典控制器-获取责任领域字典数据", notes = "字典控制器-获取责任领域字典数据") + @RequestMapping(value = "/getDutyTerritoryDictItems/{dictCode}", method = RequestMethod.GET) + public Result> getDutyTerritoryDictItems(@PathVariable String dictCode, @RequestParam(value = "sign",required = false) String sign, HttpServletRequest request) { + log.info(" dictCode : "+ dictCode); + Result> result = new Result>(); + List ls = null; + try { + if(dictCode.indexOf(",")!=-1) { + //关联表字典(举例:sys_user,realname,id) + String[] params = dictCode.split(","); + + if(params.length<3) { + result.error500("字典Code格式不正确!"); + return result; + } + //SQL注入校验(只限制非法串改数据库) + final String[] sqlInjCheck = {params[0],params[1],params[2]}; + SqlInjectionUtil.filterContent(sqlInjCheck); + + if(params.length==4) { + //SQL注入校验(查询条件SQL 特殊check,此方法仅供此处使用) + SqlInjectionUtil.specialFilterContent(params[3]); + ls = sysDictService.queryTableDictItemsByCodeAndFilter(params[0],params[1],params[2],params[3]); + }else if (params.length==3) { + ls = sysDictService.queryTableDictItemsByCode(params[0],params[1],params[2]); + }else{ + result.error500("字典Code格式不正确!"); + return result; + } + }else { + //字典表 + ls = sysDictService.queryDictItemsByCode(dictCode); + } + + // 将结果集进行排序 + if (CollectionUtils.isNotEmpty(ls)) { + // 匿名比较器排序 + Collections.sort(ls, new Comparator() { + @Override + public int compare(DictModel p1, DictModel p2) { + return p1.getText().compareTo(p2.getText()); + } + }); + } + + result.setSuccess(true); + result.setResult(ls); + log.debug(result.toString()); + } catch (Exception e) { + log.error(e.getMessage(),e); + result.error500("操作失败"); + return result; + } + + return result; + } + }