From 77b983759956322fcd2259de4f1094217535dcdb Mon Sep 17 00:00:00 2001 From: zhaoqingang <zhaoqg0118@163.com> Date: 星期四, 13 二月 2025 17:59:08 +0800 Subject: [PATCH] 登录问题优化 --- app/api/group.py | 80 +++++++++++++++++++++++---------------- 1 files changed, 47 insertions(+), 33 deletions(-) diff --git a/app/api/group.py b/app/api/group.py index 4d0826e..e1fda78 100644 --- a/app/api/group.py +++ b/app/api/group.py @@ -1,82 +1,84 @@ from fastapi import APIRouter, Depends -from win32ctypes.pywin32.pywintypes import datetime +from datetime import datetime from app.api import Response, get_current_user from app.models.base_model import get_db -from app.models.group_model import GroupModel, GroupData, GroupUsers +from app.models.group_model import GroupModel, GroupData, GroupUsers, GroupResource from app.models.user import PageParameter from app.models.user_model import UserModel from app.service.group import create_group, group_list, edit_group_data, delete_group_data, get_group_users, \ - save_user_to_group + save_user_to_group, save_group_resource group_router = APIRouter() -@group_router.post("/group_list", response_model=Response) -async def user_group_list(paras: PageParameter, current_user: UserModel = Depends(get_current_user), +@group_router.get("/list", response_model=Response) +async def user_group_list(current:int, pageSize:int, keyword="", current_user: UserModel = Depends(get_current_user), db=Depends(get_db)): - return Response(code=200, msg="", data=await group_list(db, paras.page_size, paras.page_index, paras.keyword)) + return Response(code=200, msg="", data=await group_list(db, pageSize, current, keyword)) @group_router.post("/add_group", response_model=Response) async def add_group(group: GroupData, current_user: UserModel = Depends(get_current_user), db=Depends(get_db)): - if not group.group_name: + if not group.groupName: return Response(code=400, msg="The group_name cannot be empty!") - db_group = db.query(GroupModel).filter(GroupModel.group_name == group.group_name).first() + db_group = db.query(GroupModel).filter(GroupModel.group_name == group.groupName).first() if db_group: - return Response(code=200, msg="group already created") - is_create = await create_group(db, group.group_name, group.group_description) + return Response(code=400, msg="group already created") + is_create = await create_group(db, group.groupName, group.description, current_user.id) if not is_create: return Response(code=200, msg="group create failure", data={}) - return Response(code=200, msg="group create successfully", data={"group_name": group.group_name}) + return Response(code=200, msg="group create successfully", data={"group_name": group.groupName}) -@group_router.post("/edit_group", response_model=Response) +@group_router.put("/edit_group", response_model=Response) async def edit_group(group: GroupData, current_user: UserModel = Depends(get_current_user), db=Depends(get_db)): - if not group.group_name: + if not group.groupName: return Response(code=400, msg="The group_name cannot be empty!") - db_group = db.query(GroupModel).filter(GroupModel.group_name == group.group_name).first() - if db_group: - return Response(code=200, msg="group_name already created") + db_group = db.query(GroupModel).filter(GroupModel.group_name == group.groupName).first() + if db_group and db_group.id != group.id: + return Response(code=400, msg="group_name already created") is_edit = await edit_group_data(db, group.id, - {"group_name": group.group_name, "group_description": group.group_description, + {"group_name": group.groupName, "group_description": group.description, "updated_at": datetime.now()}) if not is_edit: return Response(code=200, msg="group edit failure", data={}) - return Response(code=200, msg="group edit successfully", data={"group_name": group.group_name}) + return Response(code=200, msg="group edit successfully", data={"group_name": group.groupName}) -@group_router.post("/edit_group_status", response_model=Response) +@group_router.put("/edit_group_status", response_model=Response) async def edit_group_status(group: GroupData, current_user: UserModel = Depends(get_current_user), db=Depends(get_db)): - if group.group_status not in ["0", "1"]: - return Response(code=400, msg="The status cannot be {}!".format(group.group_status)) + if group.status not in ["0", "1"]: + return Response(code=400, msg="The status cannot be {}!".format(group.status)) db_group = db.query(GroupModel).filter(GroupModel.id == group.id).first() if not db_group: - return Response(code=200, msg="group does not exist") + return Response(code=400, msg="group does not exist") is_edit = await edit_group_data(db, group.id, - {"status": group.group_status,"updated_at": datetime.now()}) + {"status": group.status,"updated_at": datetime.now()}) if not is_edit: return Response(code=200, msg="group status edit failure", data={}) - return Response(code=200, msg="group status edit successfully", data={"group_name": group.group_name}) + return Response(code=200, msg="group status edit successfully", data={"group_name": group.groupName}) -@group_router.post("/delete_group", response_model=Response) -async def delete_group(group: GroupData, current_user: UserModel = Depends(get_current_user), db=Depends(get_db)): - db_group = db.query(GroupModel).filter(GroupModel.id == group.id).first() +@group_router.delete("/delete_group/{groupId}", response_model=Response) +async def delete_group(groupId, current_user: UserModel = Depends(get_current_user), db=Depends(get_db)): + db_group = db.query(GroupModel).filter(GroupModel.id == groupId).first() if not db_group: return Response(code=200, msg="group does not exist") - is_edit = await delete_group_data(db, group.id) + if db_group.group_type ==2: + return Response(code=400, msg="榛樿缁勬棤娉曞垹闄わ紒") + is_edit = await delete_group_data(db, groupId) if not is_edit: return Response(code=200, msg="group delete failure", data={}) return Response(code=200, msg="group delete successfully", data={}) -@group_router.post("/group_users", response_model=Response) -async def group_users(group: GroupData, current_user: UserModel = Depends(get_current_user), db=Depends(get_db)): - db_group = db.query(GroupModel).filter(GroupModel.id == group.id).first() +@group_router.get("/group_users", response_model=Response) +async def group_users(groupId:int, current_user: UserModel = Depends(get_current_user), db=Depends(get_db)): + db_group = db.query(GroupModel).filter(GroupModel.id == groupId).first() if not db_group: return Response(code=200, msg="group does not exist", data={}) - return Response(code=200, msg="success", data=await get_group_users(db, group.id)) + return Response(code=200, msg="success", data=await get_group_users(db, groupId)) @group_router.post("/save_group_user", response_model=Response) @@ -85,7 +87,19 @@ db_group = db.query(GroupModel).filter(GroupModel.id == group_user.id).first() if not db_group: return Response(code=200, msg="group does not exist") - is_success = await save_user_to_group(db, current_user.id, group_user.id, group_user.user_list) + is_success = await save_user_to_group(db, current_user.id, group_user.id, group_user.userList) + if not is_success: + return Response(code=500, msg="save user to group failure", data={}) + return Response(code=200, msg="success", data={}) + + +@group_router.put("/group_resource", response_model=Response) +async def group_resource(group_resource: GroupResource, current_user: UserModel = Depends(get_current_user), + db=Depends(get_db)): + db_group = db.query(GroupModel).filter(GroupModel.id == group_resource.id).first() + if not db_group: + return Response(code=200, msg="group does not exist") + is_success = await save_group_resource(db, current_user.id, group_resource.id, group_resource.llms, group_resource.dialogs, group_resource.knowledges) if not is_success: return Response(code=500, msg="save user to group failure", data={}) return Response(code=200, msg="success", data={}) -- Gitblit v1.8.0