"""迁移 035:补充富卫 IF 和友邦 PIL2 的 IUL 产品配置。""" import json import logging from sqlalchemy import text logger = logging.getLogger(__name__) def migrate(): from insurance.db.compat import db products = [ { "id": "fwd-if-iul", "company_id": "fwd", "display_name": "FWD IF", "aliases": [ "FWD IF", "FWDSG IF", "FWD Singapore IF", "IF Indexed Universal Life", ], }, { "id": "aia-pil2-iul", "company_id": "aia", "display_name": "AIA PIL2", "aliases": ["PIL2", "PIL 2", "AIA PIL2"], }, ] required_modules = json.dumps([ "cover", "company", "index-account-configuration", "guaranteed-floor-analysis", "legacy-leverage-analysis", "recommendation", "closing", ], ensure_ascii=False) for product in products: db.session.execute(text( "INSERT INTO insurance_ppt_products " "(id, company_id, plan_type, display_name, aliases_json, " "required_modules_json, status, sort_order) " "SELECT :id, :company_id, 'iul', :display_name, :aliases_json, " ":required_modules_json, 1, 20 " "WHERE NOT EXISTS (" "SELECT 1 FROM insurance_ppt_products WHERE id = :id" ")" ), { "id": product["id"], "company_id": product["company_id"], "display_name": product["display_name"], "aliases_json": json.dumps(product["aliases"], ensure_ascii=False), "required_modules_json": required_modules, }) db.session.commit() logger.info("[migrate_035] 已补充富卫 IF 和友邦 PIL2 产品配置")