From b46d50fef102facb10502618c30eefb72b8667ce Mon Sep 17 00:00:00 2001 From: Zheng Jie <201507802@qq.com> Date: Wed, 5 Jul 2023 10:22:39 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=85=B3=E8=81=94?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=87=BA=E7=8E=B0=E9=87=8D=E5=A4=8D=E7=9A=84?= =?UTF-8?q?join=EF=BC=9Ahttps://github.com/elunez/eladmin/issues/655?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit close https://github.com/elunez/eladmin/issues/655 --- .../java/me/zhengjie/utils/QueryHelp.java | 58 ++++++++++--------- 1 file changed, 31 insertions(+), 27 deletions(-) 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()) { From 7dfe9d3148f9d5ffa972685583a0d8254697c4e1 Mon Sep 17 00:00:00 2001 From: Zheng Jie <201507802@qq.com> Date: Wed, 5 Jul 2023 11:36:37 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?= =?UTF-8?q?=EF=BC=8C=E5=8E=BB=E9=99=A4=E9=81=97=E7=95=99=E7=9A=84jackson?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/me/zhengjie/exception/handler/ApiError.java | 7 ++----- .../java/me/zhengjie/modules/system/domain/vo/MenuVo.java | 2 -- .../me/zhengjie/modules/system/service/dto/DeptDto.java | 2 -- eladmin-system/src/main/resources/config/application.yml | 2 -- 4 files changed, 2 insertions(+), 11 deletions(-) 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-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 1d1f9747..5c172da6 100644 --- a/eladmin-system/src/main/resources/config/application.yml +++ b/eladmin-system/src/main/resources/config/application.yml @@ -8,8 +8,6 @@ spring: check-template-location: false profiles: active: dev - jackson: - time-zone: GMT+8 data: redis: repositories: From c8b2cbc0825db8d338808114306b978756f7e6fc Mon Sep 17 00:00:00 2001 From: Zheng Jie <201507802@qq.com> Date: Wed, 5 Jul 2023 11:55:51 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E5=90=AF=E7=94=A8Gzip=E5=8E=8B=E7=BC=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- eladmin-system/src/main/resources/config/application.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/eladmin-system/src/main/resources/config/application.yml b/eladmin-system/src/main/resources/config/application.yml index 5c172da6..11884259 100644 --- a/eladmin-system/src/main/resources/config/application.yml +++ b/eladmin-system/src/main/resources/config/application.yml @@ -2,6 +2,7 @@ server: port: 8000 compression: enabled: true + mime-types: text/html,text/xml,text/plain,text/css,text/javascript,application/javascript,application/json spring: freemarker: From 39d480938d27a9630d632578c3ef60cf3647a79e Mon Sep 17 00:00:00 2001 From: Zheng Jie <201507802@qq.com> Date: Wed, 5 Jul 2023 14:00:29 +0800 Subject: [PATCH 4/5] =?UTF-8?q?v2.7=20=E7=89=88=E6=9C=AC=E5=8F=91=E5=B8=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- eladmin-common/pom.xml | 2 +- eladmin-generator/pom.xml | 4 ++-- eladmin-logging/pom.xml | 4 ++-- eladmin-system/pom.xml | 6 +++--- eladmin-tools/pom.xml | 4 ++-- pom.xml | 2 +- 6 files changed, 11 insertions(+), 11 deletions(-) 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-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-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 4764c708..d2a4392f 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ me.zhengjie eladmin pom - 2.6 + 2.7 eladmin-common From 189f671e88c207a06e767f72d0807f5a47e304ea Mon Sep 17 00:00:00 2001 From: Zheng Jie <201507802@qq.com> Date: Wed, 5 Jul 2023 17:54:55 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E7=A7=BB=E9=99=A4=20yauaa=20=E8=8E=B7?= =?UTF-8?q?=E5=8F=96UA=E4=BF=A1=E6=81=AF=EF=BC=8C=E9=87=87=E7=94=A8hutoolU?= =?UTF-8?q?A=E5=B7=A5=E5=85=B7=E7=B1=BB-UserAgentUtil=20=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E6=B5=8F=E8=A7=88=E5=99=A8=E4=BF=A1=E6=81=AF:https://github.co?= =?UTF-8?q?m/elunez/eladmin-mp/issues/5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/me/zhengjie/utils/StringUtils.java | 16 ++++------------ pom.xml | 7 ------- 2 files changed, 4 insertions(+), 19 deletions(-) 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/pom.xml b/pom.xml index d2a4392f..2444137c 100644 --- a/pom.xml +++ b/pom.xml @@ -188,13 +188,6 @@ commons-text 1.10.0 - - - - nl.basjes.parse.useragent - yauaa - 6.11 -