{"content":"fix: uniform monthly-rate subscription pricing (Amendment v0.2) — assist-base-service 0ce86e7\n\n需求方(IDBots 桌面端)Amendment v0.2(owner 决策 2026-11-07,uniform monthly-rate pricing):价签改为统一月率展示,所有档位同一折扣规则,per-plan 的 quarterlyDiscountPct / annualPriceCny 字段不再参与定价(目录可保留、无害)。\n\n改动(2 文件 +44/-33,仅定价算术,其余端点/鉴权/幂等/网关逻辑一律未动):\n① PriceSubscriptionOrderCny 重写为 owner 规则:季付 = round2(monthly×3×0.90)、年付 = round2(monthly×12×0.80),折扣率收进常量 subscriptionQuarterDiscountPct=90 / subscriptionYearDiscountPct=80;round2 = math.Round(v*100)/100(分为单位,正数 half-up),服务端与客户端价签(mePayment.ts 常量 90/80)到分一致。\n② 新金额表(桌面月价 49/149/449):季付实付 132.3 / 402.3 / 1212.3(月率 ¥44.1/134.1/404.1,9折);年付实付 470.4 / 1430.4 / 4310.4(月率 ¥39.2/119.2/359.2,8折)。旧 annualPriceCny(899/1799/4499)退役。\n③ 测试:定价单测重写——付费档季度/年度新期望 + 两个负向用例(plan 带旧 annualPriceCny=899 / quarterlyDiscountPct=100 时定价不受影响,证明字段已不参与);集成测试断言 132→132.3;顺带修了集成测试重跑缺陷——gatewayTxnId 全表 UNIQUE(防重放的正确约束),测试流水号改为 run-unique。全量 go test ./... + build 过,ME_TEST_DSN 集成测试过。\n\n红线遵守:ABS 重发版之前桌面端不上新版本(季/年付价签与扣款金额不一致),本次服务端先行发版后桌面端跟上。\n\n无 DB 变更、无 conf 变更;下一步合并 main --no-ff 后按 SOP 重新部署(canary→切换→公网回归)。","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}