zhaoqingang
2024-11-11 c1768114de381e37e272e9faf7db8e95a93ff381
app/api/group.py
@@ -1,16 +1,13 @@
from ast import parse
from fastapi import APIRouter, Depends
from app.api import Response, pwd_context, get_current_user, ResponseList
from app.config.config import settings
from win32ctypes.pywin32.pywintypes import datetime
from app.api import Response, get_current_user
from app.models.base_model import get_db
from app.models.group_model import GroupInfoModel, UserGroupModel, GroupData, GroupUsers
from app.models.group_model import GroupModel, GroupData, GroupUsers
from app.models.user import PageParameter
from app.models.user_model import UserModel
from app.service.bisheng import BishengService
from app.service.group import create_group, group_list, edit_group_data, delete_group_data, get_group_users, \
    save_user_to_group
from app.service.token import get_bisheng_token
group_router = APIRouter()
@@ -25,7 +22,7 @@
async def add_group(group: GroupData, current_user: UserModel = Depends(get_current_user), db=Depends(get_db)):
    if not group.group_name:
        return Response(code=400, msg="The group_name cannot be empty!")
    db_group = db.query(GroupInfoModel).filter(GroupInfoModel.group_name == group.group_name).first()
    db_group = db.query(GroupModel).filter(GroupModel.group_name == group.group_name).first()
    if db_group:
        return Response(code=200, msg="group already created")
    is_create = await create_group(db, group.group_name, group.group_description)
@@ -38,11 +35,12 @@
async def edit_group(group: GroupData, current_user: UserModel = Depends(get_current_user), db=Depends(get_db)):
    if not group.group_name:
        return Response(code=400, msg="The group_name cannot be empty!")
    db_group = db.query(GroupInfoModel).filter(GroupInfoModel.group_name == group.group_name).first()
    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")
    is_edit = await edit_group_data(db, group.id,
                                    {"group_name": group.group_name, "group_description": group.group_description})
                                    {"group_name": group.group_name, "group_description": group.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})
@@ -50,13 +48,13 @@
@group_router.post("/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]:
    if group.group_status not in ["0", "1"]:
        return Response(code=400, msg="The status cannot be {}!".format(group.group_status))
    db_group = db.query(GroupInfoModel).filter(GroupInfoModel.group_id == group.id).first()
    db_group = db.query(GroupModel).filter(GroupModel.id == group.id).first()
    if not db_group:
        return Response(code=200, msg="group does not exist")
    is_edit = await edit_group_data(db, group.id,
                                    {"group_status": group.group_status})
                                    {"status": group.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})
@@ -64,7 +62,7 @@
@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(GroupInfoModel).filter(GroupInfoModel.group_id == group.id).first()
    db_group = db.query(GroupModel).filter(GroupModel.id == group.id).first()
    if not db_group:
        return Response(code=200, msg="group does not exist")
    is_edit = await delete_group_data(db, group.id)
@@ -75,16 +73,16 @@
@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(GroupInfoModel).filter(GroupInfoModel.group_id == group.id).first()
    db_group = db.query(GroupModel).filter(GroupModel.id == group.id).first()
    if not db_group:
        return Response(code=200, data={})
        return Response(code=200, msg="group does not exist", data={})
    return Response(code=200, msg="success", data=await get_group_users(db, group.id))
@group_router.post("/save_group_user", response_model=Response)
async def save_group_user(group_user: GroupUsers, current_user: UserModel = Depends(get_current_user),
                          db=Depends(get_db)):
    db_group = db.query(GroupInfoModel).filter(GroupInfoModel.group_id == group_user.id).first()
    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)