diff --git a/eladmin-common/pom.xml b/eladmin-common/pom.xml
index c5dc3ae2..180764d6 100644
--- a/eladmin-common/pom.xml
+++ b/eladmin-common/pom.xml
@@ -5,7 +5,7 @@
eladmin
me.zhengjie
- 2.6
+ 2.7
4.0.0
diff --git a/eladmin-common/src/main/java/me/zhengjie/exception/handler/ApiError.java b/eladmin-common/src/main/java/me/zhengjie/exception/handler/ApiError.java
index 5112730b..977788c7 100644
--- a/eladmin-common/src/main/java/me/zhengjie/exception/handler/ApiError.java
+++ b/eladmin-common/src/main/java/me/zhengjie/exception/handler/ApiError.java
@@ -15,9 +15,7 @@
*/
package me.zhengjie.exception.handler;
-import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
-import java.time.LocalDateTime;
/**
* @author Zheng Jie
@@ -27,12 +25,11 @@ import java.time.LocalDateTime;
class ApiError {
private Integer status = 400;
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private LocalDateTime timestamp;
+ private Long timestamp;
private String message;
private ApiError() {
- timestamp = LocalDateTime.now();
+ timestamp = System.currentTimeMillis();
}
public static ApiError error(String message){
diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/QueryHelp.java b/eladmin-common/src/main/java/me/zhengjie/utils/QueryHelp.java
index 5b542faa..587ece98 100644
--- a/eladmin-common/src/main/java/me/zhengjie/utils/QueryHelp.java
+++ b/eladmin-common/src/main/java/me/zhengjie/utils/QueryHelp.java
@@ -53,6 +53,7 @@ public class QueryHelp {
}
}
try {
+ Map joinKey = new HashMap<>();
List fields = getAllFields(query.getClass(), new ArrayList<>());
for (Field field : fields) {
boolean accessible = field.isAccessible();
@@ -75,40 +76,43 @@ public class QueryHelp {
String[] blurrys = blurry.split(",");
List orPredicate = new ArrayList<>();
for (String s : blurrys) {
- orPredicate.add(cb.like(root.get(s)
- .as(String.class), "%" + val.toString() + "%"));
+ orPredicate.add(cb.like(root.get(s).as(String.class), "%" + val.toString() + "%"));
}
Predicate[] p = new Predicate[orPredicate.size()];
list.add(cb.or(orPredicate.toArray(p)));
continue;
}
if (ObjectUtil.isNotEmpty(joinName)) {
- String[] joinNames = joinName.split(">");
- for (String name : joinNames) {
- switch (q.join()) {
- case LEFT:
- if(ObjectUtil.isNotNull(join) && ObjectUtil.isNotNull(val)){
- join = join.join(name, JoinType.LEFT);
- } else {
- join = root.join(name, JoinType.LEFT);
- }
- break;
- case RIGHT:
- if(ObjectUtil.isNotNull(join) && ObjectUtil.isNotNull(val)){
- join = join.join(name, JoinType.RIGHT);
- } else {
- join = root.join(name, JoinType.RIGHT);
- }
- break;
- case INNER:
- if(ObjectUtil.isNotNull(join) && ObjectUtil.isNotNull(val)){
- join = join.join(name, JoinType.INNER);
- } else {
- join = root.join(name, JoinType.INNER);
- }
- break;
- default: break;
+ join = joinKey.get(joinName);
+ if(join == null){
+ String[] joinNames = joinName.split(">");
+ for (String name : joinNames) {
+ switch (q.join()) {
+ case LEFT:
+ if(ObjectUtil.isNotNull(join) && ObjectUtil.isNotNull(val)){
+ join = join.join(name, JoinType.LEFT);
+ } else {
+ join = root.join(name, JoinType.LEFT);
+ }
+ break;
+ case RIGHT:
+ if(ObjectUtil.isNotNull(join) && ObjectUtil.isNotNull(val)){
+ join = join.join(name, JoinType.RIGHT);
+ } else {
+ join = root.join(name, JoinType.RIGHT);
+ }
+ break;
+ case INNER:
+ if(ObjectUtil.isNotNull(join) && ObjectUtil.isNotNull(val)){
+ join = join.join(name, JoinType.INNER);
+ } else {
+ join = root.join(name, JoinType.INNER);
+ }
+ break;
+ default: break;
+ }
}
+ joinKey.put(joinName, join);
}
}
switch (q.type()) {
diff --git a/eladmin-common/src/main/java/me/zhengjie/utils/StringUtils.java b/eladmin-common/src/main/java/me/zhengjie/utils/StringUtils.java
index 9c87bd4c..ddb9f2f5 100644
--- a/eladmin-common/src/main/java/me/zhengjie/utils/StringUtils.java
+++ b/eladmin-common/src/main/java/me/zhengjie/utils/StringUtils.java
@@ -15,11 +15,11 @@
*/
package me.zhengjie.utils;
+import cn.hutool.http.useragent.UserAgent;
+import cn.hutool.http.useragent.UserAgentUtil;
import lombok.extern.slf4j.Slf4j;
import net.dreamlu.mica.ip2region.core.Ip2regionSearcher;
import net.dreamlu.mica.ip2region.core.IpInfo;
-import nl.basjes.parse.useragent.UserAgent;
-import nl.basjes.parse.useragent.UserAgentAnalyzer;
import javax.servlet.http.HttpServletRequest;
import java.net.InetAddress;
import java.net.NetworkInterface;
@@ -43,14 +43,6 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils {
*/
private final static Ip2regionSearcher IP_SEARCHER = SpringContextHolder.getBean(Ip2regionSearcher.class);
-
- private static final UserAgentAnalyzer USER_AGENT_ANALYZER = UserAgentAnalyzer
- .newBuilder()
- .hideMatcherLoadStats()
- .withCache(10000)
- .withField(UserAgent.AGENT_NAME_VERSION)
- .build();
-
/**
* 驼峰命名法工具
*
@@ -178,8 +170,8 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils {
}
public static String getBrowser(HttpServletRequest request) {
- UserAgent.ImmutableUserAgent userAgent = USER_AGENT_ANALYZER.parse(request.getHeader("User-Agent"));
- return userAgent.get(UserAgent.AGENT_NAME_VERSION).getValue();
+ UserAgent ua = UserAgentUtil.parse(request.getHeader("User-Agent"));
+ return ua.getBrowser().toString() + " " + ua.getVersion();
}
/**
diff --git a/eladmin-generator/pom.xml b/eladmin-generator/pom.xml
index 96089616..3584959b 100644
--- a/eladmin-generator/pom.xml
+++ b/eladmin-generator/pom.xml
@@ -5,7 +5,7 @@
eladmin
me.zhengjie
- 2.6
+ 2.7
4.0.0
@@ -20,7 +20,7 @@
me.zhengjie
eladmin-common
- 2.6
+ 2.7
diff --git a/eladmin-logging/pom.xml b/eladmin-logging/pom.xml
index a713b3f8..8613702d 100644
--- a/eladmin-logging/pom.xml
+++ b/eladmin-logging/pom.xml
@@ -5,7 +5,7 @@
eladmin
me.zhengjie
- 2.6
+ 2.7
4.0.0
@@ -16,7 +16,7 @@
me.zhengjie
eladmin-common
- 2.6
+ 2.7
\ No newline at end of file
diff --git a/eladmin-system/pom.xml b/eladmin-system/pom.xml
index fc36c5c5..8f9b969c 100644
--- a/eladmin-system/pom.xml
+++ b/eladmin-system/pom.xml
@@ -5,7 +5,7 @@
eladmin
me.zhengjie
- 2.6
+ 2.7
4.0.0
@@ -23,7 +23,7 @@
me.zhengjie
eladmin-generator
- 2.6
+ 2.7
me.zhengjie
@@ -36,7 +36,7 @@
me.zhengjie
eladmin-tools
- 2.6
+ 2.7
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/vo/MenuVo.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/vo/MenuVo.java
index 82fc0cc5..e1efa5a8 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/vo/MenuVo.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/vo/MenuVo.java
@@ -15,7 +15,6 @@
*/
package me.zhengjie.modules.system.domain.vo;
-import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@@ -26,7 +25,6 @@ import java.util.List;
* @date 2018-12-20
*/
@Data
-@JsonInclude(JsonInclude.Include.NON_EMPTY)
public class MenuVo implements Serializable {
private String name;
diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DeptDto.java b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DeptDto.java
index 4c3b12aa..bc236a11 100644
--- a/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DeptDto.java
+++ b/eladmin-system/src/main/java/me/zhengjie/modules/system/service/dto/DeptDto.java
@@ -15,7 +15,6 @@
*/
package me.zhengjie.modules.system.service.dto;
-import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Getter;
import lombok.Setter;
import me.zhengjie.base.BaseDTO;
@@ -39,7 +38,6 @@ public class DeptDto extends BaseDTO implements Serializable {
private Integer deptSort;
- @JsonInclude(JsonInclude.Include.NON_EMPTY)
private List children;
private Long pid;
diff --git a/eladmin-system/src/main/resources/config/application.yml b/eladmin-system/src/main/resources/config/application.yml
index 5a138603..1434cd86 100644
--- a/eladmin-system/src/main/resources/config/application.yml
+++ b/eladmin-system/src/main/resources/config/application.yml
@@ -2,14 +2,13 @@ server:
port: 8000
compression:
enabled: true
+ mime-types: text/html,text/xml,text/plain,text/css,text/javascript,application/javascript,application/json
spring:
freemarker:
check-template-location: false
profiles:
active: dev
- jackson:
- time-zone: GMT+8
data:
redis:
repositories:
diff --git a/eladmin-tools/pom.xml b/eladmin-tools/pom.xml
index dbf5e63b..7c85d8b0 100644
--- a/eladmin-tools/pom.xml
+++ b/eladmin-tools/pom.xml
@@ -5,7 +5,7 @@
eladmin
me.zhengjie
- 2.6
+ 2.7
4.0.0
@@ -23,7 +23,7 @@
me.zhengjie
eladmin-logging
- 2.6
+ 2.7
diff --git a/pom.xml b/pom.xml
index 9668b9ca..979ad6ef 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,7 +7,7 @@
me.zhengjie
eladmin
pom
- 2.6
+ 2.7
eladmin-common
@@ -188,13 +188,6 @@
commons-text
1.10.0
-
-
-
- nl.basjes.parse.useragent
- yauaa
- 6.11
-