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.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();
|
||||
}
|
||||
@ -258,6 +265,9 @@ public class SQLProvider {
|
||||
/** 只读的列名字段名映射,Map<列名,字段名> */
|
||||
final List<FieldColumn> fieldColumnList;
|
||||
|
||||
/** true 为可创建 */
|
||||
final boolean canCreate;
|
||||
|
||||
/** true 为可更新 */
|
||||
final boolean canUpdate;
|
||||
|
||||
@ -313,6 +323,7 @@ public class SQLProvider {
|
||||
this.selectAllClause = selectAllClause.substring(0, selectAllClause.length() - 1);
|
||||
this.idFieldColumn = idFieldColumn;
|
||||
this.fieldColumnList = List.of(fieldColumnList.toArray(new FieldColumn[0])); // 转为只读
|
||||
canCreate = Creatable.class.isAssignableFrom(entityClass);
|
||||
canUpdate = Updatable.class.isAssignableFrom(entityClass);
|
||||
canDelete = Deletable.class.isAssignableFrom(entityClass);
|
||||
canDestroy = Destroyable.class.isAssignableFrom(entityClass);
|
||||
|
||||
Reference in New Issue
Block a user