5.2 KiB
提现申请字段增强实现总结
概述
本次更新为提现申请系统添加了以下新字段,以增强管理员审核功能和用户查询体验:
reviewer_id: 审核人IDtransaction_no: 第三方交易流水号fee_amount: 手续费金额actual_amount: 实际到账金额processed_at: 处理完成时间
修改文件清单
1. 数据库结构更新
文件: src/main/resources/schema.sql
- 在
withdraw_request表中添加了5个新字段 - 添加了相应的索引以提高查询性能
文件: execute_withdraw_enhancement_migration.sql
- 为现有数据库提供迁移脚本
2. 实体类更新
文件: src/main/java/com/dora/entity/WithdrawRequest.java
- 添加了5个新属性及其注释
3. 数据访问层更新
文件: src/main/resources/mapper/WithdrawRequestMapper.xml
- 更新了
WithdrawRequestResultMap以包含新字段 - 修改了
updateStatusWithReviewTime方法以支持reviewer_id - 新增了
updateWithProcessInfo方法用于管理员审核时填写处理信息
文件: src/main/java/com/dora/mapper/WithdrawRequestMapper.java
- 更新了
updateStatusWithReviewTime方法签名以包含reviewerId参数 - 新增了
updateWithProcessInfo方法接口
4. DTO更新
文件: src/main/java/com/dora/dto/WithdrawDto.java
AdminReviewRequest: 添加了transactionNo、feeAmount、actualAmount字段AdminWithdrawItem: 添加了所有5个新字段用于管理员查看WithdrawResponse: 添加了所有5个新字段用于用户查看(特别是流水号)
5. 服务层更新
文件: src/main/java/com/dora/service/impl/AdminWithdrawServiceImpl.java
- 在审核逻辑中添加了对实际到账金额的必填验证
- 更新了
approveWithdraw方法以使用新的updateWithProcessInfo方法 - 更新了
rejectWithdraw方法以包含审核人ID - 更新了
convertToAdminItem方法以映射新字段
文件: src/main/java/com/dora/service/impl/WithdrawServiceImpl.java
- 更新了
convertToResponse方法以包含新字段,使用户能看到流水号等信息
6. 控制器更新
文件: src/main/java/com/dora/controller/AdminWithdrawController.java
- 更新了
AuditBody类以支持新字段 - 修改了审核接口以传递新字段
- 更新了参数化审核接口的参数列表
功能特性
管理员功能增强
-
审核时填写处理信息
- 审核通过时必须填写实际到账金额
- 可选填写第三方交易流水号和手续费金额
- 系统自动记录处理完成时间
-
审核记录追踪
- 记录审核人ID,便于追溯责任
- 完整的审核历史信息
-
API接口支持
- JSON格式请求:
POST /admin/withdraw/{withdrawId}/audit - 参数格式请求:
POST /admin/withdraw/{withdrawId}/audit?status=1&actualAmount=495.00&... - 标准审核接口:
POST /admin/withdraw/review
- JSON格式请求:
用户功能增强
-
提现记录查询
- 用户可以查看第三方交易流水号
- 可以看到手续费金额和实际到账金额
- 处理完成时间显示
-
透明化信息
- 提现状态更加详细
- 资金流向更加清晰
数据库迁移
新数据库
直接使用更新后的 schema.sql 创建表结构。
现有数据库
执行以下迁移脚本:
-- 运行 execute_withdraw_enhancement_migration.sql
-- 该脚本会自动添加新字段和索引
验证步骤
-
编译验证
mvn compile -
数据库迁移验证
-- 检查新字段 DESC withdraw_request; -- 检查索引 SHOW INDEX FROM withdraw_request; -
功能测试
- 管理员审核提现申请(通过/拒绝)
- 用户查询提现记录
- API接口调用测试
兼容性说明
向后兼容
- 所有新字段都设置了合理的默认值
- 现有的API接口保持兼容
- 旧的审核流程仍然可以正常工作
数据完整性
- 新字段允许为NULL,不影响现有数据
- 添加了适当的索引以保证查询性能
- 保持了原有的业务逻辑不变
注意事项
-
审核通过时的必填字段
actualAmount在审核通过时为必填- 建议同时填写
transactionNo用于追踪
-
权限控制
- 只有管理员可以填写处理信息
- 用户只能查看,不能修改
-
数据一致性
- 处理完成时间只在审核通过时自动设置
- 审核人ID在每次审核操作时都会记录
后续扩展建议
-
审核日志
- 可以考虑添加审核操作日志表
- 记录更详细的操作历史
-
通知功能
- 审核完成后可以通知用户
- 包含流水号等详细信息
-
报表统计
- 基于新字段生成更详细的统计报表
- 手续费统计分析
总结
本次更新成功为提现申请系统添加了5个关键字段,增强了管理员审核功能和用户查询体验。所有修改都保持了向后兼容性,不会影响现有功能的正常运行。管理员现在可以在审核时填写详细的处理信息,用户也可以查看到更完整的提现记录,包括第三方交易流水号等重要信息。