① PRD §2.5.3 修订:删「易方达 ETF 场外取整数位」(无证据且有反证,真实整数位载体为场内),改记「2 位主流 + 舍去型真实存在」,版本块加注记 ② rounding_mode=truncate 消费接入(用户拍板补做): - core_ro.get_share_rounding = 位数+模式回退链单点(规则行 → core_product → 默认 2/half_up,mode 白名单读取即校验,get_share_digits 转薄包装) - calc.product_round/in_qty 加 mode 参数(truncate → ROUND_DOWN) - 确认段 + 申购折算两处透传;载体 09-seed-org.sql ⑦ 段 PROD-005828(product 层回退,零转换场景引用) - 测试 +7(842→849):calc 4 + 确认段 2(truncate 34945.53 vs half_up .54 分化 + 回退链遮蔽语义)+ 申购段 1 - 突变:两调用点同拆 mode 透传 → 2 红,还原绿;真库 9/9(seed 新增 ⑫ 载体在位断言) ③ R-12 口径裁定追认定稿:条目回写开发计划(NULL 不参与 A/C 判定 / 同类走一般转换规则) 审核教训留痕:PRD 独立 AI 三轮审查未抓出外部事实断言无出处 —— 联网核实铁律再添例证 文档:开发计划 T-14 开口闭环段 + 基线 849 · 日志新节 · TODO/MEMORY/AGENTS/交接文档开口清零
108 lines
8.9 KiB
SQL
108 lines
8.9 KiB
SQL
USE jinrong_core;
|
||
|
||
-- ============================================================================
|
||
-- 09-seed-org.sql · 产品机构信息与申购费率
|
||
-- 版本:v1.1(2026-09-10 · T-1 新增;同日按「真实业务」修订 —— 分类归位 + 分组重排)
|
||
-- 依据:
|
||
-- · 证监会公告〔2025〕22 号 §8 申购费率上限(2026-01-01 施行):
|
||
-- 主动偏股型 ≤ 0.80% · 其他混合型 ≤ 0.50% · 指数型/债券型 ≤ 0.30% · 货基 0
|
||
-- · PRD §4.2/§4.3:申购费简化为单一 core_product.subscribe_fee_rate(补差费计算源)
|
||
-- · PRD/架构:同一笔转换要求 **同销售机构 + 同管理人 + 同 TA**
|
||
--
|
||
-- 【v1.1 修订原因 · 分类必须与 product_type 匹配】
|
||
-- v1.0 曾把 `PROD-005827`(`product_type='mixed'`,平衡混合一号)按「主动偏股」取到
|
||
-- **0.80%** 上限 —— 目的是凑出 0.50% 的补差幅度。这是**分类错误**:
|
||
-- 22 号文 §8 的费率档由**产品类型**决定,`mixed` 只能套「其他混合型 ≤0.5%」。
|
||
-- 现修正:`PROD-005827` → **0.0050**;主示例转入方改用**真正的主动偏股产品**
|
||
-- `PROD-003095`(`stock` / R4 / 净值 0.9500 —— 与原示例除数相同,故 §5.3 数字不变)。
|
||
-- ⚠️ 通用规则:**用某一档上限前,先证明该产品确实属于这一档**,不得「看名字像」
|
||
-- 或「为了凑数值差」升档(自检第 12 问)。
|
||
--
|
||
-- 【v1.1 修订原因 · 分组按真实业务重排】
|
||
-- v1.0 的分组是「华夏组全是低风险(债/混合/货基/指数)、易方组全是股票型」——
|
||
-- **不符合真实**:真实的基金管理人都是**全产品线**(同一家公司旗下同时有债基、
|
||
-- 混合、指数、股票、货基)。真实的分组必须以「管理人」为单位、覆盖多风险层级,
|
||
-- 转换约束「同管理人 + 同 TA」才有实际意义。
|
||
-- 现分组:华夏 / 易方 各 6 只、均覆盖多个风险层级;理财与私募单列(真实形态:
|
||
-- 银行理财子公司、私募管理人,与公募不同主体,天然不可与公募互转)。
|
||
--
|
||
-- 【分组与费率一览】
|
||
-- 华夏模拟基金 / TA-CN-001(主演示组,覆盖 5 类)
|
||
-- PROD-110022 稳健债基 A bond R1 0.0030 ← 主示例转出
|
||
-- PROD-110023 信用债精选 bond R2 0.0030
|
||
-- PROD-005827 平衡混合一号 mixed R3 0.0050 ← v1.1 由 0.0080 归位
|
||
-- PROD-000001 现金宝货币 money R1 0.0000 ← 同费率对照组(0)
|
||
-- PROD-510300 沪深300指数 index R3 0.0030 ← 同费率对照组(与 110022 同)
|
||
-- PROD-003095 医药健康精选 stock R4 0.0080 ← 主示例转入(真主动偏股)
|
||
-- 易方模拟基金 / TA-CN-002(覆盖 4 类)
|
||
-- PROD-000002 同业存单基金 bond R1 0.0030
|
||
-- PROD-005828 稳健增利混合 mixed R2 0.0050
|
||
-- PROD-510500 中证500指数 index R4 0.0030
|
||
-- PROD-161725 科技成长主题 stock R4 0.0080
|
||
-- PROD-161726 消费升级主题 stock R4 0.0080
|
||
-- PROD-XYZ999 进取成长五号 stock R5 0.0080
|
||
-- 兴银理财 / TA-CN-003 : PROD-WMG001 稳享180天理财 wealth_mgmt R2 0.0000
|
||
-- 量化私募 / TA-CN-004 : PROD-PRIV01 量化中性私募一号 private_fund R4 0.0000
|
||
--
|
||
-- 【可验证的费率关系(供补差费演示与对照)】
|
||
-- 不同费率对:PROD-110022(0.0030)→ PROD-003095(0.0080)**同属华夏组、可互转** → 补差非 0
|
||
-- 同费率对照:PROD-110022(0.0030)↔ PROD-510300(0.0030)→ 补差 = 0
|
||
-- 零费率对照:PROD-000001(0)→ 任意产品补差非 0;任意 → PROD-000001 补差 = 0
|
||
--
|
||
-- 【跨主体负例保障(「同管理人 + 同 TA」硬约束的反例数据仍然充足)】
|
||
-- CUST-1004 : 161725(易方) + 510300(华夏) → 跨管理人 ✗
|
||
-- CUST-DEMO-A : 510500(易方) + 510300/000001(华夏) → 跨管理人 ✗
|
||
-- CUST-DEMO-B : 161725(易方) + PRIV01(量化私募) → 跨管理人 + 跨机构类型 ✗
|
||
--
|
||
-- 【最低持有余额】让 FR-C15 的两种动作都有数据可触发(否则 DEFAULT 0 使该分支永不进入,
|
||
-- 等于无测试覆盖):PROD-110022 = force_transfer(低于阈值强制全转)
|
||
-- PROD-005827 = force_redeem (低于阈值强制赎回剩余)
|
||
-- ============================================================================
|
||
|
||
-- ---- ① 华夏模拟基金 / TA-CN-001(主演示组 · 全产品线)----
|
||
UPDATE core_product SET fund_company = '华夏模拟基金', ta_code = 'TA-CN-001', subscribe_fee_rate = 0.0030 WHERE product_id = 'PROD-110022';
|
||
UPDATE core_product SET fund_company = '华夏模拟基金', ta_code = 'TA-CN-001', subscribe_fee_rate = 0.0030 WHERE product_id = 'PROD-110023';
|
||
UPDATE core_product SET fund_company = '华夏模拟基金', ta_code = 'TA-CN-001', subscribe_fee_rate = 0.0050 WHERE product_id = 'PROD-005827';
|
||
UPDATE core_product SET fund_company = '华夏模拟基金', ta_code = 'TA-CN-001', subscribe_fee_rate = 0.0000 WHERE product_id = 'PROD-000001';
|
||
UPDATE core_product SET fund_company = '华夏模拟基金', ta_code = 'TA-CN-001', subscribe_fee_rate = 0.0030 WHERE product_id = 'PROD-510300';
|
||
UPDATE core_product SET fund_company = '华夏模拟基金', ta_code = 'TA-CN-001', subscribe_fee_rate = 0.0080 WHERE product_id = 'PROD-003095';
|
||
|
||
-- ---- ② 易方模拟基金 / TA-CN-002(次演示组 · 全产品线)----
|
||
UPDATE core_product SET fund_company = '易方模拟基金', ta_code = 'TA-CN-002', subscribe_fee_rate = 0.0030 WHERE product_id = 'PROD-000002';
|
||
UPDATE core_product SET fund_company = '易方模拟基金', ta_code = 'TA-CN-002', subscribe_fee_rate = 0.0050 WHERE product_id = 'PROD-005828';
|
||
UPDATE core_product SET fund_company = '易方模拟基金', ta_code = 'TA-CN-002', subscribe_fee_rate = 0.0030 WHERE product_id = 'PROD-510500';
|
||
UPDATE core_product SET fund_company = '易方模拟基金', ta_code = 'TA-CN-002', subscribe_fee_rate = 0.0080 WHERE product_id = 'PROD-161725';
|
||
UPDATE core_product SET fund_company = '易方模拟基金', ta_code = 'TA-CN-002', subscribe_fee_rate = 0.0080 WHERE product_id = 'PROD-161726';
|
||
UPDATE core_product SET fund_company = '易方模拟基金', ta_code = 'TA-CN-002', subscribe_fee_rate = 0.0080 WHERE product_id = 'PROD-XYZ999';
|
||
|
||
-- ---- ③ 非同主体产品(真实形态:非公募主体,天然不可与公募互转)----
|
||
UPDATE core_product SET fund_company = '兴银理财', ta_code = 'TA-CN-003', subscribe_fee_rate = 0.0000 WHERE product_id = 'PROD-WMG001';
|
||
UPDATE core_product SET fund_company = '量化私募', ta_code = 'TA-CN-004', subscribe_fee_rate = 0.0000 WHERE product_id = 'PROD-PRIV01';
|
||
|
||
-- ---- ④ 兜底:任何未显式赋值的产品也保证非 NULL(DoD ③)----
|
||
UPDATE core_product SET fund_company = '其他模拟管理人', ta_code = 'TA-CN-099' WHERE fund_company IS NULL;
|
||
UPDATE core_product SET ta_code = 'TA-CN-099' WHERE ta_code IS NULL;
|
||
|
||
-- ---- ⑤ 最低持有余额(FR-C15 两种动作的可触发数据)----
|
||
UPDATE core_product SET min_hold_qty = 1000.0000, min_redeem_qty = 100.0000, min_hold_action = 'force_transfer' WHERE product_id = 'PROD-110022';
|
||
UPDATE core_product SET min_hold_qty = 2000.0000, min_redeem_qty = 200.0000, min_hold_action = 'force_redeem' WHERE product_id = 'PROD-005827';
|
||
|
||
-- ---- ⑥ T-17 / D30 同基金 A/C 份额互转演示对(R-12)----
|
||
-- 联网核实(2026-09-12):A/C 互转 = 同一基金不同份额类别的转换业务,
|
||
-- 需管理人「开通」(摩根行业睿选 2025-11《开通同一基金不同份额类别转换业务公告》),
|
||
-- 开通即 allow_ac_convert=1;转换后持有期重新起算(本仓转入新批次语义一致)。
|
||
-- A/C 对(开关开 · 双端):TA-CN-001 内 'A' ↔ 'C' → 放行
|
||
UPDATE core_product SET share_class = 'A', allow_ac_convert = 1 WHERE product_id = 'PROD-110022';
|
||
UPDATE core_product SET share_class = 'C', allow_ac_convert = 1 WHERE product_id = 'PROD-005827';
|
||
-- A/C 对照(开关关 · 双端 0):同 TA 同 'A'/'C' 但未开通 → 受理 400
|
||
UPDATE core_product SET share_class = 'A', allow_ac_convert = 0 WHERE product_id = 'PROD-110023';
|
||
UPDATE core_product SET share_class = 'C', allow_ac_convert = 0 WHERE product_id = 'PROD-003095';
|
||
-- 同类别对照:'C' ↔ 'C' 不触发 A/C 判定,走一般转换规则放行(allow_ac_convert 保持默认 0)
|
||
UPDATE core_product SET share_class = 'C' WHERE product_id = 'PROD-510300';
|
||
|
||
-- ---- ⑦ T-14 开口②闭环(2026-09-12 用户拍板补接):舍去法(TRUNCATE)产品载体 ----
|
||
-- 联网核实:「舍去」型真实存在(南方利众/宝元、邮储、华宝、申万菱信、东方基金等
|
||
-- 合同/公告明写「份额 2 位后舍去」)。载体选 PROD-005828(稳健增利混合):
|
||
-- 无规则行(11-seed 未覆盖)→ 走 core_product 层回退链,且无任何转换场景引用(零回归)。
|
||
UPDATE core_product SET rounding_mode = 'truncate' WHERE product_id = 'PROD-005828';
|