Kaynağa Gözat

debug: sys.stderr输出排查standard_info_list处理

alphah 1 hafta önce
ebeveyn
işleme
4eae061b15

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

@@ -385,20 +385,24 @@ async def modify_institution_controller(
             modify_standard_list = []
             if detail_dict:
                 std_list = detail_dict.get("standard_info_list") or []
+                import sys; sys.stderr.write(f"STD_DEBUG std_list type={type(std_list)}, len={len(std_list) if isinstance(std_list, list) else 'N/A'}\n")
                 if not isinstance(std_list, list):
                     std_list = [std_list]
                 for std in std_list:
                     std_id = getattr(std, 'standard_id', None) or (std.get("standard_id") if isinstance(std, dict) else None)
+                    sys.stderr.write(f"STD_DEBUG std_id={std_id}\n")
                     if not std_id:
                         continue
                     conditions = getattr(std, 'standard_condition_info_list', None) or (std.get("standard_condition_info_list") if isinstance(std, dict) else [])
                     if not isinstance(conditions, list):
                         conditions = [conditions]
+                    sys.stderr.write(f"STD_DEBUG conditions_len={len(conditions)}, grant_mode={grant_mode}, new_amount={new_amount}\n")
                     modify_condition_list = []
 
                     for cond in conditions:
                         cond_factor = getattr(cond, 'rule_factor', None) or (cond.get("rule_factor") if isinstance(cond, dict) else "")
                         cond_id = getattr(cond, 'rule_id', None) or (cond.get("rule_id") if isinstance(cond, dict) else "")
+                        sys.stderr.write(f"STD_DEBUG cond: factor={cond_factor}, id={cond_id}, in_factors={cond_factor in PERIOD_FACTORS}\n")
 
                         PERIOD_FACTORS = {"QUOTA_DAY", "QUOTA_WEEK", "QUOTA_MONTH", "QUOTA_QUARTER", "QUOTA_YEAR"}
 
@@ -412,10 +416,13 @@ async def modify_institution_controller(
 
                     if modify_condition_list:
                         modify_standard_list.append({"standard_id": std_id, "modify_condition_list": modify_condition_list})
+                        import sys; sys.stderr.write(f"STD_DEBUG added modify_standard, len={len(modify_standard_list)}\n")
 
             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}")
+            else:
+                import sys; sys.stderr.write(f"STD_DEBUG modify_standard_list EMPTY\n")
 
             # 周期发放制度:独立调 issuerule.modify
             if grant_mode == "period" and new_amount is not None and detail_dict: