Просмотр исходного кода

feat(cf): F-3a 消费返佣四条途径接入 earnByRule(F02/F04/F05/F06)

统一发放入口:CfBalanceService.earnByRule(memberId, ruleCode, refId, ctx)
新增分派服务:CfEarnDispatchService(userId -> family_members.id 解析 + ctx/refId 组装)

F02 消费返 CF(cf_consume_order)
- CfEarnDispatchService.java:95 earnConsumeCf,ctx amt=实付分;refId=orderId*100+订单类型命名空间(跨业务表隔离)
- CfCommissionService.java:86-92 settle 7参重载(实付与分润基数分离);:121 earnBuyerCf 替换旧 order_consume 直写
- CfCommissionService.java:112 settleReferrerOnly 同样返当前人 F02(N6)
- ProductOrderService.java:1053-1058 商品订单传 moneyAmount(实付),分润基数仍传 totalAmount
- GutHealthProjectService.java:271-277 调研订单 processPaymentCallback 返 F02
- AssessmentOrderService/PaymentService/MembershipService/MemberSubscriptionService 走 settle/settleReferrerOnly 自动覆盖

F04 商品赠品 CF(product_order_gift)
- CfEarnDispatchService.java:120 earnGiftCf,ctx amount=赠品 CF 数,refId=giftId
- ProductOrderService.java:1166-1173 赠品发放改投 earnByRule(单赠品 try/catch 隔离)

F05 活动签到 CF(activity_checkin)
- CfEarnDispatchService.java:132 earnActivityCheckinCf,ctx amount=活动 platform_points,refId=签到记录 ID
- ActivityService.java:416-424 签到发放改投 earnByRule

F06 菌群健康调研打卡返还(gut_health_refund)
- CfEarnDispatchService.java:144 earnGutHealthRefundCf,ctx amt=返还金额分,refId=projectId
- GutHealthProjectService.java:446-471 refundCf 仅 earned=true 才置 cfRefunded=1(闸门拦下不误标记)
- GutHealthProjectService.java:828-847 getProjectPrice 去 DEFAULT_PRICE 常量,改读 sys_config + CfConfigKeys 兜底

旧 platformPointsService / familyPlatformPointsService / system_points 直写已从上述四条途径移除;
referral_dist 分润保留旧路径(属 F-4 批次)。

测试:CfEarnDispatchServiceTest(8) + CfCommissionServiceSettleTest(4) + CfBalanceServiceTest(20)
      + CfFormulaEvaluatorTest(8) = 40 用例全绿;mvn clean compile BUILD SUCCESS。
构建修复:755a5eba9 迁移419 ensureColumn membership_levels.max_daily_analyze(同步 schema.sql)。

注:本次代码实体由仓库自动 bump 脚本先行提交,对应 hash:
    777f7da6d CfEarnDispatchService / CfCommissionService / ProductOrderService
    08be1b957 ActivityService / GutHealthProjectService
    b47039370 CfEarnDispatchServiceTest / CfCommissionServiceSettleTest
    fa718679f MembershipLevel.maxDailyAnalyze 字段补回
iwt 2 недель назад
Родитель
Сommit
beba8a3bc2

Данные Diff недоступны.