From 519930bc1112cdf7881fecce907381ce6374e74c Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期二, 14 一月 2025 13:37:56 +0800
Subject: [PATCH] 文档出卷-未上传文件提示
---
app/service/role.py | 37 ++++++++++++++++++++++++++-----------
1 files changed, 26 insertions(+), 11 deletions(-)
diff --git a/app/service/role.py b/app/service/role.py
index 5568114..ecc8c4a 100644
--- a/app/service/role.py
+++ b/app/service/role.py
@@ -1,23 +1,30 @@
import uuid
-from app.Log import logger
-from app.models.resource_model import ResourceModel, ResourceTypeModel
+from Log import logger
+from app.config.const import DEPT_STATUS_ON
+from app.models import OrganizationModel
+from app.models.resource_model import ResourceModel
from app.models.role_model import RoleModel
-async def role_list(db, page_size: int, page_index: int, keyword: str):
+async def role_list(db, page_size: int, page_index: int, keyword: str, role_key:str, user_id):
query = db.query(RoleModel)
+ # if role_key != "admin":
+ # query.filter(RoleModel.creator==user_id)
if keyword:
query = query.filter(RoleModel.name.like('%{}%'.format(keyword)))
- roles = query.order_by(RoleModel.id.desc()).limit(page_size).offset(
+ total = query.count()
+ roles = query.order_by(RoleModel.created_at.desc()).limit(page_size).offset(
(page_index - 1) * page_size).all()
- return {"total": query.count(), "rows": [role.to_json() for role in roles]}
+ return {"total": total, "rows": [role.to_json() for role in roles if role.status == DEPT_STATUS_ON]}
-async def create_role(db, role_name: str, description: str, user_id):
+async def create_role(db, role_name: str, description: str, role_key, data_scope, user_id):
try:
- role_model = RoleModel(id=str(uuid.uuid4()),name=role_name, description=description,creator=user_id)
+ role_model = RoleModel(id=str(uuid.uuid4()),name=role_name, description=description,creator=user_id, dataScope=data_scope)
+ if role_key:
+ role_model.roleKey = role_key
db.add(role_model)
db.commit()
db.refresh(role_model)
@@ -49,13 +56,21 @@
return True
-async def edit_role_resource(db, role_id:str, role_name:str, description:str, resources:list):
+async def edit_role_resource(db, role_id:str, role_name:str, description:str,role_key:str, data_scope:int, resources:list, edit_type:int, depts:list):
try:
role = db.query(RoleModel).filter(RoleModel.id == role_id).first()
- if role_name: role.name = role_name
- if description: role.description = description
- if resources:
+ if edit_type == 1:
+ role.name = role_name
+ role.description = description
+
+ if role_key:
+ role.roleKey = role_key
+ if data_scope:
+ role.dataScope = data_scope
+ elif edit_type == 2:
role.resources = [db.get(ResourceModel, resourcesId) for resourcesId in resources]
+ elif edit_type == 3:
+ role.organizations = [db.get(OrganizationModel, deptId) for deptId in depts]
db.add(role)
db.commit()
except Exception as e:
--
Gitblit v1.8.0