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,"); + } + } + }