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 -