From 2f84e3cc4bff981590ab37bd95da64bd72c1f2e0 Mon Sep 17 00:00:00 2001 From: zhaoqingang <zhaoqg0118@163.com> Date: 星期一, 16 十二月 2024 09:40:00 +0800 Subject: [PATCH] 12-16 --- app/service/service_token.py | 2 app/service/dialog.py | 2 app/service/group.py | 28 +++++++------- app/models/group_model.py | 14 +++--- app/api/group.py | 44 +++++++++++----------- 5 files changed, 45 insertions(+), 45 deletions(-) diff --git a/app/api/group.py b/app/api/group.py index 5498eb1..e1fda78 100644 --- a/app/api/group.py +++ b/app/api/group.py @@ -15,49 +15,49 @@ @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, pageSize, current, keyword, current_user.permission, current_user.id)) + 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, current_user.id) + 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.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() + db_group = db.query(GroupModel).filter(GroupModel.group_name == group.groupName).first() if db_group and db_group.id != group.id: - return Response(code=200, msg="group_name already created") + 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.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.delete("/delete_group/{groupId}", response_model=Response) @@ -73,12 +73,12 @@ 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) @@ -87,7 +87,7 @@ 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={}) @@ -99,7 +99,7 @@ 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.agents, group_resource.dialogs, group_resource.knowledges) + 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={}) diff --git a/app/models/group_model.py b/app/models/group_model.py index 529db57..58d4991 100644 --- a/app/models/group_model.py +++ b/app/models/group_model.py @@ -96,8 +96,8 @@ if len(self.dialogs.all()) > 0: json['dialogs'] = [dialog.to_json() for dialog in self.dialogs] - if len(self.agents.all()) > 0: - json['agents'] = [agent.to_json() for agent in self.agents] + # if len(self.agents.all()) > 0: + # json['agents'] = [agent.to_json() for agent in self.agents] if len(self.llms.all()) > 0: json['llms'] = [llm.to_json() for llm in self.llms] @@ -120,18 +120,18 @@ class GroupData(BaseModel): id: Optional[int] = None - group_name: Optional[str] = "" - group_description: Optional[str] = "" - group_status: Optional[str] = "" + groupName: Optional[str] = "" + description: Optional[str] = "" + status: Optional[str] = "" class GroupUsers(BaseModel): id: int - user_list: list + userList: list class GroupResource(BaseModel): id: int - agents: list + llms: list dialogs: list knowledges: list diff --git a/app/service/dialog.py b/app/service/dialog.py index 8a1ccbc..7073aa5 100644 --- a/app/service/dialog.py +++ b/app/service/dialog.py @@ -105,7 +105,7 @@ async def update_dialog_status_service(db, dialog_id, status): try: - DialogModel(id=dialog_id).update({"status":status}) + db.query(DialogModel).filter_by(id=dialog_id).update({"status":status}) db.commit() except Exception as e: logger.error(e) diff --git a/app/service/group.py b/app/service/group.py index 0c6eb77..ab8368e 100644 --- a/app/service/group.py +++ b/app/service/group.py @@ -7,17 +7,18 @@ from Log import logger -async def group_list(db, page_size: int, page_index: int, keyword: str, role_key:str, user_id): - logger.info("-------------------------group_list----------------------------------") - query = db.query(GroupModel).filter(GroupModel.creator==user_id) +async def group_list(db, page_size: int, page_index: int, keyword: str): + # logger.info("-------------------------group_list----------------------------------") + query = db.query(GroupModel) # if role_key != "admin": # query.filter(GroupModel.creator==user_id) if keyword: query = query.filter(GroupModel.group_name.like('%{}%'.format(keyword))) - items = query.order_by(GroupModel.id.desc()).limit(page_size).offset( - (page_index - 1) * page_size).all() + total = query.count() + print(total) + items = query.order_by(GroupModel.id.desc()).limit(page_size).offset((page_index - 1) * page_size) - return {"total": query.count(), "items": [item.to_json() for item in items]} + return {"total":total , "items": [item.to_dict() for item in items.all()]} async def create_group(db, group_name: str, group_description: str, user_id): @@ -58,14 +59,13 @@ async def get_group_users(db, group_id): not_group_user = [] in_group_user = [] - user_list = [u.id for i in - db.query(GroupModel).filter(GroupModel.id.__eq__(group_id)).all() for u in i.users] - for u in db.query(UserModel.id, UserModel.username).filter(UserModel.permission!="admin").order_by(UserModel.id.desc()).all(): + user_list = [u.id for u in db.query(GroupModel).filter(GroupModel.id.__eq__(group_id)).first().users] + for u in db.query(UserModel.id, UserModel.username,UserModel.permission).filter(UserModel.permission!="admin").order_by(UserModel.id.desc()).all(): if u.id in user_list: - in_group_user.append({"user_id": u.id, "user_name": u.username}) + in_group_user.append({"userId": u.id, "userName": u.username}) else: - not_group_user.append({"user_id": u.id, "user_name": u.username}) - return {"in_group": in_group_user, "not_in_group": not_group_user} + not_group_user.append({"userId": u.id, "userName": u.username}) + return {"inGroup": in_group_user, "notInGroup": not_group_user} async def save_user_to_group(db, user_id, group_id, user_list): @@ -112,10 +112,10 @@ return False return True -async def save_group_resource(db, user_id, group_id, agents, dialogs, knowledges): +async def save_group_resource(db, user_id, group_id, llms, dialogs, knowledges): try: group = db.query(GroupModel).filter(GroupModel.id.__eq__(group_id)).first() - group.agents = [db.get(CanvasModel, user) for user in agents] + group.llms = [db.get(CommonLlmModel, user) for user in llms] group.dialogs = [db.get(DialogModel, user) for user in dialogs] group.knowledges = [db.get(KnowledgeModel, user) for user in knowledges] db.commit() diff --git a/app/service/service_token.py b/app/service/service_token.py index 7a2a695..0b031cb 100644 --- a/app/service/service_token.py +++ b/app/service/service_token.py @@ -103,7 +103,7 @@ logger.error("娉ㄥ唽鐢ㄦ埛鑾峰彇token澶辫触锛�") return False user_list = db.query(UserAppModel).filter(UserAppModel.app_type==RAGFLOW).all() - user = db.query(UserAppModel).filter(UserAppModel.userFlag==sync_user.id, UserAppModel.app_type == RAGFLOW).first() + user = db.query(UserAppModel).filter(UserAppModel.user_id==sync_user.id, UserAppModel.app_type == RAGFLOW).first() if not user: logger.error("娉ㄥ唽鐢ㄦ埛鑾峰彇淇℃伅澶辫触锛�") return False -- Gitblit v1.8.0