update
This commit is contained in:
parent
cd8201c5d7
commit
3fe91e7155
@ -14,6 +14,12 @@ import java.lang.annotation.Target;
|
|||||||
@Target(ElementType.FIELD)
|
@Target(ElementType.FIELD)
|
||||||
public @interface ColumnMap {
|
public @interface ColumnMap {
|
||||||
String name(); // 对应数据库字段
|
String name(); // 对应数据库字段
|
||||||
|
|
||||||
String target(); // 映射表来源
|
String target(); // 映射表来源
|
||||||
String on(); // 映射表字段
|
|
||||||
|
String on() default ""; // 映射表字段
|
||||||
|
|
||||||
|
String onLeft() default ""; // 映射表左字段
|
||||||
|
|
||||||
|
String onRight() default ""; // 映射表右字段
|
||||||
}
|
}
|
||||||
|
@ -19,11 +19,11 @@ public @interface EnableTableMap {
|
|||||||
|
|
||||||
String user() default "";
|
String user() default "";
|
||||||
|
|
||||||
String userOn() default "";
|
String userOn() default "user_id";
|
||||||
|
|
||||||
String userOnLeft() default "create_by";
|
String userOnLeft() default "";
|
||||||
|
|
||||||
String userOnRight() default "user_name";
|
String userOnRight() default "";
|
||||||
|
|
||||||
String deptOn() default "dept_id";
|
String deptOn() default "dept_id";
|
||||||
|
|
||||||
|
@ -54,20 +54,26 @@ public class TableInfo {
|
|||||||
|
|
||||||
this.getMapColumns().stream()
|
this.getMapColumns().stream()
|
||||||
.map(MapColumnInfo::getJoin)
|
.map(MapColumnInfo::getJoin)
|
||||||
.map(join -> join.target() + " on "
|
.map(join -> {
|
||||||
+ join.target() + "." + join.on() + " = "
|
String left = join.onLeft();
|
||||||
+ this.getTableNameT() + "." + join.on())
|
String right = join.onRight();
|
||||||
|
if (StringUtils.isEmpty(left) || StringUtils.isEmpty(right)) {
|
||||||
|
left = join.onLeft();
|
||||||
|
right = join.onRight();
|
||||||
|
}
|
||||||
|
return join.target() + " on "
|
||||||
|
+ join.target() + "." + right + " = "
|
||||||
|
+ this.getTableNameT() + "." + left;
|
||||||
|
})
|
||||||
.forEach(joinSql::add);
|
.forEach(joinSql::add);
|
||||||
|
|
||||||
if (this.enableTableMap != null) {
|
if (this.enableTableMap != null) {
|
||||||
if (StringUtils.isNotEmpty(this.enableTableMap.user())) {
|
if (StringUtils.isNotEmpty(this.enableTableMap.user())) {
|
||||||
String left = "";
|
String left = this.enableTableMap.userOnLeft();
|
||||||
String right = "";
|
String right = this.enableTableMap.userOnRight();
|
||||||
if (StringUtils.isEmpty(this.enableTableMap.deptOn())) {
|
if (StringUtils.isEmpty(left) || StringUtils.isEmpty(right)) {
|
||||||
left = this.enableTableMap.userOn();
|
left = this.enableTableMap.userOn();
|
||||||
right = this.enableTableMap.userOn();
|
right = this.enableTableMap.userOn();
|
||||||
} else {
|
|
||||||
left = this.enableTableMap.userOnLeft();
|
|
||||||
right = this.enableTableMap.userOnRight();
|
|
||||||
}
|
}
|
||||||
this.joinSql.add("sys_user " + this.enableTableMap.user() + " on "
|
this.joinSql.add("sys_user " + this.enableTableMap.user() + " on "
|
||||||
+ this.enableTableMap.user() + "." + right + " = "
|
+ this.enableTableMap.user() + "." + right + " = "
|
||||||
@ -76,16 +82,12 @@ public class TableInfo {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (StringUtils.isNotEmpty(this.enableTableMap.dept())) {
|
if (StringUtils.isNotEmpty(this.enableTableMap.dept())) {
|
||||||
String left = "";
|
String left = this.enableTableMap.deptOnLeft();
|
||||||
String right = "";
|
String right = this.enableTableMap.deptOnRight();
|
||||||
if (StringUtils.isEmpty(this.enableTableMap.deptOn())) {
|
if (StringUtils.isEmpty(right) || StringUtils.isEmpty(left)) {
|
||||||
left = this.enableTableMap.deptOn();
|
left = this.enableTableMap.deptOn();
|
||||||
right = this.enableTableMap.deptOn();
|
right = this.enableTableMap.deptOn();
|
||||||
} else {
|
|
||||||
left = this.enableTableMap.deptOnLeft();
|
|
||||||
right = this.enableTableMap.deptOnRight();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
this.joinSql.add("sys_dept " + this.enableTableMap.dept() + " on "
|
this.joinSql.add("sys_dept " + this.enableTableMap.dept() + " on "
|
||||||
+ this.enableTableMap.dept() + "." + right + " = "
|
+ this.enableTableMap.dept() + "." + right + " = "
|
||||||
+ this.getTableNameT() + "." + left);
|
+ this.getTableNameT() + "." + left);
|
||||||
@ -121,7 +123,7 @@ public class TableInfo {
|
|||||||
return this.tableName;
|
return this.tableName;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<String> getQueryColumns() {
|
public List<String> getQueryColumnNames() {
|
||||||
List<String> columns = Arrays.asList(this.table.columns());
|
List<String> columns = Arrays.asList(this.table.columns());
|
||||||
if (columns.size() <= 0) {
|
if (columns.size() <= 0) {
|
||||||
columns = this.columns.stream()
|
columns = this.columns.stream()
|
||||||
@ -141,6 +143,23 @@ public class TableInfo {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<String> getColumnNames() {
|
||||||
|
List<String> columns = this.columns.stream()
|
||||||
|
.map(ColumnInfo::getColumnName)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
if (this.isEnbleMap()) {
|
||||||
|
columns = columns.stream()
|
||||||
|
.map(column -> this.getTableNameT() + "." + column)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
this.mapColumns.stream()
|
||||||
|
.map(column -> column.getJoin().target() + "." + column.getColumnName())
|
||||||
|
.forEach(columns::add);
|
||||||
|
}
|
||||||
|
|
||||||
|
return columns;
|
||||||
|
}
|
||||||
|
|
||||||
public List<ColumnInfo> getColumns() {
|
public List<ColumnInfo> getColumns() {
|
||||||
return columns;
|
return columns;
|
||||||
}
|
}
|
||||||
|
@ -34,7 +34,7 @@ public class SQLUtil {
|
|||||||
public static <T extends BaseEntity> String list(T entity) {
|
public static <T extends BaseEntity> String list(T entity) {
|
||||||
SQL sql = new SQL();
|
SQL sql = new SQL();
|
||||||
TableInfo tableInfo = getTableInfo(entity);
|
TableInfo tableInfo = getTableInfo(entity);
|
||||||
sql.SELECT(String.join(",", tableInfo.getQueryColumns()))
|
sql.SELECT(String.join(",", tableInfo.getQueryColumnNames()))
|
||||||
.FROM(tableInfo.getTableNameFrom());
|
.FROM(tableInfo.getTableNameFrom());
|
||||||
|
|
||||||
if (tableInfo.isEnbleMap()) {
|
if (tableInfo.isEnbleMap()) {
|
||||||
@ -109,7 +109,7 @@ public class SQLUtil {
|
|||||||
public static <T extends BaseEntity> String selectById(T entity) {
|
public static <T extends BaseEntity> String selectById(T entity) {
|
||||||
SQL sql = new SQL();
|
SQL sql = new SQL();
|
||||||
TableInfo tableInfo = getTableInfo(entity);
|
TableInfo tableInfo = getTableInfo(entity);
|
||||||
sql.SELECT(String.join(",", tableInfo.getQueryColumns()))
|
sql.SELECT(String.join(",", tableInfo.getColumnNames()))
|
||||||
.FROM(tableInfo.getTableNameFrom());
|
.FROM(tableInfo.getTableNameFrom());
|
||||||
|
|
||||||
if (tableInfo.isEnbleMap()) {
|
if (tableInfo.isEnbleMap()) {
|
||||||
|
Loading…
Reference in New Issue
Block a user