|
|
@@ -911,6 +911,23 @@ class InstitutionService:
|
|
|
await crud.update_by_institution_id(institution_id, update_data)
|
|
|
log.info(f"已更新本地制度: institution_id={institution_id}")
|
|
|
|
|
|
+ # 制度生效/失效时同步更新额度状态
|
|
|
+ if hasattr(data, 'effective') and data.effective is not None:
|
|
|
+ from app.plugin.module_payment.expense.quota.model import QuotaModel
|
|
|
+ from app.plugin.module_payment.expense.quota.enums import QuotaStatusEnum
|
|
|
+ from sqlalchemy import update as sa_quota_update
|
|
|
+ new_quota_status = (
|
|
|
+ QuotaStatusEnum.QUOTA_ACTIVE.value
|
|
|
+ if data.effective == "1"
|
|
|
+ else QuotaStatusEnum.QUOTA_FROZEN.value
|
|
|
+ )
|
|
|
+ quota_upd = sa_quota_update(QuotaModel).where(
|
|
|
+ QuotaModel.institution_id == institution_id
|
|
|
+ ).values(status=new_quota_status)
|
|
|
+ await auth.db.execute(quota_upd)
|
|
|
+ await auth.db.flush()
|
|
|
+ log.info(f"已同步更新额度状态: institution_id={institution_id}, effective={data.effective}, quota_status={new_quota_status}")
|
|
|
+
|
|
|
# 同步标准规则(modify_standard_detail_info)
|
|
|
std_detail = (raw_data or {}).get("modify_standard_detail_info") or {}
|
|
|
if std_detail:
|