|
@@ -375,6 +375,15 @@ async def modify_institution_controller(
|
|
|
|
|
|
|
|
if institution_id and enterprise_id and (new_amount is not None or new_single_limit is not None):
|
|
if institution_id and enterprise_id and (new_amount is not None or new_single_limit is not None):
|
|
|
try:
|
|
try:
|
|
|
|
|
+
|
|
|
|
|
+ def _to_dict(obj):
|
|
|
|
|
+ """Alipay SDK 对象转 dict,已经是 dict 则直接返回"""
|
|
|
|
|
+ if isinstance(obj, dict):
|
|
|
|
|
+ return obj
|
|
|
|
|
+ if hasattr(obj, 'to_alipay_dict'):
|
|
|
|
|
+ return obj.to_alipay_dict()
|
|
|
|
|
+ return {}
|
|
|
|
|
+
|
|
|
# 从支付宝查询当前制度的 standard_info_list,获取现有 condition 的 rule_id
|
|
# 从支付宝查询当前制度的 standard_info_list,获取现有 condition 的 rule_id
|
|
|
detail_dict = await InstitutionService.detailinfo_query_service(
|
|
detail_dict = await InstitutionService.detailinfo_query_service(
|
|
|
auth=auth, institution_id=institution_id, enterprise_id=enterprise_id
|
|
auth=auth, institution_id=institution_id, enterprise_id=enterprise_id
|
|
@@ -384,7 +393,8 @@ async def modify_institution_controller(
|
|
|
if not isinstance(std_list, list):
|
|
if not isinstance(std_list, list):
|
|
|
std_list = [std_list]
|
|
std_list = [std_list]
|
|
|
modify_standard_list = []
|
|
modify_standard_list = []
|
|
|
- for std in std_list:
|
|
|
|
|
|
|
+ for std_obj in std_list:
|
|
|
|
|
+ std = _to_dict(std_obj)
|
|
|
std_id = std.get("standard_id")
|
|
std_id = std.get("standard_id")
|
|
|
if not std_id:
|
|
if not std_id:
|
|
|
continue
|
|
continue
|
|
@@ -393,7 +403,8 @@ async def modify_institution_controller(
|
|
|
conditions = [conditions]
|
|
conditions = [conditions]
|
|
|
modify_condition_list = []
|
|
modify_condition_list = []
|
|
|
|
|
|
|
|
- for cond in conditions:
|
|
|
|
|
|
|
+ for cond_obj in conditions:
|
|
|
|
|
+ cond = _to_dict(cond_obj)
|
|
|
cond_factor = cond.get("rule_factor", "")
|
|
cond_factor = cond.get("rule_factor", "")
|
|
|
cond_id = cond.get("rule_id", "")
|
|
cond_id = cond.get("rule_id", "")
|
|
|
|
|
|
|
@@ -438,7 +449,8 @@ async def modify_institution_controller(
|
|
|
if not isinstance(issue_rule_list, list):
|
|
if not isinstance(issue_rule_list, list):
|
|
|
issue_rule_list = [issue_rule_list]
|
|
issue_rule_list = [issue_rule_list]
|
|
|
for rule in 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)
|
|
|
|
|
|
|
+ rule_dict = _to_dict(rule)
|
|
|
|
|
+ issue_rule_id = rule_dict.get("issue_rule_id", "")
|
|
|
if issue_rule_id:
|
|
if issue_rule_id:
|
|
|
try:
|
|
try:
|
|
|
await IssueruleService.modify_issuerule_service(
|
|
await IssueruleService.modify_issuerule_service(
|