Forráskód Böngészése

fix: detail_resp兼容str/dict;加CDEBUG日志

alphah 1 hete
szülő
commit
4b5100d486

+ 6 - 3
backend/app/plugin/module_payment/expense/institution/controller.py

@@ -397,14 +397,17 @@ async def modify_institution_controller(
             detail_raw = {}
 
             if detail_resp:
-                parsed = AlipayEbppInvoiceInstitutionDetailinfoQueryResponse()
-                parsed.parse_response_content(detail_resp)
-                resp_body = _json.loads(detail_resp)
+                # detail_resp 可能是 str 或 dict
+                if isinstance(detail_resp, str):
+                    resp_body = _json.loads(detail_resp)
+                else:
+                    resp_body = detail_resp
                 detail_raw = resp_body.get("alipay_ebpp_invoice_institution_detailinfo_query_response", {})
 
             # 构建 modify_standard_detail_info
             modify_standard_list = []
             std_list = detail_raw.get("standard_info_list") or []
+            log.info(f"CDEBUG std_count={len(std_list) if isinstance(std_list, list) else 1}, grant_mode={grant_mode}, new_amount={new_amount}")
             if not isinstance(std_list, list):
                 std_list = [std_list]
             for std in std_list: