|
|
@@ -83,6 +83,8 @@ async def create_institution_controller(
|
|
|
# 默认使用规则(支付宝必填)
|
|
|
if not data.get("standard_info_list"):
|
|
|
single_limit = data.get("single_limit", 0)
|
|
|
+ period_type = data.get("period_type", "")
|
|
|
+ amount = data.get("amount", 0)
|
|
|
standard_info = {
|
|
|
"standard_name": data.get("institution_name", "默认规则"),
|
|
|
"standard_desc": f"单笔限额{single_limit}元" if single_limit else "通用规则",
|
|
|
@@ -91,10 +93,23 @@ async def create_institution_controller(
|
|
|
"personal_qrcode_mode": 0,
|
|
|
"outer_source_id": str(uuid.uuid4()).replace("-", ""),
|
|
|
}
|
|
|
+ condition_list = []
|
|
|
if single_limit:
|
|
|
- standard_info["standard_condition_info_list"] = [
|
|
|
- {"rule_factor": "QUOTA_TOTAL", "rule_name": "单次消费金额", "rule_value": str(single_limit)}
|
|
|
- ]
|
|
|
+ condition_list.append({"rule_factor": "QUOTA_TOTAL", "rule_name": "单次消费金额", "rule_value": str(single_limit)})
|
|
|
+ # 定额发放时,将周期限额写入使用规则条件
|
|
|
+ PERIOD_FACTOR_MAP = {
|
|
|
+ "daily": "QUOTA_DAY", "weekly": "QUOTA_WEEK",
|
|
|
+ "monthly": "QUOTA_MONTH", "quarterly": "QUOTA_QUARTER",
|
|
|
+ "yearly": "QUOTA_YEAR",
|
|
|
+ }
|
|
|
+ if data.get("grant_mode") == "period" and period_type in PERIOD_FACTOR_MAP and amount:
|
|
|
+ condition_list.append({
|
|
|
+ "rule_factor": PERIOD_FACTOR_MAP[period_type],
|
|
|
+ "rule_name": f"{period_type}限额",
|
|
|
+ "rule_value": str(amount),
|
|
|
+ })
|
|
|
+ if condition_list:
|
|
|
+ standard_info["standard_condition_info_list"] = condition_list
|
|
|
data["standard_info_list"] = [standard_info]
|
|
|
institution_create_model = AlipayEbppInvoiceInstitutionCreateModel.from_alipay_dict(data)
|
|
|
|