Bläddra i källkod

fix: modify_standard_detail_info和modify_issue_rule_detail_info始终一起构建

alphah 1 vecka sedan
förälder
incheckning
7a727f0c08
1 ändrade filer med 12 tillägg och 8 borttagningar
  1. 12 8
      backend/app/plugin/module_payment/expense/institution/controller.py

+ 12 - 8
backend/app/plugin/module_payment/expense/institution/controller.py

@@ -384,15 +384,17 @@ async def modify_institution_controller(
                     return obj.to_alipay_dict()
                 return {}
 
-            # 从支付宝查询当前制度的 standard_info_list,获取现有 condition 的 rule_id
+            # 从支付宝查询当前制度详情
             detail_dict = await InstitutionService.detailinfo_query_service(
                 auth=auth, institution_id=institution_id, enterprise_id=enterprise_id
             )
+
+            # 构建 modify_standard_detail_info
+            modify_standard_list = []
             if detail_dict and detail_dict.get("standard_info_list"):
                 std_list = detail_dict["standard_info_list"]
                 if not isinstance(std_list, list):
                     std_list = [std_list]
-                modify_standard_list = []
                 for std_obj in std_list:
                     std = _to_dict(std_obj)
                     std_id = std.get("standard_id")
@@ -437,13 +439,15 @@ async def modify_institution_controller(
                             "modify_condition_list": modify_condition_list,
                         })
 
-                if modify_standard_list:
-                    data["modify_standard_detail_info"] = {
-                        "modify_standard_list": modify_standard_list
-                    }
-                    log.info(f"已构建金额变更信息: amount={new_amount}, single_limit={new_single_limit}, rules={len(modify_standard_list)}")
+            if modify_standard_list:
+                data["modify_standard_detail_info"] = {
+                    "modify_standard_list": modify_standard_list
+                }
+                log.info(f"已构建金额变更信息: amount={new_amount}, single_limit={new_single_limit}, rules={len(modify_standard_list)}")
+            else:
+                log.warning(f"未找到可修改的标准规则: institution_id={institution_id}")
 
-            # 周期发放制度:更新发放规则金额,随 institution.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):