72 lines
6.3 KiB
Markdown
72 lines
6.3 KiB
Markdown
## 1. Contract and API Types
|
||
|
||
- [x] 1.1 根据 `docs/所需接口文档/01-店铺.md` 至 `21-设备批量分配.md` 以及最新说明核对所有纳入本期范围的 API 类型。
|
||
- [x] 1.2 补齐 `purchase_role`、`asset_identifier`、`effective_realname_policy`、`allowed_payment_methods`、预计到期和换货链路字段。
|
||
- [x] 1.3 补齐退款、代理充值和换货的提交人及审批状态字段。
|
||
- [x] 1.4 补齐系统配置、批量任务、导出任务、Gateway 限速和设备分配任务字段。
|
||
- [x] 1.5 为金额、版本号、枚举和 nullable 字段增加明确的前端类型约束。
|
||
|
||
## 2. Asset, Shop, Order, and Exchange Pages
|
||
|
||
- [x] 2.1 店铺列表接入联系电话精确查询、业务员筛选和 `client_login_disabled` 展示/编辑。
|
||
- [x] 2.2 资产卡和设备列表接入 `real_name_status` 筛选及状态展示。
|
||
- [x] 2.3 实名策略页面接入单条和最多 500 条批量修改,并处理全成全败结果。
|
||
- [x] 2.4 换货列表拆分旧资产和新资产搜索参数,并展示新旧资产信息。
|
||
- [x] 2.5 资产、订单和 C 端相关后台页面展示正确的订单渠道及资产标识。
|
||
- [x] 2.6 展示预计最终到期时间并按后端临期字段高亮。
|
||
- [x] 2.7 退款中资产创建换货时展示后端业务错误,不调用企微实时查询。
|
||
- [x] 2.8 历史订单或当前资产续费继续调用现有订单创建接口,不新增续费接口。
|
||
|
||
## 3. Package, Fund, and Authorization Pages
|
||
|
||
- [x] 3.1 套餐页面传递 `expiry_base` 并展示默认生效条件。
|
||
- [x] 3.2 套餐分配页面传递 `expiry_base_override` 并展示最终生效条件。
|
||
- [x] 3.3 系列授权页面支持 1~100 个套餐多选,创建使用 `packages[]`。
|
||
- [x] 3.4 系列授权编辑使用授权记录 ID 查询详情,区分公司成本价和授权成本价。
|
||
- [x] 3.5 系列授权套餐管理使用 `remove=true` 删除项,并继续分页加载超过 100 个套餐的系列。
|
||
- [x] 3.6 角色默认信用、店铺实际信用和资金概况统一使用分单位字段。
|
||
- [x] 3.7 店铺调额携带资金 `version`,并处理并发冲突刷新和重试。
|
||
- [x] 3.8 系统配置页面接入卡/设备支付方式配置,提交 JSON 数组字符串并保留至少一种支付方式。
|
||
|
||
## 4. WeCom Approval and Business Status
|
||
|
||
- [x] 4.1 实现企微应用配置页的应用列表、保存、测试连接和状态展示。
|
||
- [x] 4.2 实现成员同步、成员查询、默认发起人设置和账号绑定入口。
|
||
- [x] 4.3 实现退款和线下代充值场景模板映射配置及后端校验错误保留输入。
|
||
- [x] 4.4 退款、代理充值列表/详情只读展示审批状态,隐藏企微业务的旧人工审批按钮。
|
||
- [x] 4.5 对提交中、审批中、已通过、已拒绝、已撤销、通过后撤销、已删除、提交失败和提交结果未知状态使用后端名称。
|
||
|
||
## 5. Notifications, Async Tasks, Exports, and Gateway
|
||
|
||
- [x] 5.1 接入后台低余额通知列表、未读数和已读操作。
|
||
- [x] 5.2 接入临期资产列表、统计摘要、优先级和高亮规则。
|
||
- [x] 5.3 批量订购使用 UTF-8 单列 CSV、上传用途、套餐和支付方式独立选择。
|
||
- [x] 5.4 批量订购任务展示逐行成功/失败结果并支持任务详情恢复。
|
||
- [x] 5.5 导出任务支持本期六类 datasource、筛选条件 `query`、统一任务状态、进度和完成后 24 小时下载链接;保留接口文档中已有的设备/订单场景兼容性。
|
||
- [x] 5.6 卡页面接入 ICCID 固定限速档位 `-1~8`,设备页面不展示限速入口。
|
||
- [x] 5.7 设备批量分配复用导入任务页面,支持 `assign_shop` 和 `assign_series` 两种 operation_type。
|
||
- [x] 5.8 提供两份静态 UTF-8 CSV 模板,校验单列、10MB 和最多 1000 行限制。
|
||
|
||
## 6. Permissions, Errors, and Verification
|
||
|
||
- [x] 6.1 为新增页面、按钮和行操作接入最终确认的权限编码。
|
||
- [x] 6.2 统一处理 400、401、403、业务错误、超时和结果未知,不使用底层错误直接作为用户文案。
|
||
- [x] 6.3 验证代理数据隔离、平台权限、敏感字段脱敏和财务操作审计入口。
|
||
- [ ] 6.4 完成后台页面的接口联调、权限组合、空数据、错误、并发冲突和任务恢复验收。
|
||
|
||
## 7. Agent Wallet QR Recharge
|
||
|
||
- [ ] 7.1 Extend `AgentRecharge` types and `AgentRechargeService` for `alipay`, dynamic payment methods, amount bounds, `request_id`, `qr_content`, `payment_status`, and the documented payment-status endpoint while preserving nullable fields.
|
||
- [ ] 7.2 Add the agent online recharge dialog flow that loads `/api/admin/agent-recharges/payment-methods`, renders only returned payment methods, validates the returned fen bounds, and disables submission when no method is available.
|
||
- [ ] 7.3 Split online and offline create payloads; submit online recharge with only `amount`, `payment_method`, and a generated `request_id`, render the returned raw `qr_content`, and prevent leakage of shop, voucher, remark, or payment configuration fields.
|
||
- [ ] 7.4 Implement idempotent online-create retry and conflict handling: reuse the original `request_id` for one uncertain retry, generate a new ID for a new user action, and preserve the original form on request conflicts.
|
||
- [ ] 7.5 Implement visible-dialog payment polling with a three-second interval, stop on hidden/background or terminal status, distinguish `status=2` payment success from `status=3` wallet arrival, and refresh the wallet balance/list only after completion.
|
||
- [ ] 7.6 Update recharge list/detail branches to use `recharge_source`, document the online/offline field visibility rules, keep offline confirmation/rejection conditional on the absence of WeCom approval, and prevent online records from invoking offline operations.
|
||
- [ ] 7.7 Apply agent recharge export permissions: `agent_recharge:export`, `export_task:agent_recharge_detail`, and `export_task:agent_recharge_download`; add focused tests for role visibility, payload exclusion, idempotent retry, polling termination, and status transitions.
|
||
|
||
## 8. Explicitly Out Of Scope
|
||
|
||
- H5/C 端登录限制、实名流程、支付按钮、资产详情、订单续费和 C 端通知不在本次实现任务内。
|
||
- H5 首页隐藏设备下 ICCID 仍按最新说明标记为不做。
|
||
- H5/C 端相关接口仅作为后台联调依赖记录,不在本变更中修改页面或调用代码。
|