diff --git a/pom.xml b/pom.xml
index b04f82bd9..39f97ab43 100644
--- a/pom.xml
+++ b/pom.xml
@@ -31,7 +31,6 @@
-
@@ -55,7 +54,6 @@
1.16.14
1.4.1.Final
0.9.1
- 1.2.75
5.5.6
2.2.7
@@ -64,32 +62,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -211,25 +183,12 @@
${jjwt.version}
-
- com.alibaba
- fastjson
- ${fastjson.version}
-
-
org.projectlombok
lombok
${lombok.version}
-
-
- eu.bitwalker
- UserAgentUtils
- 1.21
-
-
org.mapstruct
mapstruct
diff --git a/ruoyi-ui/src/utils/request.js b/ruoyi-ui/src/utils/request.js
index b9404d162..759f03433 100644
--- a/ruoyi-ui/src/utils/request.js
+++ b/ruoyi-ui/src/utils/request.js
@@ -61,9 +61,10 @@ service.interceptors.response.use(res => {
}
).then(() => {
store.dispatch('LogOut').then(() => {
- if (location.pathname !== '/login') { // 避免重复跳转
- location.href = '/index';
- }
+ // if (location.pathname !== '/login') { // 避免重复跳转
+ //
+ // }
+ location.href = '/index';
})
})
} else if (code === 500) {
diff --git a/src/main/java/cn/iocoder/dashboard/common/pojo/CommonResult.java b/src/main/java/cn/iocoder/dashboard/common/pojo/CommonResult.java
index 80b938dfb..14e34070d 100644
--- a/src/main/java/cn/iocoder/dashboard/common/pojo/CommonResult.java
+++ b/src/main/java/cn/iocoder/dashboard/common/pojo/CommonResult.java
@@ -4,7 +4,6 @@ import cn.iocoder.dashboard.common.exception.ErrorCode;
import cn.iocoder.dashboard.common.exception.GlobalException;
import cn.iocoder.dashboard.common.exception.ServiceException;
import cn.iocoder.dashboard.common.exception.enums.GlobalErrorCodeConstants;
-import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import org.springframework.util.Assert;
@@ -69,13 +68,11 @@ public final class CommonResult implements Serializable {
return result;
}
- @JSONField(serialize = false) // 避免 fastjson 序列化
@JsonIgnore // 避免 jackson 序列化
public boolean isSuccess() {
return GlobalErrorCodeConstants.SUCCESS.getCode().equals(code);
}
- @JSONField(serialize = false) // 避免 fastjson 序列化
@JsonIgnore // 避免 jackson 序列化
public boolean isError() {
return !isSuccess();
diff --git a/src/main/java/cn/iocoder/dashboard/framework/logger/operatelog/core/aop/OperateLogAspect.java b/src/main/java/cn/iocoder/dashboard/framework/logger/operatelog/core/aop/OperateLogAspect.java
index 6465b3112..8f5dba063 100644
--- a/src/main/java/cn/iocoder/dashboard/framework/logger/operatelog/core/aop/OperateLogAspect.java
+++ b/src/main/java/cn/iocoder/dashboard/framework/logger/operatelog/core/aop/OperateLogAspect.java
@@ -11,8 +11,8 @@ import cn.iocoder.dashboard.framework.logger.operatelog.core.service.OperateLogF
import cn.iocoder.dashboard.framework.security.core.util.SecurityUtils;
import cn.iocoder.dashboard.framework.tracer.core.util.TracerUtils;
import cn.iocoder.dashboard.modules.system.controller.logger.vo.operatelog.SysOperateLogCreateReqVO;
+import cn.iocoder.dashboard.util.json.JSONUtils;
import cn.iocoder.dashboard.util.servlet.ServletUtils;
-import com.alibaba.fastjson.JSON;
import com.google.common.collect.Maps;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -319,7 +319,7 @@ public class OperateLogAspect {
// 被忽略时,标记为 ignore 字符串,避免和 null 混在一起
args.put(argName, !isIgnoreArgs(argValue) ? argValue : "[ignore]");
}
- return JSON.toJSONString(args);
+ return JSONUtils.toJSONString(args);
}
private static String obtainResultData(Object result) {
@@ -327,7 +327,7 @@ public class OperateLogAspect {
if (result instanceof CommonResult) {
result = ((CommonResult>) result).getData();
}
- return JSON.toJSONString(result);
+ return JSONUtils.toJSONString(result);
}
private static boolean isIgnoreArgs(Object object) {
diff --git a/src/main/java/cn/iocoder/dashboard/framework/mybatis/core/type/JacksonLongSetTypeHandler.java b/src/main/java/cn/iocoder/dashboard/framework/mybatis/core/type/JacksonLongSetTypeHandler.java
new file mode 100644
index 000000000..d95ed3800
--- /dev/null
+++ b/src/main/java/cn/iocoder/dashboard/framework/mybatis/core/type/JacksonLongSetTypeHandler.java
@@ -0,0 +1,45 @@
+package cn.iocoder.dashboard.framework.mybatis.core.type;
+
+import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.user.SysUserDO;
+import com.baomidou.mybatisplus.extension.handlers.AbstractJsonTypeHandler;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import java.io.IOException;
+import java.util.Set;
+
+/**
+ * 参考 {@link com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler} 实现
+ * 在我们将字符串反序列化为 Set 并且泛型为 Long 时,如果每个元素的数值太小,会被处理成 Integer 类型,导致可能存在隐性的 BUG。
+ *
+ * 例如说哦,{@link SysUserDO#getPostIds()} 属性
+ *
+ * @author 芋道源码
+ */
+public class JacksonLongSetTypeHandler extends AbstractJsonTypeHandler