diff --git a/inventory-backend/app/services/permission_service.py b/inventory-backend/app/services/permission_service.py index 9024154..a89c5ba 100644 --- a/inventory-backend/app/services/permission_service.py +++ b/inventory-backend/app/services/permission_service.py @@ -152,6 +152,9 @@ class PermissionService: ) ).all() + crossDomain_deleted = any(p.target_code == 'crossDomain' for p in old_perms) + print(f"[权限保存] company_name={repr(company_name)} role={role_code}") + print(f"[权限保存] 删除旧权限 {len(old_perms)} 条, crossDomain 在其中: {crossDomain_deleted}") for p in old_perms: db.session.delete(p) @@ -180,8 +183,16 @@ class PermissionService: if new_records: session.add_all(new_records) + crossDomain_inserted = 'crossDomain' in (permissions or []) + print(f"[权限保存] 新权限 {len(permissions or [])} 条, crossDomain 在提交列表中: {crossDomain_inserted}") + # 4. 提交 session.commit() + # 验证:提交后 crossDomain 是否还在 + after = SysRolePermission.query.filter_by( + role_code=role_code, target_code='crossDomain' + ).first() + print(f"[权限保存] 提交后 crossDomain 仍在: {after is not None} (company_name={repr(after.company_name) if after else 'N/A'})") return True except SQLAlchemyError as e: