From 2cdc12055d597c7c25e2e83b24ebf32053f18757 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期三, 16 六月 2021 13:15:18 +0800
Subject: [PATCH] fix 修复 JsonUtils 参数为空报错
---
ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java | 13 +++++++------
ruoyi-common/src/main/java/com/ruoyi/common/utils/JsonUtils.java | 10 ++++++++++
ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java | 10 +++++-----
3 files changed, 22 insertions(+), 11 deletions(-)
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 2607636..ae6cc11 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 static String toJsonString(Object object) {
+ if (Validator.isEmpty(object)) {
+ return null;
+ }
try {
return objectMapper.writeValueAsString(object);
} catch (JsonProcessingException e) {
@@ -62,6 +66,9 @@
}
public static <T> T parseObject(String text, TypeReference<T> typeReference) {
+ if (StrUtil.isBlank(text)) {
+ return null;
+ }
try {
return objectMapper.readValue(text, typeReference);
} catch (IOException e) {
@@ -70,6 +77,9 @@
}
public static <T> Map<String, T> parseMap(String text) {
+ if (StrUtil.isBlank(text)) {
+ return null;
+ }
try {
return objectMapper.readValue(text, new TypeReference<Map<String, T>>() {});
} 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 961bf31..d67ef79 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 @@
* @param genTable 璁剧疆鍚庣殑鐢熸垚瀵硅薄
*/
public void setTableFromOptions(GenTable genTable) {
- Map<String, String> paramsObj = JsonUtils.parseMap(genTable.getOptions());
+ Map<String, Object> 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 5b4bff8..76073c7 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 static String getTreecode(Map<String, Object> 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 static String getTreeParentCode(Map<String, Object> 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 static String getTreeName(Map<String, Object> 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 static int getExpandColumn(GenTable genTable)
{
String options = genTable.getOptions();
- Map<String, String> paramsObj = JsonUtils.parseMap(options);
- String treeName = paramsObj.get(GenConstants.TREE_NAME);
+ Map<String, Object> paramsObj = JsonUtils.parseMap(options);
+ String treeName = Convert.toStr(paramsObj.get(GenConstants.TREE_NAME));
int num = 0;
for (GenTableColumn column : genTable.getColumns())
{
--
Gitblit v1.9.3