旁路 · 优惠券减免

还款时用优惠券抵扣应还利息。查券/用券走 mkt 营销中台(外部,不在代码库)+ 前端算减免;fcs 侧的减免试算 couponDerateCalc 注释。图例与服务名映射见 00-总览。真实分支见下方「分支清单」。

时序

sequenceDiagram
    autonumber
    actor C as 客户
    participant App as 客户端 H5
    participant GW as blc-service(网关/BFF)
    participant MKT as mkt 营销中台(外部)
    participant FCS as FCS 账务
    participant Bridge as Bridge(缺失系统)

    C->>App: 还款时查可用券
    App->>GW: coupon/v1/queryCouponList4nc
    GW->>MKT: 路由 /mkt/coupon/queryCouponList(营销中台)
    Note over MKT: ✗ mkt 营销中台不在 12 仓库(bns 无 CouponBusiness 实现)
    MKT-->>App: 可用券列表
    Note over App: 前端算减免 discountAmt(A 固定/R 百分比, 最后一期, 减免≤利息)
    C->>App: 还款选用券
    App->>GW: plutus/v1/generatePlutusWebOrder4nc(带 couponId)
    Note over FCS: fcs 减免试算 couponDerateCalc 整段注释(AdjustBusiness)
    FCS->>Bridge: iCouponClient.couponQueryList
    Note over Bridge: ✗ 整文件注释, TANK_BRIDGE_SERVICE 不在代码库

分支清单(穷举优惠券全部分支)

出处 middle-gateway 路由 / fcs AdjustBusiness。状态 ✓活跃 / ✗注释 / △外部。

#分支触发条件处理出处状态
1查可用券还款时coupon/v1/queryCouponList4nc → 路由 mkt 营销中台blcServiceApi.txt:328/38△ 走 mkt 外部(活,不在代码库)
2前端算减免选券discountAmt:A 固定 / R 百分比,最后一期,减免≤利息前端 04-还款
3还款带券还款generatePlutusWebOrder4nc 带 couponId05-还款
4是否已用券校验queryIsUsedCoupon4nc / createCoupon(coupon/v1)coupon/v1△ 走 mkt
5fcs 减免试算couponDerateCalcAdjustBusiness.couponDerateCalcAdjustBusiness:301/824✗ 整段注释
6fcs 查券(bridge)iCouponClientICouponClient.couponQueryList → bridge14-服务依赖✗ 整文件注释

缺口小结

  • 校正:优惠券非”完全不可用”(早期版误判)。查券/用券实际经 mkt 营销中台/mkt/coupon/queryCouponList,外部,不在 12 仓库;bns 无 CouponBusiness 实现)+ 前端算减免(discountAmt,见 04-还款),还款带 couponId——这条前端侧是活的
  • fcs 侧减免试算断AdjustBusiness.couponDerateCalc(含 iCouponClient→bridge)整段注释(IAdjustService:75 + AdjustBusiness:301/824)。即 fcs 不参与优惠券减免试算。
  • mkt 营销中台是新外部节点(与 bridge 同类,不在代码库)——优惠券能力依赖它。减免最终如何入账(前端算 + mkt/pmt 处理 vs fcs 销账)待确认。
  • 模式与授信/借款一致:判断/营销类能力外挂外部(mkt/bridge),fcs 本地实现注释。