auto sort for BaseMapper.listOrder when entity creatable or updatable
This commit is contained in:
@ -64,6 +64,13 @@ public class SQLProvider {
|
|||||||
sql.append(", ");
|
sql.append(", ");
|
||||||
}
|
}
|
||||||
sql.deleteCharAt(sql.length() - 2);
|
sql.deleteCharAt(sql.length() - 2);
|
||||||
|
} else {
|
||||||
|
if (meta.canCreate && !meta.canUpdate) {
|
||||||
|
sql.append("created_at DESC");
|
||||||
|
}
|
||||||
|
if (meta.canCreate && meta.canUpdate) {
|
||||||
|
sql.append("COALESCE(updated_at, created_at) DESC");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return sql.append(" LIMIT %s, %s".formatted(offset, limit)).toString();
|
return sql.append(" LIMIT %s, %s".formatted(offset, limit)).toString();
|
||||||
}
|
}
|
||||||
@ -258,6 +265,9 @@ public class SQLProvider {
|
|||||||
/** 只读的列名字段名映射,Map<列名,字段名> */
|
/** 只读的列名字段名映射,Map<列名,字段名> */
|
||||||
final List<FieldColumn> fieldColumnList;
|
final List<FieldColumn> fieldColumnList;
|
||||||
|
|
||||||
|
/** true 为可创建 */
|
||||||
|
final boolean canCreate;
|
||||||
|
|
||||||
/** true 为可更新 */
|
/** true 为可更新 */
|
||||||
final boolean canUpdate;
|
final boolean canUpdate;
|
||||||
|
|
||||||
@ -313,6 +323,7 @@ public class SQLProvider {
|
|||||||
this.selectAllClause = selectAllClause.substring(0, selectAllClause.length() - 1);
|
this.selectAllClause = selectAllClause.substring(0, selectAllClause.length() - 1);
|
||||||
this.idFieldColumn = idFieldColumn;
|
this.idFieldColumn = idFieldColumn;
|
||||||
this.fieldColumnList = List.of(fieldColumnList.toArray(new FieldColumn[0])); // 转为只读
|
this.fieldColumnList = List.of(fieldColumnList.toArray(new FieldColumn[0])); // 转为只读
|
||||||
|
canCreate = Creatable.class.isAssignableFrom(entityClass);
|
||||||
canUpdate = Updatable.class.isAssignableFrom(entityClass);
|
canUpdate = Updatable.class.isAssignableFrom(entityClass);
|
||||||
canDelete = Deletable.class.isAssignableFrom(entityClass);
|
canDelete = Deletable.class.isAssignableFrom(entityClass);
|
||||||
canDestroy = Destroyable.class.isAssignableFrom(entityClass);
|
canDestroy = Destroyable.class.isAssignableFrom(entityClass);
|
||||||
|
|||||||
Reference in New Issue
Block a user