diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/JsonUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/JsonUtils.java index 260763632..ae6cc11be 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/JsonUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/JsonUtils.java @@ -1,5 +1,6 @@ package com.ruoyi.common.utils; +import cn.hutool.core.lang.Validator; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.StrUtil; import com.fasterxml.jackson.core.JsonProcessingException; @@ -32,6 +33,9 @@ public class JsonUtils { } public static String toJsonString(Object object) { + if (Validator.isEmpty(object)) { + return null; + } try { return objectMapper.writeValueAsString(object); } catch (JsonProcessingException e) { @@ -62,6 +66,9 @@ public class JsonUtils { } public static T parseObject(String text, TypeReference typeReference) { + if (StrUtil.isBlank(text)) { + return null; + } try { return objectMapper.readValue(text, typeReference); } catch (IOException e) { @@ -70,6 +77,9 @@ public class JsonUtils { } public static Map parseMap(String text) { + if (StrUtil.isBlank(text)) { + return null; + } try { return objectMapper.readValue(text, new TypeReference>() {}); } catch (IOException e) { diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java index 961bf319a..d67ef79a4 100644 --- a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java +++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java @@ -1,6 +1,7 @@ package com.ruoyi.generator.service; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.convert.Convert; import cn.hutool.core.lang.Validator; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -423,13 +424,13 @@ public class GenTableServiceImpl extends ServiceImpl i * @param genTable 设置后的生成对象 */ public void setTableFromOptions(GenTable genTable) { - Map paramsObj = JsonUtils.parseMap(genTable.getOptions()); + Map paramsObj = JsonUtils.parseMap(genTable.getOptions()); if (Validator.isNotNull(paramsObj)) { - String treeCode = paramsObj.get(GenConstants.TREE_CODE); - String treeParentCode = paramsObj.get(GenConstants.TREE_PARENT_CODE); - String treeName = paramsObj.get(GenConstants.TREE_NAME); - String parentMenuId = paramsObj.get(GenConstants.PARENT_MENU_ID); - String parentMenuName = paramsObj.get(GenConstants.PARENT_MENU_NAME); + String treeCode = Convert.toStr(paramsObj.get(GenConstants.TREE_CODE)); + String treeParentCode = Convert.toStr(paramsObj.get(GenConstants.TREE_PARENT_CODE)); + String treeName = Convert.toStr(paramsObj.get(GenConstants.TREE_NAME)); + String parentMenuId = Convert.toStr(paramsObj.get(GenConstants.PARENT_MENU_ID)); + String parentMenuName = Convert.toStr(paramsObj.get(GenConstants.PARENT_MENU_NAME)); genTable.setTreeCode(treeCode); genTable.setTreeParentCode(treeParentCode); diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java index 5b4bff8e1..76073c794 100644 --- a/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java +++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java @@ -319,7 +319,7 @@ public class VelocityUtils */ public static String getTreecode(Map paramsObj) { - if (paramsObj.containsKey(GenConstants.TREE_CODE)) + if (Validator.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.TREE_CODE)) { return StrUtil.toCamelCase(Convert.toStr(paramsObj.get(GenConstants.TREE_CODE))); } @@ -334,7 +334,7 @@ public class VelocityUtils */ public static String getTreeParentCode(Map paramsObj) { - if (paramsObj.containsKey(GenConstants.TREE_PARENT_CODE)) + if (Validator.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.TREE_PARENT_CODE)) { return StrUtil.toCamelCase(Convert.toStr(paramsObj.get(GenConstants.TREE_PARENT_CODE))); } @@ -349,7 +349,7 @@ public class VelocityUtils */ public static String getTreeName(Map paramsObj) { - if (paramsObj.containsKey(GenConstants.TREE_NAME)) + if (Validator.isNotEmpty(paramsObj) && paramsObj.containsKey(GenConstants.TREE_NAME)) { return StrUtil.toCamelCase(Convert.toStr(paramsObj.get(GenConstants.TREE_NAME))); } @@ -365,8 +365,8 @@ public class VelocityUtils public static int getExpandColumn(GenTable genTable) { String options = genTable.getOptions(); - Map paramsObj = JsonUtils.parseMap(options); - String treeName = paramsObj.get(GenConstants.TREE_NAME); + Map paramsObj = JsonUtils.parseMap(options); + String treeName = Convert.toStr(paramsObj.get(GenConstants.TREE_NAME)); int num = 0; for (GenTableColumn column : genTable.getColumns()) {