From 2c003fc4a794ba396c7851eda482f6a49d4c4159 Mon Sep 17 00:00:00 2001 From: liuwenxin <1009266660@qq.com> Date: Tue, 3 Nov 2026 17:18:44 +0800 Subject: [PATCH] =?UTF-8?q?style(=E8=BF=81=E7=A7=BB):=20=E4=BF=AE=E6=AD=A3?= =?UTF-8?q?=E8=BF=81=E7=A7=BB=E8=84=9A=E6=9C=AC=E7=9A=84=20Ruff=20?= =?UTF-8?q?=E6=A3=80=E6=9F=A5=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将等价字典构造改为字面量并标记未使用字段,保持迁移 SQL 语义。 --- .../versions/22a3b4c5d6e7_authorization.py | 18 ++++++------- .../24c5d6e7f8a9_requirement_completion.py | 26 +++++++++---------- .../25d6e7f8a9b0_monitor_permissions.py | 4 +-- 3 files changed, 24 insertions(+), 24 deletions(-) diff --git a/backend/alembic/versions/22a3b4c5d6e7_authorization.py b/backend/alembic/versions/22a3b4c5d6e7_authorization.py index 0f37826..4af906c 100644 --- a/backend/alembic/versions/22a3b4c5d6e7_authorization.py +++ b/backend/alembic/versions/22a3b4c5d6e7_authorization.py @@ -15,22 +15,22 @@ def upgrade(): bind=op.get_bind() for sql in DDL: op.execute(sql) - for code,name,kind,parent,order in PERMISSIONS: - bind.execute(sa.text("INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES (:code,:name,:kind,:order,1)"),dict(code=code,name=name,kind=kind,order=order)) + for code,name,kind,_parent,order in PERMISSIONS: + bind.execute(sa.text("INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) VALUES (:code,:name,:kind,:order,1)"),{"code": code,"name": name,"kind": kind,"order": order}) for code,_,_,parent,_ in PERMISSIONS: if parent: - bind.execute(sa.text("UPDATE permissions p JOIN permissions parent ON parent.perm_code=:parent SET p.parent_id=parent.id WHERE p.perm_code=:code"),dict(parent=parent,code=code)) + bind.execute(sa.text("UPDATE permissions p JOIN permissions parent ON parent.perm_code=:parent SET p.parent_id=parent.id WHERE p.perm_code=:code"),{"parent": parent,"code": code}) bind.execute(sa.text("INSERT INTO roles (role_code,role_name,description,sort_order,status) VALUES ('payroll_maker','工资制作人','指定制作人还需在权限设置中绑定,角色本身不能绕过月份锁',5,1)")) for role,codes in DEFAULTS.items(): for code in codes: - bind.execute(sa.text("INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code=:code WHERE r.role_code=:role"),dict(code=code,role=role)) + bind.execute(sa.text("INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code=:code WHERE r.role_code=:role"),{"code": code,"role": role}) from app.core.config import get_settings maker=get_settings().payroll_maker_user_id - if maker is not None and not bind.execute(sa.text("SELECT id FROM users WHERE id=:id AND status=1"),dict(id=maker)).scalar(): + if maker is not None and not bind.execute(sa.text("SELECT id FROM users WHERE id=:id AND status=1"),{"id": maker}).scalar(): raise RuntimeError("旧工资制作人账号无效,请修正配置后重试迁移") - bind.execute(sa.text("INSERT INTO authorization_settings (id,maker_user_id,revision) VALUES (1,:maker,1)"),dict(maker=maker)) + bind.execute(sa.text("INSERT INTO authorization_settings (id,maker_user_id,revision) VALUES (1,:maker,1)"),{"maker": maker}) if maker is not None: - bind.execute(sa.text("INSERT INTO user_roles (user_id,role_id) SELECT :maker,id FROM roles WHERE role_code='payroll_maker'"),dict(maker=maker)) + bind.execute(sa.text("INSERT INTO user_roles (user_id,role_id) SELECT :maker,id FROM roles WHERE role_code='payroll_maker'"),{"maker": maker}) def downgrade(): bind=op.get_bind() @@ -40,8 +40,8 @@ def downgrade(): op.drop_table('authorization_settings') codes=[row[0] for row in PERMISSIONS] for code in codes: - bind.execute(sa.text("DELETE rp FROM role_permissions rp JOIN permissions p ON p.id=rp.permission_id WHERE p.perm_code=:code"),dict(code=code)) + bind.execute(sa.text("DELETE rp FROM role_permissions rp JOIN permissions p ON p.id=rp.permission_id WHERE p.perm_code=:code"),{"code": code}) bind.execute(sa.text("DELETE ur FROM user_roles ur JOIN roles r ON r.id=ur.role_id WHERE r.role_code='payroll_maker'")) bind.execute(sa.text("DELETE FROM roles WHERE role_code='payroll_maker'")) for code in reversed(codes): - bind.execute(sa.text("DELETE FROM permissions WHERE perm_code=:code"),dict(code=code)) + bind.execute(sa.text("DELETE FROM permissions WHERE perm_code=:code"),{"code": code}) diff --git a/backend/alembic/versions/24c5d6e7f8a9_requirement_completion.py b/backend/alembic/versions/24c5d6e7f8a9_requirement_completion.py index 3502748..03d063b 100644 --- a/backend/alembic/versions/24c5d6e7f8a9_requirement_completion.py +++ b/backend/alembic/versions/24c5d6e7f8a9_requirement_completion.py @@ -105,19 +105,19 @@ def upgrade(): op.bulk_insert( definitions, [ - dict( - param_code=f"coefficient.personal.{field}", - param_name=title, - param_group="产品系数表", - value_type=kind, - unit=unit, - dimension_type="PRODUCT_CATEGORY", - value_min="1" if kind == "INT" else "0", - value_max="3660" if kind == "INT" else None, - description="按产品类别维护;未配置时沿用同日期的通用业务员参数。", - sort_order=52 + index, - status=1, - ) + { + "param_code": f"coefficient.personal.{field}", + "param_name": title, + "param_group": "产品系数表", + "value_type": kind, + "unit": unit, + "dimension_type": "PRODUCT_CATEGORY", + "value_min": "1" if kind == "INT" else "0", + "value_max": "3660" if kind == "INT" else None, + "description": "按产品类别维护;未配置时沿用同日期的通用业务员参数。", + "sort_order": 52 + index, + "status": 1, + } for index, (field, title, kind, unit) in enumerate(fields) ], ) diff --git a/backend/alembic/versions/25d6e7f8a9b0_monitor_permissions.py b/backend/alembic/versions/25d6e7f8a9b0_monitor_permissions.py index 7a51fe6..dcbc68d 100644 --- a/backend/alembic/versions/25d6e7f8a9b0_monitor_permissions.py +++ b/backend/alembic/versions/25d6e7f8a9b0_monitor_permissions.py @@ -14,8 +14,8 @@ def upgrade(): ("system:monitor:view", "系统监控:查看", 1), ("system:monitor:export", "系统监控:导出", 2), ): - bind.execute(sa.text("INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) SELECT :code,:name,:kind,100,1 WHERE NOT EXISTS (SELECT 1 FROM permissions WHERE perm_code=:code)"), dict(code=code,name=name,kind=kind)) - bind.execute(sa.text("INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code=:code WHERE r.role_code='admin' AND NOT EXISTS (SELECT 1 FROM role_permissions old WHERE old.role_id=r.id AND old.permission_id=p.id)"), dict(code=code)) + bind.execute(sa.text("INSERT INTO permissions (perm_code,perm_name,perm_type,sort_order,status) SELECT :code,:name,:kind,100,1 WHERE NOT EXISTS (SELECT 1 FROM permissions WHERE perm_code=:code)"), {"code": code,"name": name,"kind": kind}) + bind.execute(sa.text("INSERT INTO role_permissions (role_id,permission_id) SELECT r.id,p.id FROM roles r JOIN permissions p ON p.perm_code=:code WHERE r.role_code='admin' AND NOT EXISTS (SELECT 1 FROM role_permissions old WHERE old.role_id=r.id AND old.permission_id=p.id)"), {"code": code}) bind.execute(sa.text("UPDATE permissions p JOIN permissions parent ON parent.perm_code='system:monitor:view' SET p.parent_id=parent.id WHERE p.perm_code='system:monitor:export'"))