|
|
|
@@ -0,0 +1,78 @@ |
|
|
|
package com.iformall.domain.po; |
|
|
|
|
|
|
|
import com.iformall.common.SortColumn; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import javax.persistence.Transient; |
|
|
|
import java.io.Serializable; |
|
|
|
import java.lang.reflect.Field; |
|
|
|
|
|
|
|
/** |
|
|
|
* @author luozukai |
|
|
|
* @date 2019/4/24 14:32 |
|
|
|
*/ |
|
|
|
public class BaseEntity implements Serializable { |
|
|
|
private static final long serialVersionUID = 1L; |
|
|
|
@Transient |
|
|
|
private String sortColumn; |
|
|
|
@Transient |
|
|
|
private String sortOrder; |
|
|
|
|
|
|
|
public String getSortColumn() { |
|
|
|
try { |
|
|
|
//扫描子类SortColumn注解的属性,替换sortColumn |
|
|
|
if(StringUtils.isNotBlank(sortColumn)) { |
|
|
|
Field[] fields = this.getClass().getDeclaredFields(); |
|
|
|
|
|
|
|
for (Field field : fields) { |
|
|
|
SortColumn sortColumnField = field.getAnnotation(SortColumn.class); |
|
|
|
if (sortColumnField != null && field.getName().equals(sortColumn)) { |
|
|
|
sortColumn = sortColumnField.column(); |
|
|
|
return sortColumn; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//默认驼峰解析 |
|
|
|
this.setSortColumn(underscoreName(sortColumn)); |
|
|
|
} |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
|
|
|
|
return sortColumn; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 转换为下划线 |
|
|
|
* |
|
|
|
* @param camelCaseName |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
public static String underscoreName(String camelCaseName) { |
|
|
|
StringBuilder result = new StringBuilder(); |
|
|
|
if (camelCaseName != null && camelCaseName.length() > 0) { |
|
|
|
result.append(camelCaseName.substring(0, 1).toLowerCase()); |
|
|
|
for (int i = 1; i < camelCaseName.length(); i++) { |
|
|
|
char ch = camelCaseName.charAt(i); |
|
|
|
if (Character.isUpperCase(ch)) { |
|
|
|
result.append("_"); |
|
|
|
result.append(Character.toLowerCase(ch)); |
|
|
|
} else { |
|
|
|
result.append(ch); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
return result.toString(); |
|
|
|
} |
|
|
|
|
|
|
|
public void setSortColumn(String sortColumn) { |
|
|
|
this.sortColumn = sortColumn; |
|
|
|
} |
|
|
|
|
|
|
|
public String getSortOrder() { |
|
|
|
return sortOrder; |
|
|
|
} |
|
|
|
|
|
|
|
public void setSortOrder(String sortOrder) { |
|
|
|
this.sortOrder = sortOrder; |
|
|
|
} |
|
|
|
} |