From a45d1ed104e14b58a0c657ec91f05439d20d7c60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B1=AA=E4=BA=91=E6=98=8A?= Date: Thu, 13 Aug 2020 22:28:58 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E5=88=86=E9=A1=B5=E7=BB=93=E6=9D=9F?= =?UTF-8?q?=E8=A1=8C=E8=AE=A1=E7=AE=97=E9=94=99=E8=AF=AF=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/estsh/i3plus/pojo/base/bean/BaseBean.java | 38 ++++++++++++++++------ 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/bean/BaseBean.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/bean/BaseBean.java index d537b55..a609d5f 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/bean/BaseBean.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/bean/BaseBean.java @@ -15,6 +15,7 @@ import org.springframework.data.mongodb.core.index.Indexed; import javax.persistence.*; import java.io.Serializable; +import java.util.LinkedHashMap; /** * @Description : @@ -142,24 +143,41 @@ public abstract class BaseBean implements Serializable { public transient Integer ascOrDesc = 1; public int getIsValidVal() { - return this.isValid == null ? 0 : this.isValid.intValue(); + return this.isValid == null ? 0 : this.isValid; } public int getIsDeletedVal() { - return this.isDeleted == null ? 0 : this.isDeleted.intValue(); + return this.isDeleted == null ? 0 : this.isDeleted; } + @Transient + @ApiParam(value = "多列排序") + @AnnoOutputColumn(hidden = true) + public LinkedHashMap sortParamMap; + //排序方式 public String orderBy(){ - String result = ""; - if (orderByParam!=null&&orderByParam.trim().length()>0) { - result = " order by " + orderByParam; - if(ascOrDesc == CommonEnumUtil.ASC_OR_DESC.ASC.getValue()) { - result += " asc"; - }else{ - result += " desc"; + StringBuffer result = new StringBuffer(" order by "); + + if (sortParamMap != null && sortParamMap.size() != 0) { + for (String key : sortParamMap.keySet()) { + packOrderByHql(result,orderByParam,ascOrDesc); } + } else if (orderByParam != null && orderByParam.trim().length() > 0) { + packOrderByHql(result,orderByParam,ascOrDesc); + }else{ + return ""; } - return result; + return result.subSequence(0, result.length() - 1).toString(); } + + private void packOrderByHql(StringBuffer stringBuffer, String orderByParam, Integer ascOrDesc) { + stringBuffer.append(" ").append(orderByParam); + if (ascOrDesc == null || ascOrDesc == CommonEnumUtil.ASC_OR_DESC.ASC.getValue()) { + stringBuffer.append(" asc"); + } else { + stringBuffer.append(" desc,"); + } + } + }