Files
jsowell-charger-web/docs/plan/huifu-member-page-refactor.md

86 lines
2.7 KiB
Markdown
Raw Normal View History

2026-03-25 16:19:15 +08:00
# 汇付会员页面重构计划
## Summary
基于 AdaPay 官方文档、SDK 能力和当前仓库现状,重构现有商户详情页里的汇付用户区域,统一提供个人用户、企业用户、结算账户三类操作入口,并补齐后端接口与页面状态流。
- 一商户仅维护一个当前有效的汇付用户关系
- 一商户仅维护一个当前有效的结算账户
- 删除汇付用户按本地解绑落地,不做远端 AdaPay 用户对象删除
## 个人用户与企业用户
- 个人用户 `Member`
- 轻量开户,无审核附件
- 核心字段:`nickname``gender``location``email`
- 支持创建、查询、更新
- 结算账户单独创建
- 企业用户 `CorpMember`
- 需要企业实名资料和附件压缩包
- 审核状态:`A/B/C/D/E`
- 支持创建、查询、更新
- 结算账户单独创建或删除
- 结算账户 `SettleAccount`
- 个人和企业都独立维护
- 支持创建、查询、删除
- 删除用户前必须先删除结算账户
## 本次实现
### 页面与交互
- 重构商户详情页“钱包汇总”中的汇付用户区域
- 页面拆成三块:
- 用户概览
- 用户操作
- 结算账户操作
- 新增用户时先选个人/企业,再进入对应表单
- 删除用户按钮仅在没有结算账户时可用
- 企业用户保留审核状态和失败原因展示
### 后端接口
- `POST /adapay/member/createAdapayMember`
- `POST /adapay/member/createCorpMember`
- `POST /adapay/member/selectAdapayMember`
- `POST /adapay/member/updateAdapayMember`
- `POST /adapay/member/deleteAdapayMember`
- `POST /adapay/member/createSettleAccount`
- `POST /adapay/member/selectSettleAccount`
- `POST /adapay/member/deleteSettleAccount`
### 后端类型
- `CreatePersonalMemberDTO`
- `CreateCorpMemberDTO`
- `UpdatePersonalMemberDTO`
- `UpdateCorpMemberDTO`
- `CreateSettleAccountDTO`
- `DeleteAdapayMemberDTO`
- `AdapayMemberAggregateVO`
### 服务规则
- 个人用户创建与结算账户创建彻底拆开
- 企业用户创建与结算账户创建彻底拆开
- 用户查询返回聚合结果,兼容旧字段并补充:
- `memberType`
- `adapayMember`
- `adapayCorpMember`
- `settleAccountList`
- `canDeleteUser`
- `deleteBlockReason`
- 删除结算账户后只清空本地 `settle_account_id`,不删除用户绑定关系
- 删除用户前校验当前商户下不存在结算账户
## 测试结论
- 后端:`mvn -pl jsowell-admin -am compile -DskipTests` 通过
- 前端:对本次改动文件执行 `eslint --no-ignore` 通过
## Assumptions
- “删除汇付用户”按本地解绑实现,不做 AdaPay 远端用户删除
- 当前实现边界仍是一商户对应一个当前有效汇付用户
- 不支持同一商户同时维护多个有效汇付用户