fix: crossDomain 重复收集 — 真实树中的 system_mgmt/crossDomain 与虚拟 global_privileges 冲突,从真实树中移除 crossDomain 避免双重收集
This commit is contained in:
@ -152,9 +152,6 @@ 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)
|
||||
|
||||
@ -183,16 +180,8 @@ 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:
|
||||
|
||||
Reference in New Issue
Block a user