3.7 KiB
3.7 KiB
用户余额记录描述增强说明
概述
本次修改增强了 user_balance_log 表中 description 字段的详细程度,让用户更清楚地了解余额变动的具体原因和来源。
修改内容
1. 工作流收益描述增强
修改文件: src/main/java/com/dora/service/impl/ContentRevenueStageServiceImpl.java
原描述格式:
工作流用户使用奖励 - 工作流:%s, 奖励:%s元
新描述格式:
【工作流收益】%s 获得新用户使用奖励 - 每个用户首次使用获得%.2f元收益
改进说明:
- 添加了明确的收益类型标识
【工作流收益】 - 包含具体的工作流名称
- 解释了触发条件(新用户首次使用)
- 使用更精确的数字格式显示
2. 视频收益描述增强
修改文件: src/main/java/com/dora/service/impl/ContentRevenueStageServiceImpl.java
原描述格式:
视频收益阶段达成 - %s, 观看数:%d, 奖励:%s元
新描述格式:
【视频收益】%s 达到%s阶段奖励 - 观看次数达到%d次,获得%.2f元收益
改进说明:
- 添加了明确的收益类型标识
【视频收益】 - 包含具体的视频标题(从数据库查询获取)
- 详细说明了达成的阶段和具体观看次数
- 明确标示奖励金额
3. 推广收益描述增强
修改文件: src/main/java/com/dora/service/impl/PromotionCommissionServiceImpl.java
原描述格式:
推广分成收益 - 订单:%d, 金额:%s
新描述格式:
【推广收益】粉丝 %s 购买会员获得Lv%d推广分成 - 订单金额%.2f元,分成%.2f元(%.1f%%)
改进说明:
- 添加了明确的收益类型标识
【推广收益】 - 包含具体的粉丝用户名
- 显示推广等级信息
- 详细显示订单金额、分成金额和分成比例
技术实现细节
1. 新增依赖注入
在 ContentRevenueStageServiceImpl 中添加了 VideoMapper 依赖,用于查询视频详细信息:
private final VideoMapper videoMapper;
2. 动态获取内容名称
- 视频收益: 通过
videoMapper.selectById(videoId)获取视频标题 - 工作流收益: 直接使用已有的
workflow.getName() - 推广收益: 通过
userMapper.selectById(commission.getFanId())获取粉丝用户名
3. 数字格式统一
所有金额显示统一使用 %.2f 格式,确保显示两位小数
用户体验改进
原来的描述示例
推广分成收益 - 订单:12345, 金额:11.70
视频收益阶段达成 - 视频等级1, 观看数:1000, 奖励:50.00元
工作流用户使用奖励 - 工作流:AI图像生成, 奖励:1.00元
改进后的描述示例
【推广收益】粉丝 用户张三 购买会员获得Lv1推广分成 - 订单金额39.00元,分成11.70元(30.0%)
【视频收益】AI基础教程 达到视频等级1阶段奖励 - 观看次数达到1000次,获得50.00元收益
【工作流收益】AI图像生成 获得新用户使用奖励 - 每个用户首次使用获得1.00元收益
兼容性说明
- ✅ 不破坏现有数据结构
- ✅ 不影响现有业务逻辑
- ✅ 向后兼容,老数据正常显示
- ✅ 新数据使用增强的描述格式
测试建议
- 创建新的工作流使用记录,验证描述格式
- 触发视频观看阶段奖励,验证视频名称显示
- 产生推广分成,验证粉丝信息和分成比例显示
- 查看用户余额明细接口
/user/balance/income-detail,确认描述显示正确
注意事项
- 如果关联的视频或用户信息不存在,会显示默认值(如"未知视频"、"未知用户")
- 所有数据库查询都有异常处理,不会影响主业务流程
- 新的描述格式更长,需确保
description字段长度(255字符)足够使用