【添加】加载全部字典树方法修改

This commit is contained in:
zer0Black
2021-03-23 14:52:41 +08:00
parent 8af3820116
commit 32b4771cf1
5 changed files with 14 additions and 16 deletions
@@ -301,20 +301,19 @@ public class SysDictController {
/**
* 查询后返回树型数据
*/
@ApiOperation(value = "字典控制器-根据表名—显示字段-存储字段 查询数据 加载树形数据", notes = "字典控制器-根据表名—显示字段-存储字段 pid 加载树形数据")
@RequestMapping(value = "/queryTreeDataByKeyword", method = RequestMethod.GET)
public Result<List<TreeSelectModel>> queryTreeDataByKeyword(@RequestParam(name="pidField") String pidField,
@ApiOperation(value = "字典控制器-根据表名—显示字段-存储字段 加载树形数据", notes = "字典控制器-根据表名—显示字段-存储字段 加载树形数据")
@RequestMapping(value = "/queryAllTreeData", method = RequestMethod.GET)
public Result<List<TreeSelectModel>> 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<List<TreeSelectModel>> result = new Result<List<TreeSelectModel>>();
// SQL注入漏洞 sign签名校验(表名,label字段,val字段,条件)
String dictCode = tbname +","+ text +","+ code + "," + keyword;
String dictCode = tbname +","+ text +","+ code;
SqlInjectionUtil.filterContent(dictCode);
List<TreeSelectModel> ls = sysDictService.queryTreeDataByKeyword(keyword, tbname, text, code, pidField);
List<TreeSelectModel> ls = sysDictService.queryAllTreeData(tbname, text, code, pidField);
result.setSuccess(true);
result.setResult(ls);
return result;
@@ -102,14 +102,13 @@ public interface SysDictMapper extends BaseMapper<SysDict> {
List<TreeSelectModel> 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<TreeSelectModel> queryTreeDataByKeyword(@Param("query") String query,@Param("table") String table,@Param("text") String text,@Param("code") String code,@Param("pidField") String pidField);
List<TreeSelectModel> queryTreeDataByKeyword(@Param("table") String table,@Param("text") String text,@Param("code") String code,@Param("pidField") String pidField);
/**
* 根据表名、显示字段名、存储字段名、自身ID查询
@@ -97,10 +97,6 @@
${code} as "key",
${pidField} as parentId
from ${table}
where 1 = 1
<if test="query!= null">
and ${text} like concat(concat('%',#{query}),'%')
</if>
</select>
<!-- 根据表名、显示字段名、存储字段名、自身ID查询 -->
@@ -104,7 +104,7 @@ public interface ISysDictService extends IService<SysDict> {
* @param pidField
* @return
*/
List<TreeSelectModel> queryTreeDataByKeyword(String query,String table, String text, String code, String pidField);
List<TreeSelectModel> queryAllTreeData(String table, String text, String code, String pidField);
/**
* 真实删除
@@ -219,9 +219,9 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, SysDict> impl
}
@Override
public List<TreeSelectModel> queryTreeDataByKeyword(String query,String table, String text, String code, String pidField) {
public List<TreeSelectModel> queryAllTreeData(String table, String text, String code, String pidField) {
// 先查出要查询的数据
List<TreeSelectModel> serachTreeNode = this.baseMapper.queryTreeDataByKeyword(query, table, text, code, pidField);
List<TreeSelectModel> serachTreeNode = this.baseMapper.queryTreeDataByKeyword(table, text, code, pidField);
// 构建一个HashMap,按ID为key存储全部查询出的数据结构
HashMap<String, TreeSelectModel> resultMap = new HashMap<>();
@@ -236,6 +236,10 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, SysDict> impl
}
TreeSelectModel newTreeSelectModel = this.baseMapper.queryTreeDataItemById(copyTreeSelectModel.getParentId(), table, text, code, pidField);
if(newTreeSelectModel == null){
break;
}
resultMap.put(newTreeSelectModel.getKey(), newTreeSelectModel);
copyTreeSelectModel = newTreeSelectModel;