libushang 1 周之前
父节点
当前提交
b7086ba181
共有 2 个文件被更改,包括 35 次插入1 次删除
  1. 30 1
      routers/prod_api/system/role/__init__.py
  2. 5 0
      utils/ry_system_util.py

+ 30 - 1
routers/prod_api/system/role/__init__.py

@@ -577,4 +577,33 @@ async def rolelist( roleId:int,
 
     except Exception as e:
         traceback.print_exc()
-        raise HTTPException(status_code=500, detail=f"Internal server error: {str(e)}")
+        raise HTTPException(status_code=500, detail=f"Internal server error: {str(e)}")
+    
+@router.delete('/{role_id1}')
+async def delete_role(
+    role_id1: str,
+    request: Request, 
+    auth_user: AuthUser = Depends(find_auth_user),
+    db: Session = Depends(get_db),
+    body = Depends(remove_xss_json),
+    user_id = Depends(valid_access_token)
+):
+    roleIdList=role_id1.split(',')
+    for role_id1 in roleIdList:
+        role = role_id_get_role_info(db,role_id1)
+        # 将模型实例转换为字典
+        print(role)
+
+        role.del_flag = '2'
+        role.sign = sys_role_data.get_sign_hmac(role)
+        role.update_by = user_id
+        role.update_time = datetime.now()
+        db.commit()
+
+        db_czrz.log(db, auth_user, "系统管理", f"后台管理删除角色{role.role_name}记录成功", request.client.host)
+
+    return {
+        "code": 200,
+        "data": None,
+        "msg": "操作成功"
+    }

+ 5 - 0
utils/ry_system_util.py

@@ -141,6 +141,11 @@ def role_id_get_role_depts(db,role_id):
     resutl = query.all()
     return [i.dept_id for i in resutl]
 
+def role_id_get_role_info(db, role_id):
+    query = db.query(SysRole)
+    query = query.filter(SysRole.del_flag != '2')
+    query = query.filter(SysRole.role_id == role_id)
+    return query.first()
 
 def get_dict_data_info(db,dict_type:str,dict_value:str):
     query = db.query(SysDictData)