diff --git a/backend/apps/system/api/aimodel.py b/backend/apps/system/api/aimodel.py index c60e1aa6..9e949af6 100644 --- a/backend/apps/system/api/aimodel.py +++ b/backend/apps/system/api/aimodel.py @@ -78,7 +78,7 @@ async def query( AiModelDetail.default_model) if keyword is not None: statement = statement.where(AiModelDetail.name.like(f"%{keyword}%")) - statement = statement.order_by(AiModelDetail.create_time.asc()) + statement = statement.order_by(AiModelDetail.default_model.desc(), AiModelDetail.name, AiModelDetail.create_time) items = session.exec(statement).all() return items diff --git a/backend/apps/system/api/assistant.py b/backend/apps/system/api/assistant.py index 40aa8814..fe9303e5 100644 --- a/backend/apps/system/api/assistant.py +++ b/backend/apps/system/api/assistant.py @@ -50,7 +50,7 @@ async def validator(session: SessionDep, id: int, virtual: Optional[int] = Query @router.get("", response_model=list[AssistantModel]) async def query(session: SessionDep): - list_result = session.exec(select(AssistantModel).order_by(AssistantModel.create_time.asc())).all() + list_result = session.exec(select(AssistantModel).order_by(AssistantModel.name, AssistantModel.create_time)).all() return list_result @router.post("") diff --git a/backend/apps/system/api/user.py b/backend/apps/system/api/user.py index be616134..69386e1e 100644 --- a/backend/apps/system/api/user.py +++ b/backend/apps/system/api/user.py @@ -59,7 +59,7 @@ async def pager( select(UserModel, UserWsModel.oid.label('ws_oid')) .join(UserWsModel, UserModel.id == UserWsModel.uid, isouter=True) .where(UserModel.id.in_(uid_list)) - .order_by(UserModel.create_time) + .order_by(UserModel.account, UserModel.create_time) ) user_workspaces = session.exec(stmt).all() merged = defaultdict(list) diff --git a/backend/apps/system/api/workspace.py b/backend/apps/system/api/workspace.py index 893333ca..0d795289 100644 --- a/backend/apps/system/api/workspace.py +++ b/backend/apps/system/api/workspace.py @@ -32,7 +32,7 @@ async def option_pager( stmt = select(UserModel.id, UserModel.account, UserModel.name).where( ~exists().where(UserWsModel.uid == UserModel.id, UserWsModel.oid == oid), UserModel.id != 1 - ).order_by(UserModel.create_time.asc()) + ).order_by(UserModel.account, UserModel.create_time) if keyword: keyword_pattern = f"%{keyword}%" @@ -97,7 +97,7 @@ async def pager( ).where( UserWsModel.oid == workspace_id, UserModel.id != 1 - ).order_by(UserModel.create_time.asc()) + ).order_by(UserModel.account, UserModel.create_time) if keyword: keyword_pattern = f"%{keyword}%" diff --git a/backend/apps/system/crud/user.py b/backend/apps/system/crud/user.py index 3dcd4ccf..69255a58 100644 --- a/backend/apps/system/crud/user.py +++ b/backend/apps/system/crud/user.py @@ -46,13 +46,13 @@ def authenticate(*, session: Session, account: str, password: str) -> BaseUserDT async def user_ws_options(session: Session, uid: int, trans: Optional[I18n] = None) -> list[UserWs]: if uid == 1: - stmt = select(WorkspaceModel.id, WorkspaceModel.name).order_by(WorkspaceModel.create_time) + stmt = select(WorkspaceModel.id, WorkspaceModel.name).order_by(WorkspaceModel.name, WorkspaceModel.create_time) else: stmt = select(WorkspaceModel.id, WorkspaceModel.name).join( UserWsModel, UserWsModel.oid == WorkspaceModel.id ).where( UserWsModel.uid == uid, - ).order_by(WorkspaceModel.create_time) + ).order_by(WorkspaceModel.name, WorkspaceModel.create_time) result = session.exec(stmt) if not trans: return result.all()