Преглед на файлове

fix: 制度修改金额时同步更新发放规则(issuerule.modify)到支付宝

alphah преди 1 седмица
родител
ревизия
f53efc3270
променени са 1 файла, в които са добавени 21 реда и са изтрити 0 реда
  1. 21 0
      backend/app/plugin/module_payment/expense/institution/controller.py

+ 21 - 0
backend/app/plugin/module_payment/expense/institution/controller.py

@@ -431,6 +431,27 @@ async def modify_institution_controller(
                         "modify_standard_list": modify_standard_list
                     }
                     log.info(f"已构建金额变更信息: amount={new_amount}, single_limit={new_single_limit}, rules={len(modify_standard_list)}")
+
+            # 周期发放制度:同步更新发放规则金额 (issuerule.modify)
+            if grant_mode == "period" and new_amount is not None and detail_dict:
+                issue_rule_list = detail_dict.get("issue_rule_info_list") or []
+                if not isinstance(issue_rule_list, list):
+                    issue_rule_list = [issue_rule_list]
+                for rule in issue_rule_list:
+                    issue_rule_id = rule.get("issue_rule_id") if isinstance(rule, dict) else getattr(rule, "issue_rule_id", None)
+                    if issue_rule_id:
+                        try:
+                            await IssueruleService.modify_issuerule_service(
+                                auth=auth,
+                                institution_id=institution_id,
+                                issue_rule_id=issue_rule_id,
+                                enterprise_id=enterprise_id,
+                                issue_amount_value=str(new_amount),
+                            )
+                            log.info(f"已同步发放规则金额: issue_rule_id={issue_rule_id}, amount={new_amount}")
+                            break
+                        except Exception as e:
+                            log.warning(f"同步发放规则失败(不影响制度修改): {e}")
             else:
                 log.warning(f"未查询到制度详情,跳过金额同步: institution_id={institution_id}")
         except Exception as e: