diff --git a/mallinkService/src/main/java/com/iformall/domain/po/BaseEntity.java b/mallinkService/src/main/java/com/iformall/domain/po/BaseEntity.java index b822f979a..b2aff98ec 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/BaseEntity.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/BaseEntity.java @@ -2,6 +2,9 @@ package com.iformall.domain.po; import com.iformall.common.SortColumn; import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import javax.persistence.Transient; import java.io.Serializable; import java.lang.reflect.Field; @@ -11,34 +14,53 @@ import java.lang.reflect.Field; * @date 2019/4/24 14:32 */ public class BaseEntity implements Serializable { + private final Logger logger = LoggerFactory.getLogger(this.getClass()); private static final long serialVersionUID = 1L; @Transient private String sortColumn; @Transient private String sortOrder; - public String getSortColumn() { + //back + @Transient + protected String sortColumns; + + public String getSortColumns() { + String result = null; try { //扫描子类SortColumn注解的属性,替换sortColumn if(StringUtils.isNotBlank(sortColumn)) { Field[] fields = this.getClass().getDeclaredFields(); + //判断是否合法 + boolean find = false; + for (Field field : fields){ + if (field.getName().equals(sortColumn)) { + find = true; + break; + } + } + if(!find) { + return null; + } + + //扫描注解,优先解析注解 for (Field field : fields) { SortColumn sortColumnField = field.getAnnotation(SortColumn.class); if (sortColumnField != null && field.getName().equals(sortColumn)) { - sortColumn = sortColumnField.column(); - return sortColumn; + result = sortColumnField.column() + " "+sortOrder; } } //默认驼峰解析 - this.setSortColumn(underscoreName(sortColumn)); + result = underscoreName(sortColumn) +" "+sortOrder; } } catch (Exception e) { + logger.error("BaseEntity.getSortColumn解析失败",e); e.printStackTrace(); } - - return sortColumn; + logger.info("--------order:"+result); + return result; } /** @@ -75,4 +97,12 @@ public class BaseEntity implements Serializable { public void setSortOrder(String sortOrder) { this.sortOrder = sortOrder; } + + public void setSortColumns(String sortColumns) { + this.sortColumns = sortColumns; + } + + public String getSortColumn() { + return sortColumn; + } } diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxShop.java b/mallinkService/src/main/java/com/iformall/domain/po/WxShop.java index ed6fe823f..4e91adc05 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxShop.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxShop.java @@ -2,11 +2,9 @@ package com.iformall.domain.po; import cn.afterturn.easypoi.excel.annotation.Excel; import com.iformall.common.SortColumn; - import javax.persistence.Id; import javax.persistence.Table; import javax.persistence.Transient; -import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; import java.util.List; @@ -18,8 +16,7 @@ public class WxShop extends BaseEntity { @Transient protected List ids; - @Transient - protected String sortColumns; + public Long getId() { return id; @@ -28,11 +25,7 @@ public class WxShop extends BaseEntity { public void setId(Long id) { this.id = id; } - - public String getSortColumns() { - return sortColumns; - } - + public List getIds() { return ids; } @@ -57,7 +50,6 @@ public class WxShop extends BaseEntity { @io.swagger.annotations.ApiModelProperty(value = "点位类型", name = "pointType") @Excel(name="类型",width = 20,orderNum = "1", replace = {"商铺_null", "固定点位_1", "临时促销点位_2", "宣传点位_3","ATM点位_4","仓库点位_5","其他点位_6"}) - @SortColumn(column="point_type") private Integer pointType; /*商铺编号**/ @io.swagger.annotations.ApiModelProperty(value="商铺编号",name="shopNumber") diff --git a/mallinkService/src/main/resources/mapper/WxShopMapper.xml b/mallinkService/src/main/resources/mapper/WxShopMapper.xml index d386e8b20..e0c4270b2 100644 --- a/mallinkService/src/main/resources/mapper/WxShopMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxShopMapper.xml @@ -258,12 +258,7 @@ - - order by s.${sortColumn} ${sortOrder} - - - order by s.${sortColumns} - + order by s.${sortColumns}