Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Has been cancelled
完成运营商实名回调、业务事件观测序列与受控配置装配,同时恢复 UR43 已交付的 packages[].remove 字段及旧响应兼容,统一更新 OpenSpec、OpenAPI 和交付文档。 Constraint: 七月测试环境里程碑不新增或运行自动化测试 Rejected: 以必填 operation_type 替换 packages[].remove | 会破坏已交付前端契约 Confidence: high Scope-risk: broad Directive: 后续修改系列套餐管理接口必须保持 packages[].remove 和 ShopSeriesGrantResponse 兼容 Tested: go run ./cmd/gendocs;go build -buildvcs=false ./...;openspec validate complete-july-iteration-test-release --strict;git diff --check Not-tested: 按本 Change 约定未运行 go test,真实运营商与 Gateway 联调延期
47 KiB
47 KiB
0. 七月迭代 28 线唯一总台账
状态口径:每条线同时记录“后端 / 前端 / 验证 / 发布”。[x] 只表示该行声明的范围已有仓库证据;[ ] 表示仍有实施、前端、人工、延期验证或发布工作。后续七月工作只从本文件领取,不再从分散 .scratch 目录直接启动。
- 0.1
JULY-TECH-FOUNDATIONTECH 七月公共开发基础|来源.scratch/tech-public-foundation/|状态:已完成(PRDcompleted,12/12 Tickets 完成)|主通道 Infrastructure,辅助 Application/Query|发布:本仓公共基础已交付。 - 0.2
JULY-TECH-NOTIFICATIONTECH 公共站内通知|来源.scratch/tech-inapp-notifications/(8 Tickets)|状态:后端代码与跨仓契约完成、验证延期|主通道简单写 Application,辅助 Query/Infrastructure|依赖:0.1。 - 0.3
JULY-UR33套餐临期查询、Dashboard 与提醒|来源.scratch/ur33-package-expiry-reminder/PRD.md(由 PRD 直接转任务)|状态:未开始|主通道 Query,辅助 Application/Infrastructure|依赖:0.2、0.9、0.14、0.26。 - 0.4
JULY-UR34代理在线扫码充值与平台线下代充值|来源.scratch/ur34-agent-recharge/PRD.md|状态:未开始|主通道复杂写,辅助 Query/Payment/Approval Port|业务核心依赖:2.8、2.29、2.57、2.9~2.12;测试环境开放线下代充入口另依赖 4.W14。 - 0.5
JULY-UR35退款审批与整单终结|来源.scratch/ur35-refund-wecom-approval/PRD.md|状态:未开始|主通道复杂写,辅助 Query/Approval Port|业务核心依赖:2.8、2.30、2.9~2.12;测试环境开放提交入口另依赖 4.W14。 - 0.6
JULY-UR36批量订购套餐|来源.scratch/ur36-bulk-package-purchase/(11 Tickets)|状态:未开始|主通道 Application/Domain,辅助 Query/Infrastructure|依赖:0.8、0.9。 - 0.7
JULY-UR37企业微信审批公共能力|来源.scratch/ur37-wecom-approval-foundation/(14 Tickets)|状态:未开始|主通道 Application + Port/Infrastructure Adapter,辅助 Query|顺序:先完成 2.9~2.12 渠道无关核心,UR34/UR35 业务核心完成后再执行 4.W1~4.W14 WeCom Adapter 与装配。 - 0.8
JULY-UR38代理主钱包信用额度|来源.scratch/ur38-agent-main-wallet-credit/(10 Tickets)|状态:后端代码与测试环境切换契约完成、自动化/真实资金验证延期|主通道复杂写,辅助简单写/Query|依赖:0.1。 - 0.9
JULY-UR40下架套餐历史用户续费|来源.scratch/ur40-off-shelf-package-renewal/(8 Tickets)|状态:未开始|主通道 Domain Policy,辅助 Query|依赖:0.1。 - 0.10
JULY-UR42统一导出与字段权限|来源.scratch/ur42-unified-export-field-permissions/PRD.md|状态:未开始|主通道 Query/DataSource,辅助简单写 Application|依赖:0.3、0.4、0.5、0.12、0.14。 - 0.11
JULY-UR43系列套餐批量授权|来源.scratch/ur43-series-package-bulk-authorization/(3 Tickets)|状态:首次授权后端已完成,后续管理兼容契约修正待完成|主通道复杂写,辅助 Query|依赖:0.1。 - 0.12
JULY-UR44列表提交人与审批摘要|来源.scratch/ur44-list-submitter-approval-summary/PRD.md|状态:未开始|主通道 Query,辅助简单写/迁移|依赖:4.6、4.11、2.10、4.W9;业务列表基础字段不依赖企微专属投影。 - 0.13
JULY-UR45换货快照与新旧独立搜索|来源.scratch/ur45-exchange-asset-search/(2 Tickets)|状态:后端完成、前端/人工待验收|主通道复杂写 + Query。 - 0.14
JULY-UR46预计最终到期时间|来源.scratch/ur46-estimated-final-expiry/(4 Tickets)|状态:后端完成、前端/人工未完成|主通道 Query|依赖 0.19 已满足。 - 0.15
JULY-UR47卡片手动限速|来源.scratch/ur47-manual-card-speed-limit/(4 Tickets)|状态:未开始|主通道 Application + Port/Adapter,辅助 Infrastructure|依赖:0.1。 - 0.16
JULY-UR48按资产类型限制支付方式|来源.scratch/ur48-asset-payment-methods/(5 Tickets)|状态:未开始|主通道简单写 + 复杂写,辅助 Query|依赖:0.1。 - 0.17
JULY-UR49设备 CSV 批量分配|来源.scratch/ur49-device-batch-allocation-csv/(5 Tickets)|状态:未开始|主通道 Application,辅助 Infrastructure/Query|依赖:0.6 的受控上传边界。 - 0.18
JULY-UR53卡和设备实名状态筛选|来源.scratch/ur53-asset-realname-filter/PRD.md|状态:未开始|主通道 Query,辅助投影 Application/Infrastructure|依赖:0.25。 - 0.19
JULY-UR55套餐生效条件覆盖与购买快照|来源.scratch/ur55-package-expiry-base/|状态:5/5 Tickets 已完成;PRD 顶层状态滞后不影响代码完成证据|主通道简单写 + 复杂写。 - 0.20
JULY-UR57活跃退款资产禁止换货|来源.scratch/ur57-block-exchange-active-refund/PRD.md|状态:未开始|主通道复杂写,辅助批量 Query|依赖:0.5。 - 0.21
JULY-UR60店铺联系电话精确查询|来源.scratch/ur60-shop-phone-search/(3 Tickets)|状态:后端完成、前端联调/人工验收未完成|主通道旧架构简单 Query。 - 0.22
JULY-UR62H5 购买与实名顺序配置|来源.scratch/ur62-h5-realname-order/PRD.md|状态:未开始|主通道 Domain/Application,辅助简单写/Query|依赖:0.25。 - 0.23
JULY-UR73按运营商实名能力控制复机|来源.scratch/ur73-resume-realname-policy/PRD.md|状态:未开始|主通道复杂写,辅助 Gateway/Outbox|依赖:0.25。 - 0.24
JULY-UR86资产前代/后代换货链|来源.scratch/ur86-asset-exchange-trace/(2 Tickets)|状态:后端完成、前端验收与历史抽样未完成|主通道 Query。 - 0.25
JULY-UR94卡状态公共写入与运营商回调|来源.scratch/ur94-card-state-events-callbacks/(13 Tickets + 新增联通实名真实样例)|状态:后端代码与测试环境装配完成、真实运营商/Gateway 验证延期|主通道复杂写,辅助 Adapter/Query|依赖:0.1。 - 0.26
JULY-UR96店铺业务员归属|来源.scratch/ur96-shop-business-owner/(6 Tickets)|状态:后端代码完成、验证延期|主通道简单写,辅助 Query/Port|依赖:0.1。 - 0.27
JULY-UR97钱包低余额预警|来源.scratch/ur97-wallet-low-balance-alert/PRD.md|状态:未开始|主通道复杂写,辅助 Query/Outbox/Notification|依赖:0.2、0.8、0.26。 - 0.28
JULY-UR98换货新资产继承店铺|来源.scratch/ur98-exchange-inherit-shop/(4 Tickets)|状态:未开始|主通道复杂写,辅助 Query/Infrastructure|依赖:0.1。
需求16保持排除:无对应复选框、实现任务、迁移或发布依赖;店铺业务员不得恢复分销或佣金语义。
1. 已完成后端证据与剩余元数据收口
- 1.1 固化 TECH 公共基础完成证据:12 张 Ticket、Outbox/Relay、幂等、五态任务、受控配置、Access Log 安全能力、迁移与交接文档;明确它不等于通知、审计或业务消费者已完成。
- 1.2 固化 UR55 后端完成证据:创建/编辑覆盖值、同步购买快照、自动购包快照、激活与排队只消费快照共 5 张 Ticket;不重复实现后端。
- 1.3 固化 UR45 后端完成证据:统一换货资产快照和新旧资产独立搜索均已有代码/文档/提交;不回填历史快照、不顺带迁移 UR86/UR98。
- 1.4 收口 UR45 原 PRD/Ticket 元数据并向前端交付新旧资产筛选契约;保持“后端完成、前端/人工待验收”,不得把元数据修正记为重新实现。
- 1.5 固化 UR46 四个后端 Query 切片完成证据:后台详情、卡列表、设备列表、C 端资产信息;不写汇总表、不重复计算第二套到期字段。
- 1.6 固化 UR60 后端完成证据:分页校验、联系电话 11 位精确过滤/索引、企业账号路由限制;保留前端与人工任务未完成。
- 1.7 固化 UR86 后端完成证据:前代和后代 Query、权限投影与索引;不新建换货关系表、不修改换货状态机。
- 1.8 冻结提交
ff44305现有相关代码:保留 Integration Log 基础、离线cmd/audit-coverage、Access Log 敏感字段判定复用和无外键迁移000167;Audit Event 与审计中心移出本 Change,不作为测试环境或生产上线门禁,未来如需恢复另开独立 Change。
2. 第一批:共享核心与独立 frontier
B1-01 公共站内通知(JULY-TECH-NOTIFICATION)
- 2.1 映射原通知 Ticket 01:交付后台明确接收账号的通知写入、
event_id + recipient幂等、未读查询与单条已读完整纵向切片。【主:简单写 Application;辅:Query/Infrastructure|边界:通知事实与当前账号读取|不迁移:业务触发规则、WebSocket|依赖:1.1】 - 2.2 映射原 Ticket 02:交付后台通知筛选、分类汇总、稳定分页和全部/按分类已读。【主:Query;辅:简单写|边界:当前接收人数据|不迁移:业务列表|依赖:2.1】
- 2.3 映射原 Ticket 03:交付个人客户通知投递、简化列表与已读 API。【主:简单写 + Query|边界:personal_customer 接收人|不迁移:后台权限模型|依赖:2.1】
- 2.4 映射原 Ticket 04:交付店铺主账号、平台业务员及其他动态接收人的 Port/Adapter 解析。【主:Application + Port/Adapter|边界:只解析稳定接收人,不复制业务触发|不迁移:店铺层级|依赖:2.1、2.63】
- 2.5 映射原 Ticket 05:交付受控
ref_type/ref_id/ref_key目标解析、跳转白名单与跳转后二次权限校验。【主:Query|辅:Application|边界:通知目标解析|不迁移:任意 URL、业务权限实现|依赖:2.1】 - 2.6 映射原 Ticket 06:交付通知保留、分批清理、失败可观测与安全日志。【主:Infrastructure|辅:Query|边界:通知记录生命周期|不迁移:Audit Event、外部消息渠道|依赖:2.1】
- 2.7 映射原 Ticket 07:冻结后台与 C 端通知页面、30 秒轮询、铃铛/抽屉/中心、加载/空态/失败与受控跳转契约,并更新 OpenAPI/中文文档。【主:Query/API 契约|不迁移:前端框架选择|依赖:2.2、2.3、2.5】
- 2.8 映射原 Ticket 08 为测试环境发布检查:完成通知 Handler/路由/文档生成器、Worker/模板注册与生产组合根装配;仅执行本批格式化、必要生成、构建和部署检查,真实外部验收转 6.2;Audit Event 不属于本 Change。【主:Infrastructure|依赖:2.2-2.7】
B1-02 渠道无关审批核心(JULY-UR37 通用部分)
- 2.9 定义业务侧 Approval Port、通用审批实例与标准决策
approved/rejected/cancelled/deleted/revoked_after_approved;实例只持有业务类型/ID、真实提交人、provider、external_ref、标准状态、请求/决策快照和关联 ID。【主:Application + Port/Domain|边界:渠道无关审批事实|不迁移:企微 Token、sp_no、模板/控件、节点、审批人、会签/或签|依赖:1.1】 - 2.10 交付通用审批 Query 和权限投影,输出稳定业务摘要、提交人、provider、标准状态与处理摘要;渠道专属节点、意见和附件仅由 Adapter 可选扩展,代理不得看到内部审批信息。【主:Query|边界:通用审批读模型|不迁移:业务列表、实时外部查询|依赖:2.9】
- 2.11 交付渠道回传决策的统一同步用例、状态条件更新、首次终态 Outbox、处理租约与幂等分发;业务消费者不得 import 企微/钉钉 SDK、DTO、状态码、模板控件 ID 或
sp_no。【主:Application + Outbox|边界:标准决策进站和终态分发|不迁移:退款/充值终态规则|依赖:2.9】 - 2.12 交付新审批申请的原子创建契约:业务用例在同一事务固化业务单、通用审批实例与提交 Outbox;有效 Adapter/场景/发起身份不可用时在上述事实写入前失败关闭。【主:Application + Port|边界:申请创建与可用性契约|不迁移:金额、钱包、佣金、套餐规则,不建本地审批流引擎|依赖:2.9、2.11】
B1-03 代理主钱包信用额度(JULY-UR38)
- 2.23 映射原 UR38-01:扩展主钱包信用字段、CHECK/索引/版本与 Wallet Domain 不变量;迁移前核对现有约束和异常数据。【主:复杂写 Domain|辅:Infrastructure|不迁移:员工/佣金/资产钱包|依赖:1.1】
- 2.24 映射原 UR38-02:交付客户角色“仅新建店铺使用”的默认信用模板、权限与 API/前端契约。【主:简单写 Application|辅:Query|不迁移:已有钱包追溯更新|依赖:2.23】
- 2.25 映射原 UR38-03:新建店铺事务内原子复制默认角色信用快照到代理主钱包。【主:复杂写 Application|边界:店铺 + 钱包创建事务|不迁移:其他店铺创建规则|依赖:2.24】
- 2.26 映射原 UR38-04:交付既有店铺实际额度调整、版本冲突、降低/关闭边界和变更前后投影;
shop:credit-limit:manage仅控制前端按钮显示,后端本期不校验该权限或账号类型。【主:复杂写 Domain|辅:Query|依赖:2.23】 - 2.27 映射原 UR38-05:统一代理订单、代购和钱包支付扣款用例,使用有效信用、版本/锁、唯一流水和同事务事实。【主:复杂写 Domain|不迁移:无关订单创建|依赖:2.23】
- 2.28 映射原 UR38-06:统一代理主钱包冻结/解冻,维持
balance-frozen+credit>=0与幂等流水。【主:复杂写 Domain|不迁移:佣金冻结|依赖:2.23、2.27】 - 2.29 映射原 UR38-07:统一充值入账与人工调整用例,按唯一业务号、版本和流水幂等;只提供 UR34 可复用能力。【主:复杂写 Domain|不迁移:支付/企微/通知|依赖:2.23】
- 2.30 映射原 UR38-08:统一代理订单退款回充,仅按原扣款流水定位原主钱包并幂等回溯。【主:复杂写 Domain|不迁移:渠道退款/资产钱包退款|依赖:2.27、2.29】
- 2.31 映射原 UR38-09:资金概况 Query 返回信用开关、额度、现金可用、总可用、欠款和版本,前端不得自行计算。【主:Query|不迁移:钱包写入|依赖:2.23、2.26】
- 2.32 映射原 UR38-10 为测试环境停机切换:完成所有主钱包写入口接入、迁移/API/前端契约/组合根装配与本批构建部署检查;并发/真实资金验收转 6.1/6.3。【主:Infrastructure/Application 收口|依赖:2.24-2.31】
B1-04 卡状态公共写入与运营商回调(JULY-UR94)
- 2.33 映射原 UR94-01:扫描 19 位 ICCID 冲突并交付未删除范围部分唯一索引与发布前异常清单。【主:Infrastructure|不迁移:ICCID 归一化|依赖:1.1】
- 2.34 映射原 UR94-02:交付实名观测的唯一
ApplyCardObservation写入闭环、锁/条件更新、领域事实与 Outbox。【主:复杂写 Domain/Application|不迁移:轮询调度|依赖:2.33】 - 2.35 映射原 UR94-03:将流量观测收口到同一公共写入用例并保持已有周期/资格语义。【主:复杂写 Domain|不迁移:套餐轮询|依赖:2.34】
- 2.36 映射原 UR94-04:将网络状态观测收口到同一用例并保持停复机业务边界。【主:复杂写 Domain|不迁移:复机资格(由 3.2 负责)|依赖:2.34】
- 2.37 映射原 UR94-05:一次性切换三个现有轮询结果写入口到公共用例,保持 PostgreSQL 配置、Redis 分片、间隔、开关和失败重排不变。【主:Application/Infrastructure|不迁移:轮询调度|依赖:2.34-2.36】
- 2.38 映射原 UR94-06:交付同场景可合并的立即/3/5 分钟观测序列、单次请求互斥、最小间隔与 Integration Log。【主:Application|辅:Asynq/Adapter|不迁移:自动退避状态|依赖:2.34-2.36】
- 2.39 映射原 UR94-07:在查询资产、获取实名链接等成功边界接入观测序列,不新增显式同步 API。【主:Application Adapter|不迁移:读取 Query 业务|依赖:2.38】
- 2.40 映射原 UR94-08:在停复机、购包和套餐激活成功边界接入观测序列,仅负责触发不复制业务资格。【主:Application Adapter|不迁移:UR73/套餐规则|依赖:2.38】
- 2.41 映射原 UR94-09:在切卡、重启等设备控制成功边界接入观测序列并解析最终卡。【主:Application Adapter|不迁移:设备控制规则|依赖:2.38】
- 2.42 映射原 UR94-10:交付电信实名回调 Translator、19/20 位精确路由、幂等入站 Integration Log 和成功应答。【主:Infrastructure Adapter|辅:Application|依赖:2.33、2.34、2.38】
- 2.43 映射原 UR94-11:交付移动实名成功回调的对应防腐层与公共写入接入。【主:Infrastructure Adapter|依赖:2.33、2.34、2.38】
- 2.44 映射原 UR94-12:交付联通解除实名回调的留痕与约定成功应答,不修改本地实名状态。【主:Infrastructure Adapter|边界:Integration Log only|依赖:2.33】
- 2.44A 根据新增来源材料
docs/7月迭代/来源材料/realname.go补充联通实名成功回调:解析与解除实名一致的双层 JSON,按 19/20 位精确定位并接入公共实名观测;禁止 20 位截断、旧inner_callback、第三方推送和 Gateway 二次确认。【主:Infrastructure Adapter|辅:Application|依赖:2.33、2.34、2.38】 - 2.45 映射原 UR94-13 为测试环境发布检查:通过受控
system_config为电信实名、移动实名、联通实名及联通解除实名提供默认关闭的独立开关;装配四个回调 Handler/路由/文档生成器、观测 Worker、Gateway Adapter 与配置,执行格式化、必要生成、构建和部署检查;真实运营商/Gateway验证转 6.4。【主:Infrastructure|依赖:2.37-2.44A】
B1-05~B1-09 独立 frontier
- 2.46
JULY-UR43映射原 Ticket 01:首次系列授权在同一事务创建系列授权和至少一条套餐授权,复用现有套餐 Query,已授权项置灰。【主:复杂写;辅:Query|不迁移:授权模型/候选 API|依赖:1.1】 - 2.47
JULY-UR43映射原 Ticket 02:在保留已交付packages:[{package_id,cost_price,remove}]契约的前提下,完成最多 100 项的原子批量新增、改价与移除;remove=true继续表示软删除,禁止以必填operation_type替代或移除该字段,并补齐同价幂等、异价冲突和下级授权保护。【主:复杂写|不迁移:既有请求字段与响应结构|依赖:2.46】 - 2.48
JULY-UR43映射原 Ticket 03:交付首次/后续管理前端契约、packages[].remove删除语义、OpenAPI/文档生成器与兼容部署检查;旧前端请求必须继续可用,不得要求与后端同批切换到新命令字段。【主:API/Query 契约|依赖:2.46、2.47】 - 2.49
JULY-UR47映射原 Ticket 01:修复同一设备多当前卡并建立部分唯一约束,异常数据先入清单。【主:Infrastructure|不迁移:绑定历史|依赖:1.1】 - 2.50
JULY-UR47映射原 Ticket 02:交付语义化speed_level到账号/运营商渠道code的 Gateway Adapter、能力校验与 Integration Log。【主:Port/Adapter|不迁移:自动限速|依赖:2.49】 - 2.51
JULY-UR47映射原 Ticket 03:交付统一资产手动限速 API,设备解析当前卡,区分不限速与 0kbps,外部结果未知可恢复;Audit Event 不属于本 Change 且不阻塞上线。【主:Application|辅:Adapter|不迁移:套餐限速|依赖:2.49、2.50】 - 2.52
JULY-UR47映射原 Ticket 04:交付卡/设备详情限速能力、固定档位、失败状态、OpenAPI/文档生成器与测试环境配置/构建检查;真实 Gateway 验收转 6.4。【主:Query/API 契约|依赖:2.49-2.51】 - 2.53
JULY-UR48映射原 Ticket 01:复用受控系统配置读取/更新,向资产展示允许支付方式并提供安全默认值。【主:简单写 + Query|不迁移:通用配置中心|依赖:1.1】 - 2.54
JULY-UR48映射原 Ticket 02:限制普通资产钱包充值为资产允许集合与微信/支付宝交集,钱包不得作为充值渠道。【主:复杂写 Policy|不迁移:C 端全部充值|依赖:2.53】 - 2.55
JULY-UR48映射原 Ticket 03:订单创建时必填并固化支付方式快照,强充按同一方式拉起且钱包不能给自身强充。【主:复杂写 Domain|不迁移:其他订单状态|依赖:2.53】 - 2.56
JULY-UR48映射原 Ticket 04:支付时只执行订单快照方式并按最新资产配置二次校验,需要换方式时取消旧单重建。【主:复杂写 Domain|不迁移:支付方式替换接口|依赖:2.53、2.55】 - 2.57
JULY-UR48映射原 Ticket 05:交付后台配置、C 端支付页/强充/取消重建契约、OpenAPI/文档生成器与测试环境构建部署检查;真实支付验证转 6.3。【主:API/前端契约|依赖:2.54-2.56】 - 2.58
JULY-UR96映射原 Ticket 01:为店铺增加 nullable 平台业务员字段、索引与启用平台账号约束,不回填历史。【主:Infrastructure|不迁移:店铺层级/分销|依赖:1.1】 - 2.59
JULY-UR96映射原 Ticket 02:平台创建店铺时显式设置或按规则继承业务员,并在同一用例保存快照。【主:简单写 Application|不迁移:信用模板(由 UR38)|依赖:2.58】 - 2.60
JULY-UR96映射原 Ticket 03:代理创建直属下级店铺时安全继承当前业务员,不允许代理指定其他平台账号。【主:简单写|不迁移:店铺权限|依赖:2.59】 - 2.61
JULY-UR96映射原 Ticket 04:交付业务员编辑权限、停用/删除后的历史保留和重绑;Audit Event 不属于本 Change 且不阻塞上线。【主:简单写|不迁移:账号生命周期|依赖:2.58】 - 2.62
JULY-UR96映射原 Ticket 05:店铺创建/编辑/列表/详情/筛选返回业务员投影、候选账号与手机号摘要。【主:Query|不迁移:数据范围|依赖:2.58】 - 2.63
JULY-UR96映射原 Ticket 06:交付主账号与可用业务员接收人解析 Port、OpenAPI/前端契约与测试环境构建部署检查。【主:Port/Adapter + Query|不迁移:通知触发规则|依赖:2.59-2.62】 - 2.64
JULY-UR98映射原 Ticket 01:建立换货分配记录与目标资产归属校正基础,目标已属其他店铺时拒绝。【主:Infrastructure/Domain|不迁移:历史回填|依赖:1.1】 - 2.65
JULY-UR98映射原 Ticket 02:换货完成事务内让新资产继承旧店铺并保留旧资产归属,钱包/套餐迁移仍只受migrate_data控制。【主:复杂写 Domain/Application|不迁移:整个换货模块|依赖:2.64】 - 2.66
JULY-UR98映射原 Ticket 03:创建/发货/完成接口投影继承店铺和只读展示信息,禁止前端提交目标店铺。【主:Query/API 契约|依赖:2.65】 - 2.67
JULY-UR98映射原 Ticket 04:交付前端展示、迁移/路由/文档生成器、测试环境构建与部署检查;人工换货链验证转 5.5/6.6。【主:Infrastructure/API 契约|依赖:2.65、2.66】 - 2.68 第一批批次检查:对本批修改执行
gofmt、必要代码生成、go build ./...,核对迁移所有权、Handler 文档生成器、API/Worker/Relay 组合根和配置样例;不新增/运行测试。
3. 第二批:共享核心下游
B2-01 UR40 统一套餐可售策略
- 3.1 映射原 UR40-01:建立统一套餐可售决策与真实历史资格,禁用永不可买、下架仅资产所有人凭有效历史续费。【主:Domain Policy|不迁移:订单全模块|依赖:1.1】
- 3.2 映射原 UR40-02:正常套餐商城 Query 只展示在售可购项。【主:Query|不迁移:购买写入|依赖:3.1】
- 3.3 映射原 UR40-03:当前套餐投影提供
renew_only续费入口与原因。【主:Query|依赖:3.1】 - 3.4 映射原 UR40-04:历史套餐投影按真实使用资格提供续费入口。【主:Query|依赖:3.1】
- 3.5 映射原 UR40-05:C 端订单创建重新校验续费资格、资产所有权和套餐状态。【主:复杂写 Domain/Application|依赖:3.1】
- 3.6 映射原 UR40-06:后台代购、自动购包等非个人入口统一禁止下架套餐绕过。【主:复杂写 Policy 接入|不迁移:入口其他规则|依赖:3.1】
- 3.7 映射原 UR40-08:交付跨入口 API/前端契约、OpenAPI/文档生成器与构建部署检查;原 Ticket 07 Audit Event 移出本 Change,不阻塞上线。【主:API/发布契约|依赖:3.2-3.6】
B2-02~B2-05 卡状态与钱包下游
- 3.8
JULY-UR73统一所有后台/OpenAPI 复机入口的资格用例:realname_link_type=none不要求实名,template/gateway必须已实名,未知配置拒绝且不调用 Gateway。【主:复杂写 Domain/Application|不迁移:其他风险/套餐/保护期规则|依赖:2.45】 - 3.9
JULY-UR73复机成功后写 Integration Log、可靠触发 0/3/5 观测并由公共卡状态收敛;Gateway 成功不直接改本地网络状态。【主:Application + Adapter/Outbox|不迁移:观测实现|依赖:3.8、2.38】 - 3.10
JULY-UR73交付复机失败中文错误、API/前端契约、OpenAPI/文档生成器与构建部署检查;真实 Gateway 验收转 6.4。【主:API 契约|依赖:3.8、3.9】 - 3.11
JULY-UR53建立设备实名可重建投影、历史初始化和卡实名/绑定/解绑/换卡事件消费者;任一有效绑定卡实名即设备实名。【主:Application 投影|辅:Outbox/Infrastructure|不迁移:卡实名真相|依赖:2.34】 - 3.12
JULY-UR53为卡/设备列表增加可区分未传与显式 0 的实名状态过滤、字段与索引,保持权限/分页。【主:Query|依赖:3.11】 - 3.13
JULY-UR53交付前端筛选、OpenAPI/文档生成器、投影 Worker 装配和构建部署检查;历史/事件真实验证转 6.1。【主:API/Infrastructure|依赖:3.11、3.12】 - 3.14
JULY-UR62建立“运营商能力 + 资产视角 + realname_policy”的统一有效策略与购买/实名资格用例;设备 before-order 要求全部有效卡实名。【主:Domain/Application|不迁移:运营商配置协议|依赖:2.45】 - 3.15
JULY-UR62交付卡/设备 1~500 条批量策略更新,全量校验后事务内全成全败,并扫描冲突数据。【主:简单写 Application|不迁移:新字段|依赖:3.14】 - 3.16
JULY-UR62扩展 C 端 asset info 和所有充值/订单/实名入口只消费统一有效策略,交付前端流程、OpenAPI/文档生成器与构建部署检查。【主:Query + Application 接入|不迁移:前端自行推断|依赖:3.14、3.15】 - 3.17
JULY-UR97在所有代理主钱包写入口完成前后现金可用快照,只有before>10000 && after<=10000产生稳定低余额事件,持续低位不重复、回升后重布防。【主:复杂写 Wallet Domain|不迁移:信用/佣金/资产钱包|依赖:2.32】 - 3.18
JULY-UR97同事务保存钱包/流水/Outbox,消费事件并向店铺主账号和可用业务员按事件/接收人幂等通知。【主:Application + Outbox/Notification|不迁移:外部通知|依赖:2.8、2.63、3.17】 - 3.19
JULY-UR97扩展资金概况cash_available/low_balance_warning与前端提示,不提供阈值配置。【主:Query/API 契约|依赖:3.17】 - 3.20
JULY-UR97完成钱包入口接入清单、Worker/模板、OpenAPI/文档生成器和构建部署检查;并发/通知真实验证转 6.1/6.6。【主:Infrastructure 收口|依赖:3.17-3.19】
B2-06 UR36 批量订购套餐
- 3.21 映射原 UR36-01:交付统一资产解析后的批次内唯一资产识别,跨不同标识仍按资产类型+ID 判重。【主:Application/Domain|不迁移:资产解析白名单|依赖:1.1】
- 3.22 映射原 UR36-02:交付
purpose=bulk_purchase受控预签名上传、对象归属/类型/10MB 校验和稳定 file_key。【主:Infrastructure/Application|不迁移:通用对象存储框架|依赖:1.1】 - 3.23 映射原 UR36-04:复用
3.1的统一后台套餐可售策略并按结算代理重新校验授权/成本价。【主:Domain Policy|依赖:3.1】 - 3.24 映射原 UR36-05:提供可复用单资产套餐订购命令,订单、钱包/线下支付、流水和套餐使用保持一个业务单元。【主:复杂写 Domain/Application|不迁移:批次状态|依赖:2.27、3.23】
- 3.25 映射原 UR36-06:幂等创建批量任务,固化请求指纹、套餐/支付/凭证/文件快照并可靠投递处理事件。【主:Application + Outbox|不迁移:同步解析 CSV|依赖:3.22】
- 3.26 映射原 UR36-07:Worker 校验 UTF-8/BOM、固定表头/未知列/语法/空文件/1000 行,合法后持久化逐行明细,文件错误整体失败。【主:Infrastructure/Application|不迁移:逐行业务|依赖:3.21、3.25】
- 3.27 映射原 UR36-08:按行号独立事务完成 offline 行订购,整批凭证快照、部分成功与失败明细可追踪。【主:复杂写|不迁移:财务核销|依赖:3.24、3.26】
- 3.28 映射原 UR36-09:wallet 批次严格按行号逐行扣各资产结算代理主钱包,租约/幂等支持恢复且余额不足只失败当前行。【主:复杂写|不迁移:整批预占|依赖:2.27、3.27】
- 3.29 映射原 UR36-10:交付任务/明细 Query、五态、计数摘要、失败详情、轮询与前端四阶段契约。【主:Query/API 契约|不迁移:创建人隔离新规则|依赖:3.28】
- 3.30 映射原 UR36-11 为测试环境装配:完成迁移、上传/任务 Handler、Worker/Outbox、OpenAPI/文档生成器和构建部署检查;原 UR36-03 集成 Harness、真实依赖/全链门禁转 6.1/6.3。【主:Infrastructure|依赖:3.21-3.29】
B2-07 UR49 设备 CSV 批量分配
- 3.31 映射原 UR49-01:基于
3.22受控上传和公共五态建立设备批量任务/失败明细/租约基础,一任务只允许assign_shop或assign_series。【主:Application/Infrastructure|不迁移:通用批量平台|依赖:3.22、3.30】 - 3.32 映射原 UR49-02:交付 CSV 批量分配代理完整切片,批量查设备、平台库存/直属下级权限、已是目标幂等、其他店铺拒绝。【主:Application|不迁移:回收流程|依赖:3.31】
- 3.33 映射原 UR49-03:交付 CSV 批量分配套餐系列完整切片,校验归属和有效授权,已是目标幂等且不修改 shop_id。【主:Application|不迁移:套餐授权模型|依赖:3.31】
- 3.34 映射原 UR49-04:冻结前端双入口、上传/进度/失败明细契约,补 OpenAPI/文档生成器。【主:API/前端契约|依赖:3.32、3.33】
- 3.35 映射原 UR49-05 为测试环境装配:完成迁移、Handler、Worker、路由、对象存储用途与构建部署检查;真实链路/自动化门禁转 6.1/6.3。【主:Infrastructure|依赖:3.31-3.34】
- 3.36 第二批批次检查:执行
gofmt、必要代码生成、go build ./...,核对迁移、Handler 文档生成器、Worker/Outbox/Integration Log、配置和跨批依赖;不新增/运行测试。
4. 第三批:审批业务先行、渠道后置与组合 Query
B3-01 UR34 代理充值
- 4.1 交付在线/线下充值共用的状态模型、幂等指纹、支付/审批/处理三套状态、迁移与 Query 投影。【主:复杂写 + Query|不迁移:C 端支付全模块|依赖:2.32】
- 4.2 交付代理当前店铺可用支付方式与在线充值创建:100 元~100 万元、新 request_id 新业务单/支付单、微信 Native/支付宝 PreCreate、结果未知恢复和 qr_content 原样返回。【主:复杂写 + Payment Adapter|不迁移:二维码图片/多通道池|依赖:2.29、2.57】
- 4.3 交付支付回调与受控查单共用确认用例:渠道/配置/金额/交易号/业务关联校验,迟到成功优先,支付事实与入账 Outbox 同事务。【主:复杂写|辅:Integration Log/Outbox|不迁移:前端轮询触发查单|依赖:4.2】
- 4.4 交付钱包入账 Worker:唯一流水、版本、处理租约、状态恢复和目标主账号/真实提交人到账通知,支付已成功时失败不得回滚收款事实。【主:复杂写 Wallet Application|不迁移:人工重复入账|依赖:2.29、2.8、4.3】
- 4.5 交付平台/超管线下代充值业务核心:后端计算固定金额、保存 1~5 付款凭证原件和请求快照,通过 Approval Port 创建通用审批实例;消费标准决策完成通过入账、拒绝/删除/撤销终结和通过后撤销分流,旧 offline-pay/reject 仅在渠道装配可用后停机下线。【主:复杂写 Application/Domain|辅:Approval Port/Worker|边界:线下代充规则和终态处理|不迁移:企微 SDK/DTO/
sp_no/状态码,不建本地审批流引擎或操作密码|依赖:2.9~2.12、2.29、4.1、4.4】 - 4.6 交付充值列表/详情/payment-status、代理店铺层级权限、前端二维码/轮询/标准审批/处理状态、OpenAPI/文档生成器和业务核心构建检查;渠道专属字段仅作可选扩展,线下代充入口在 4.W14 前保持关闭,真实支付/审批验收转 6.2/6.3。【主:Query/API 契约|依赖:4.2~4.5】
B3-02 UR35 退款
- 4.7 交付退款固定申请金额、业务凭证、真实提交人、唯一通用审批实例与申请/审批/处理三套状态迁移;创建前校验无其他活跃退款。【主:复杂写|辅:Approval Port|边界:退款申请和审批关联|不迁移:企微 SDK/DTO/
sp_no/状态码,不建本地审批流引擎或旧原单重提|依赖:2.9~2.12】 - 4.8 交付退款创建纵向切片:后端读取实收金额、保存 1~5 本地权威凭证和申请快照,通过 Approval Port 原子写通用实例与提交 Outbox;删除 approve/reject/return/resubmit/manual-complete 路由。【主:复杂写 Application|不迁移:渠道自动退款、外部审批附件权威化|依赖:4.7】
- 4.9 交付标准审批终态消费与退款处理租约:
rejected/cancelled/deleted终结;approved后按支付类型处理资金;revoked_after_approved按资金事实分流。代理主钱包只按原扣款流水回溯,非代理资金由人工退款事实确认。【主:复杂写|边界:退款决策和资金处理|不迁移:渠道状态翻译、资产钱包自动回充|依赖:2.11、2.30、4.8】 - 4.10 交付整单终结的订单、已发放/未发放佣金、全部有效套餐、下一套餐激活或停止资产的持久化步骤幂等与失败恢复。【主:复杂写 Domain/Application|不迁移:未触碰订单/佣金模块|依赖:4.9、2.40】
- 4.11 交付退款列表/详情、店铺层级权限、代理最小审批投影、处理失败摘要和前端只读状态;更新 OpenAPI/文档生成器。【主:Query/API 契约|依赖:4.7-4.10】
- 4.12 完成退款业务核心、标准决策消费者、Worker/迁移和 API 的构建检查;未装配有效 Adapter 时新提交失败关闭且不写业务单/实例/Outbox,测试环境开放退款入口另依赖 4.W14;资金/佣金/套餐人工验收及自动化转 6.1/6.2/6.3。【主:Infrastructure/Application 收口|依赖:4.8~4.11】
B3-03 UR37 WeCom Adapter 与首个渠道装配
- 4.W1 映射原 UR37-01:在 UR34/UR35 业务核心已可独立构建后,交付企微连接状态、Token 缓存/锁、安全 Viper 配置与 WeCom Adapter;所有外部尝试接入 Integration Log。【主:Infrastructure Adapter|不迁移:Approval Port 与退款/充值规则|依赖:1.1、2.9、4.6、4.12】
- 4.W2 映射原 UR37-02:交付平台/超管五分钟扫码绑定会话、本人查询/解绑与超管强制解绑;代理不绑定。【主:复杂写 Application/Domain|辅:Query|边界:WeCom userid 绑定|不迁移:组织模型、通用审批实例|依赖:4.W1】
- 4.W3 映射原 UR37-03:交付稳定场景、不可变企微模板版本、控件映射校验与首次发布。【主:复杂写|辅:Adapter/Query|边界:WeCom 模板配置事实|不迁移:本地审批节点/审批人/会签或签|依赖:4.W1】
- 4.W4 映射原 UR37-04:实现 WeCom Adapter 对 Approval Port 的可用性检查和发起身份解析,将企微身份作为渠道快照,不泄漏到业务 Domain/Application。【主:Infrastructure Adapter|边界:WeCom 发起前置|不迁移:业务单创建事务|依赖:2.12、4.W2、4.W3】
- 4.W5 映射原 UR37-05:保持本地业务附件为权威原件,交付企微副本上传、异步
applyevent、external_ref=sp_no绑定、结果未知和 Integration Log。【主:Application/Infrastructure Adapter|边界:一次 WeCom 技术提交|不迁移:业务附件权限与内容|依赖:2.12、4.W4】 - 4.W6 映射原 UR37-06:交付场景暂停、提交租约、企微模板换版/指纹验证、原子恢复与失效告警;暂停只阻断新提交,不中断存量实例。【主:复杂写|辅:Scheduled Job|不迁移:业务终态|依赖:4.W3、4.W5】
- 4.W7 映射原 UR37-07:交付企微加密回调验签解密、权威
getapprovaldetail同步和 Translator,将企微状态翻译为 2.9 标准决策后调用 2.11,不直接执行退款/充值规则。【主:Infrastructure Adapter|辅:Application|边界:WeCom 入站防腐层|不迁移:终态业务处理|依赖:2.11、4.W5】 - 4.W8 映射原 UR37-08:交付两分钟轮询补偿,与回调共用 4.W7 Translator 和 2.11 同步用例,按至少一次语义恢复。【主:Application/Infrastructure|辅:Worker|不迁移:退款/充值 Worker|依赖:4.W7】
- 4.W9 映射原 UR37-09:在 2.10 通用 Query 之上交付企微节点、审批人、内部意见和附件的受权扩展投影;代理仅获取通用最小摘要。【主:Query|边界:WeCom 详情扩展|不迁移:业务列表、实时调企微|依赖:2.10、4.W2、4.W3、4.W7】
- 4.W10 映射原 UR37-10:交付提交结果未知的“绑定已有
sp_no”和“确认未创建后重发”受控恢复,保留每次技术尝试与 Integration Log。【主:复杂写|辅:Adapter/Query|不迁移:新业务申请和通用决策|依赖:4.W5、4.W7、4.W9】 - 4.W11 映射原 UR37-11:消费 2.11 首次标准终态事件,向真实业务提交人发送审批结果通知,按实例/接收人防重。【主:Application|辅:Notification Adapter|不迁移:业务到账通知|依赖:2.8、2.11】
- 4.W12 映射原 UR37-12:交付存量审批迁移契约、
provider=legacy只读投影、平台绑定/代理固定账号前置检查与异常清单,不伪造历史企微实例。【主:Application/Infrastructure|辅:Query|不迁移:历史业务规则|依赖:2.9、4.W2~4.W7】 - 4.W13 映射原 UR37-13:冻结企微配置页、个人绑定、审批运行/详情/恢复与业务摘要的跨仓契约,明确通用字段和 WeCom 扩展字段,补 OpenAPI、文档生成器和中文文档。【主:API/Query 契约|不迁移:前端技术栈与本地流程编排|依赖:4.W2、4.W3、4.W9、4.W10】
- 4.W14 映射原 UR37-14 的测试环境部分:在 4.6/4.12 业务核心已完成后,装配 WeCom Adapter、模板/回调/轮询 Worker、路由和组合根,使线下代充/退款可用且无效 Adapter 仍失败关闭;执行本批构建/部署检查,真实企微门禁整体转 6.2。【主:Infrastructure 组合根|边界:首个渠道接入和入口开放|不迁移:业务规则或其他审批渠道|依赖:4.6、4.12、4.W1~4.W13】
B3-04~B3-07 下游业务
- 4.13
JULY-UR57在换货创建完整用例的任何副作用前,批量判定活跃退款(状态 1/历史 4,或状态 2 且处理未成功)并以统一禁止错误拒绝;不新增预检查 API、不改退款/换货状态机。【主:复杂写;辅:Query|依赖:4.7】 - 4.14
JULY-UR57更新换货 API/前端错误契约、中文文档和构建部署检查;拒绝路径 Audit Event 不属于本 Change 且不阻塞上线。【主:API 契约|依赖:4.13】 - 4.15
JULY-UR33交付复用 UR46 的 0~15 天临期 Query、3 天内置顶、列表/Dashboard/C 端/续费投影;只接受可准确推算事实。【主:Query|不迁移:到期算法第二套实现|依赖:1.5、3.7、2.63】 - 4.16
JULY-UR33交付每日扫描、15/7/3 最近节点、防重记录与 Outbox/通知消费;漏跑不补多条,站内通知失败不修改套餐事实。【主:Application/Infrastructure|不迁移:短信/企微提醒|依赖:2.8、4.15】 - 4.17
JULY-UR33接入expiring_asset导出输入契约、前端临期页/Dashboard/高亮/续费与 OpenAPI/文档生成器;实际 DataSource 实现在 4.23。【主:Query/API 契约|依赖:4.15】 - 4.18
JULY-UR33完成迁移、定时任务、Worker/模板、路由与测试环境构建部署检查;时间边界/通知真实验证转 6.1/6.6。【主:Infrastructure|依赖:4.15-4.17】 - 4.19
JULY-UR44为退款、充值、换货新增提交人不可变快照和历史回填(含软删除账号,缺失显示未知),新建时同事务冻结。【主:简单写/迁移|不迁移:业务状态机|依赖:4.1、4.7】 - 4.20
JULY-UR44扩展三类列表,以本页通用审批实例批量投影 approval_source/provider/status/current_approver/processing;业务列表基础字段只依赖 2.10,WeCom 节点摘要是 4.W9 的可选扩展,代理当前审批人固定为空,换货固定 none。【主:Query|不迁移:实时调用企微或将业务列表绑定单一渠道|依赖:2.10、4.W9、4.19】 - 4.21
JULY-UR44交付前端列/状态/权限、OpenAPI/文档生成器和构建部署检查。【主:API 契约|依赖:4.20】 - 4.22
JULY-UR42交付代码字段 Registry、角色 Scene 字段授权全量替换、超管全目录、普通账号并集交集和零字段拒绝。【主:简单写 Application|辅:Query|不迁移:菜单/行权限|依赖:1.1】 - 4.23
JULY-UR42创建导出任务时快照字段/表头/过滤/数据范围/脱敏级别,扩展各 Scene DataSource,Count/Fetch 条件一致且无 N+1。【主:Query/DataSource|辅:Application|不迁移:第二套导出框架|依赖:4.6、4.11、4.17、4.20、1.5】 - 4.24
JULY-UR42交付稳定不可枚举 attachment_ref、前端登录恢复落地页和按当前业务权限生成短期下载 URL;不得输出对象 Key/media_id/预签名 URL,导出只使用本地权威附件,不依赖企微副本。【主:Query/Infrastructure|不迁移:公开 Bucket 或渠道附件权威化|依赖:4.5、4.8、4.23】 - 4.25
JULY-UR42交付角色字段配置、导出入口/任务/失败/附件页面契约,更新 OpenAPI/文档生成器和中文文档。【主:API/前端契约|依赖:4.22-4.24】 - 4.26
JULY-UR42完成权限表/附件引用迁移、Export Worker/对象存储/配置装配和测试环境构建部署检查;文件内容/性能/权限自动化转 6.1/6.3。【主:Infrastructure|依赖:4.22-4.25】 - 4.27 第三批批次检查:执行
gofmt、必要代码生成、go build ./...,核对资金/审批/支付/导出迁移、Handler 文档生成器、Worker/Outbox/Integration Log、旧路由下线与配置;不新增/运行测试。
5. 最终收口与测试环境部署
- 5.1 收口 UR45:修正 PRD/Ticket 元数据,向前端交付新旧资产独立搜索并完成页面/人工验收;后端不重复实现。
- 5.2 收口 UR46:完成后台详情、卡/设备列表和 C 端预计最终到期字段的前端展示与人工一致性验收;后端四票保持“已完成”。
- 5.3 收口 UR60:完成联系电话精确筛选前端、加载/空态/非法参数展示与浏览器人工联调;维护窗口确认索引部署。
- 5.4 收口 UR86:完成前代/后代标签与受控跳转前端验收,并在维护窗口抽样历史数据;不得因未抽样把后端状态回退。
- 5.5 联合收口 UR98/UR45/UR86:确认换货新资产继承店铺、旧资产保留归属、新旧搜索和双向链路契约在同一前后端版本一致。
- 5.6 冻结测试环境版本、迁移清单、API/Worker/Relay/前端版本、配置样例和回滚负责人;确认需求16无代码/迁移/入口。
- 5.7 进入维护模式,停止相关写入与旧 Worker;执行增量迁移和前置数据清单,失败时保持维护且不开放访问。
- 5.8 发布 API、Relay/Worker、匹配前端版本,装配企微、支付、Gateway、运营商、对象存储与 Redis/Asynq 测试环境配置;线下代充/退款入口仅在 4.W14 完成且 WeCom Adapter/场景/身份配置有效后开放。
- 5.9 执行最终允许门禁:
gofmt检查、必要代码生成、go build ./...、迁移版本、路由/OpenAPI、Worker 注册、配置就绪和前后端版本一致性检查;不运行go test或真实依赖自动验收。 - 5.10 恢复 Worker 与测试环境访问,记录每条线实际状态;未完成 4.W14 时必须继续关闭线下代充/退款新提交入口,且只能标记“后端代码完成”或“测试环境已部署/待人工验收”,不得标记生产验收完成。
- 5.11 发布后若产生审批、支付、资金、Outbox、Integration Log、通知或部分成功任务事实,回滚仅暂停异常入口并前向修复,不清表、不恢复旧 Writer、不要求重复付款。
6. 延期验证与生产发布门禁
- 6.1 恢复并完成所有单元、集成、HTTP、业务流程、并发、迁移、权限、性能与回归自动化;补齐本轮未新增的
_test.go,运行完整go test ./...并保留最终代码证据。 - 6.2 完成真实企业微信模板、平台本人绑定、代理固定成员、附件、提交、加密回调、轮询、同意/拒绝/撤销/删除/结果未知恢复,以及退款和线下充值终态验收。
- 6.3 完成真实 PostgreSQL、Redis/Asynq、对象存储、微信 Native、支付宝 PreCreate/TradeQuery/回调、支付成功未入账恢复与导出文件验收。
- 6.4 完成真实 Gateway 限速账号/运营商档位、设备当前卡、失败/结果未知,以及移动/联通/电信运营商回调和 19/20 位 ICCID 验收。
- 6.5 明确全局 Audit Event 治理移出本 Change:不实现 Writer、业务覆盖、历史投影、审计中心、敏感读取/导出/保留或一次性切换门禁,不阻塞本次实际上线;未来如需建设另开独立 Change。
- 6.6 完成后台、代理端、C 端全部页面与真实人工验收矩阵,包括异步部分成功、权限空态、通知、临期、换货历史抽样、余额预警和状态展示。
- 6.7 完成生产存量数据核对、进行中退款/充值迁移、企微模板与账号准备、支付/Gateway配置、停机发布与回滚演练、性能/安全/Access Log 脱敏门禁。
- 6.8 只有 6.1~6.7 全部具备真实证据后,才可把生产发布和七月迭代验收标记完成;测试环境豁免不得继承到生产。