Просмотр исходного кода

[筛选器][修改][完善]

release_toaliyun_real
luozukai 7 лет назад
Родитель
Сommit
3e954b8d7b
3 измененных файлов: 39 добавлений и 22 удалений
  1. +36
    -6
      mallinkService/src/main/java/com/iformall/domain/po/BaseEntity.java
  2. +2
    -10
      mallinkService/src/main/java/com/iformall/domain/po/WxShop.java
  3. +1
    -6
      mallinkService/src/main/resources/mapper/WxShopMapper.xml

+ 36
- 6
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;
}
}

+ 2
- 10
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<String> 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<String> 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")


+ 1
- 6
mallinkService/src/main/resources/mapper/WxShopMapper.xml Просмотреть файл

@@ -258,12 +258,7 @@
</foreach>
</if>

<if test="null != sortColumn">
order by s.${sortColumn} ${sortOrder}
</if>
<if test="null == sortColumn">
<if test=" null != sortColumns">order by s.${sortColumns}</if>
</if>
<if test=" null != sortColumns">order by s.${sortColumns}</if>

</select>



Загрузка…
Отмена
Сохранить