|
|
@@ -383,26 +383,24 @@ async def modify_institution_controller(
|
|
|
|
|
|
# 构建 modify_standard_detail_info
|
|
|
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 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]
|
|
|
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")
|
|
|
+ std_dict = std.to_alipay_dict() if hasattr(std, 'to_alipay_dict') else (std if isinstance(std, dict) else {})
|
|
|
+ std_id = std_dict.get("standard_id", "")
|
|
|
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 [])
|
|
|
+ conditions = std_dict.get("standard_condition_info_list") or []
|
|
|
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")
|
|
|
+ cond_dict = cond.to_alipay_dict() if hasattr(cond, 'to_alipay_dict') else (cond if isinstance(cond, dict) else {})
|
|
|
+ cond_factor = cond_dict.get("rule_factor", "")
|
|
|
+ cond_id = cond_dict.get("rule_id", "")
|
|
|
|
|
|
PERIOD_FACTORS = {"QUOTA_DAY", "QUOTA_WEEK", "QUOTA_MONTH", "QUOTA_QUARTER", "QUOTA_YEAR"}
|
|
|
|
|
|
@@ -416,13 +414,10 @@ 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:
|
|
|
@@ -430,7 +425,8 @@ async def modify_institution_controller(
|
|
|
if not isinstance(issue_rule_list, list):
|
|
|
issue_rule_list = [issue_rule_list]
|
|
|
for rule in issue_rule_list:
|
|
|
- ir_id = getattr(rule, 'issue_rule_id', None) or (rule.get("issue_rule_id") if isinstance(rule, dict) else "")
|
|
|
+ rule_dict = rule.to_alipay_dict() if hasattr(rule, 'to_alipay_dict') else (rule if isinstance(rule, dict) else {})
|
|
|
+ ir_id = rule_dict.get("issue_rule_id", "")
|
|
|
if ir_id:
|
|
|
await IssueruleService.modify_issuerule_service(
|
|
|
auth=auth, institution_id=institution_id,
|