Browse Source

241126-1代码。

baoyubo 7 months ago
parent
commit
a460b14b39
2 changed files with 138 additions and 17 deletions
  1. 6 0
      common/websocketManager.py
  2. 132 17
      routers/api/pattern/__init__.py

+ 6 - 0
common/websocketManager.py

@@ -151,3 +151,9 @@ def pattern_id_get_tp_pattern_ws_group_list(pattern_id:str,db: Session):
     query = query.filter(TpPatternWSGroupList.pattern_id == pattern_id)
     query = query.order_by(TpPatternWSGroupList.create_time.desc())
     return query.all()
+def group_id_get_tp_pattern_ws_group_info(group_id:str,db: Session):
+    query = db.query(TpPatternWSGroupList)
+    query = query.filter(TpPatternWSGroupList.del_flag != '2')
+    query = query.filter(TpPatternWSGroupList.group_id == group_id)
+    query = query.order_by(TpPatternWSGroupList.create_time.desc())
+    return query.first()

+ 132 - 17
routers/api/pattern/__init__.py

@@ -597,11 +597,11 @@ async def add_group_pattern(
                                 'code': 404,
                                 'msg': '抱歉,pattern_id不存在,请联系系统管理员'
                             })
-        if pattern_info.create_by!=user_id:
-            return JSONResponse(status_code=404, content={
-                                'code': 404,
-                                'msg': '抱歉,您无权限,请联系系统管理员'
-                            })
+        # if pattern_info.create_by!=user_id:
+        #     return JSONResponse(status_code=404, content={
+        #                         'code': 404,
+        #                         'msg': '抱歉,您无权限,请联系系统管理员'
+        #                     })
         info = pattern_id_get_tp_pattern_ws_group_def_info(body['pattern_id'], db)
         new_pattern_ws_group = TpPatternWSGroupList(
             group_id=new_guid(),
@@ -624,20 +624,20 @@ async def add_group_pattern(
     db: Session = Depends(get_db)
 ):
     try:
-        pattern_info = pattern_id_get_tp_pattern_ws_group_def_info(body['pattern_id'],db)
-        if pattern_info is None:
-            return JSONResponse(status_code=404, content={
-                                'code': 404,
-                                'msg': '抱歉,pattern_id不存在,请联系系统管理员'
-                            })
-        if pattern_info.create_by!=user_id:
-            return JSONResponse(status_code=404, content={
-                                'code': 404,
-                                'msg': '抱歉,您无权限,请联系系统管理员'
-                            })
+        # pattern_info = pattern_id_get_tp_pattern_ws_group_def_info(body['pattern_id'],db)
+        # if pattern_info is None:
+        #     return JSONResponse(status_code=404, content={
+        #                         'code': 404,
+        #                         'msg': '抱歉,pattern_id不存在,请联系系统管理员'
+        #                     })
+        # if pattern_info.create_by!=user_id:
+        #     return JSONResponse(status_code=404, content={
+        #                         'code': 404,
+        #                         'msg': '抱歉,您无权限,请联系系统管理员'
+        #                     })
         query = db.query(TpPatternWSGroupList)
         query = query.filter(TpPatternWSGroupList.del_flag!='2')
-        query = query.filter(TpPatternWSGroupList.group_id==body['gruop_id'])
+        query = query.filter(TpPatternWSGroupList.group_id==body['group_id'])
         group = query.first()
         if 'group_name' in  body:
             group.group_name = body['group_name']
@@ -648,6 +648,24 @@ async def add_group_pattern(
     except Exception as e:
         traceback.print_exc()
         raise HTTPException(status_code=500, detail=f"Internal server error: {str(e)}")
+@router.delete("/ws/delete_group/{group_id}")
+async def add_group_pattern(
+    group_id:str ,
+    user_id=Depends(valid_access_token),
+    body = Depends(remove_xss_json),
+    db: Session = Depends(get_db)
+):
+    try:
+        query = db.query(TpPatternWSGroupList)
+        query = query.filter(TpPatternWSGroupList.del_flag != '2')
+        query = query.filter(TpPatternWSGroupList.group_id == group_id)
+        group = query.first()
+        group.del_flag = '2'
+        db.commit()
+        return {"code": 200, "msg": "删除分组成功", "data": None}
+    except Exception as e:
+        traceback.print_exc()
+        raise HTTPException(status_code=500, detail=f"Internal server error: {str(e)}")
 
 @router.get("/ws/bz_list")
 async def get_pattern_list(
@@ -674,6 +692,7 @@ async def get_pattern_list(
                 "group_name":group.group_name,
                 "pattern_id":group.pattern_id,
                 "pattern_name":group.pattern_name,
+                "visible":"0",
                 "bz_list":[],
                 "create_time": group.create_time.strftime('%Y-%m-%d %H:%M:%S')
             }
@@ -681,6 +700,8 @@ async def get_pattern_list(
             for info in patterns:
                 user= user_id_get_user_info(db,info.create_by)
                 dept = dept_id_get_dept_info(db,user.dept_id)
+                if info.visible=='1':
+                    group['visible']='1'
                 group['bz_list'].append({"id":info.id,
                                 "name":info.name,
                                 "group_id":info.pattern_id,
@@ -701,6 +722,60 @@ async def get_pattern_list(
         traceback.print_exc()
         raise HTTPException(status_code=500, detail=f"Internal server error: {str(e)}")
 
+@router.get("/ws/group_info")
+async def get_pattern_list(
+        group_id: str = Query(None, description='预案名称'),
+        # page: int = Query(1, gt=0, description='页码'),
+        # pageSize: int = Query(5, gt=0, description='每页条目数量'),
+        user_id=Depends(valid_access_token),
+        db: Session = Depends(get_db)
+):
+    try:
+        # data = pattern_id_get_tp_pattern_ws_list(pattern_id,db)
+        group = group_id_get_tp_pattern_ws_group_info(group_id,db)
+        # message = []
+        query = db.query(TpPatternWSList)
+        query = query.filter(TpPatternWSList.del_flag != '2')
+        query = query.filter(TpPatternWSList.pattern_id == group.group_id)
+        # total_items = query.count()
+        # 排序
+        query = query.order_by(TpPatternWSList.create_time.desc())
+        # 执行分页查询
+        group = {
+            "group_id":group.group_id,
+            "group_name":group.group_name,
+            "pattern_id":group.pattern_id,
+            "pattern_name":group.pattern_name,
+            "visible":"0",
+            "bz_list":[],
+            "create_time": group.create_time.strftime('%Y-%m-%d %H:%M:%S')
+        }
+        patterns = query.all()  # .offset((page - 1) * pageSize).limit(pageSize)
+        for info in patterns:
+            user= user_id_get_user_info(db,info.create_by)
+            dept = dept_id_get_dept_info(db,user.dept_id)
+            if info.visible=='1':
+                group['visible']='1'
+            group['bz_list'].append({"id":info.id,
+                            "name":info.name,
+                            "group_id":info.pattern_id,
+                            "content":info.content,
+                            "visible":info.visible,
+                            "user_id":info.create_by,
+                            "nick_name":user.nick_name,
+                            "dept_name":dept.dept_name,
+                            "create_time":info.create_time.strftime('%Y-%m-%d %H:%M:%S')})
+        # message.append(group)
+        return {"code": 200, "msg": "查询成功", "data": group,
+                # "total": total_items,
+                # "page": page,
+                # "pageSize": pageSize,
+                # "totalPages": (total_items + pageSize - 1) // pageSize
+                }
+    except Exception as e:
+        traceback.print_exc()
+        raise HTTPException(status_code=500, detail=f"Internal server error: {str(e)}")
+
 @router.put('/ws/bz_visible')
 async def update_bz_visible(
     body = Depends(remove_xss_json),
@@ -716,6 +791,46 @@ async def update_bz_visible(
             info = query.first()
             info.visible=body['visible']
         db.commit()
+        return {"code": 200, "msg": "查询成功", "data": None
+                }
+    except Exception as e:
+        traceback.print_exc()
+        raise HTTPException(status_code=500, detail=f"Internal server error: {str(e)}")
+
+@router.put('/ws/group_visible')
+async def update_group_visible(
+    body = Depends(remove_xss_json),
+    user_id=Depends(valid_access_token),
+    db: Session = Depends(get_db)
+):
+    try:
+        group_id = body['group_id']
+        visible = body['visible']
+        if visible=='0':#1显示 0隐藏
+            query = db.query(TpPatternWSList)
+            query = query.filter(TpPatternWSList.del_flag!='2')
+            query = query.filter(TpPatternWSList.pattern_id==group_id)
+            bz_list = query.all()
+            for info in bz_list:
+                info.visible='0'
+        elif visible=='1':
+            pattern_id = group_id_get_tp_pattern_ws_group_info(group_id,db).pattern_id
+            group_list = pattern_id_get_tp_pattern_ws_group_list(pattern_id,db)
+            for group in group_list:
+                # print(group.group_id)
+                visible = '0'
+                if group.group_id==group_id:
+                    visible='1'
+                query = db.query(TpPatternWSList)
+                query = query.filter(TpPatternWSList.del_flag != '2')
+                query = query.filter(TpPatternWSList.pattern_id == group.group_id)
+                bz_list = query.all()
+                for info in bz_list:
+                    # print(info.visible)
+                    info.visible = visible
+        db.commit()
+        return {"code": 200, "msg": "查询成功", "data": None
+                }
     except Exception as e:
         traceback.print_exc()
         raise HTTPException(status_code=500, detail=f"Internal server error: {str(e)}")