完成
Some checks failed
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Failing after 7m30s

This commit is contained in:
2026-07-25 19:06:31 +08:00
parent cb26217205
commit 09ffee8590
7 changed files with 158 additions and 20 deletions

View File

@@ -37,7 +37,7 @@
| 需求切片 | 主通道 | 完整业务边界 | 明确不迁移范围 |
| --- | --- | --- | --- |
| #189#181#57 | 旧 `Handler → Service → Store → Model` | 对现有换货、退款、订单路径做局部修复和拦截 | 不迁移换货、退款或订单模块 |
| #189#181#57 | 旧 `Handler → Service → Store → Model` | 对现有换货、退款、订单路径做局部修复和拦截;新建设备退款固化订单资产标识快照 | 不迁移换货、退款或订单模块,不兼容历史空快照 |
| #182#44#53 | 既有 Query 或旧 Store 查询 | 列表/详情字段、实名筛选、批量账号名称解析 | 不建聚合、历史投影或事件消费者 |
| #41#62#48 | 简单写 + 既有读取 | 店铺开关、实名策略、系统配置的更新和查询 | 不建领域模型,不重构认证/支付模块 |
| #188#97#33 | Application/既有通知 Adapter | 产生明确业务事件后向既有站内通知接线 | 不建营销平台或新通知中心 |
@@ -63,8 +63,9 @@
| 企微场景配置 | 管理员配置 `business_type → template_id` 及业务字段到控件 ID/类型/选项 key 的映射;模板必须先在企微后台创建 |
| 实名顺序 | 保持已约定的单资产 PATCH、卡批量 POST、设备批量 POST枚举仅为 `none/before_order/after_order`,批量上限 500、全成全败 |
| 列表人员字段 | 退款、充值、换货返回提交人 ID/名称;审批人仅从已同步企微详情中的 userid 批量映射,映射不到返回空,不实时调用企微 |
| 设备退款资产标识 | 创建退款时从订单固化 `asset_identifier`;列表和详情只返回退款快照,不按 `device_id` 查询当前设备,不兼容历史空快照;单卡继续使用 ICCID 快照 |
| 批量订购 | CSV 只有资产标识列;请求额外选择一个套餐和一个支付方式,不选择代理;整批使用相同参数 |
| 导出 | 复用现有导出任务入口,通过六个 datasource code 区分;每类只输出本业务已有且已确认的字段 |
| 导出 | 复用现有导出任务入口,通过六个 datasource code 区分;每类只输出系统现有且有稳定来源的字段,原始字段清单中当前无法提供的字段不伪造、不新增模型,也不阻断其他字段导出 |
| 支付方式 | `system_config` 分别保存卡和设备允许的支付方式;两类资产默认均启用 `wallet/wechat/alipay`三项可独立取消但至少保留一项C 端返回当前购包场景有效集合,创建订单时后端再次校验 |
| 设备批量分配 | 复用现有导入任务 API 和状态模型CSV 单列设备标识;业务参数选择“代理”或“套餐系列”及目标 ID |
@@ -76,7 +77,7 @@
### 5. 企微只做 Adapter审批流程仍由企微模板拥有
系统按应用保存加密 Secret、回调 Token、EncodingAESKey、`corp_id/agent_id` 和一个从当前可见成员中选择的默认审批发起人;`access_token` 按应用缓存并预留提前刷新。管理员从应用可见通讯录选择成员,账号绑定键为 `(corp_id, userid)`,姓名和部门仅为展示快照。内部员工已绑定且仍可见时优先以本人发起,代理等非企微账号始终以应用默认成员发起;本地申请仍保留真实业务提交人,不用默认成员冒充业务操作者。
系统按应用明文保存 Secret、回调 Token、EncodingAESKey、`corp_id/agent_id` 和一个从当前可见成员中选择的默认审批发起人;不要求额外启动加密密钥。`access_token` 按应用缓存并预留提前刷新。管理员从应用可见通讯录选择成员,账号绑定键为 `(corp_id, userid)`,姓名和部门仅为展示快照。内部员工已绑定且仍可见时优先以本人发起,代理等非企微账号始终以应用默认成员发起;本地申请仍保留真实业务提交人,不用默认成员冒充业务操作者。
场景配置保存已知 `template_id`。保存或发布时调用 `oa/gettemplatedetail` 校验控件 ID、类型、必填项和选择项 key。系统不创建模板、不保存审批节点、不计算部门领导或财务人员`oa/applyevent` 使用 `use_template_approver=1`,审批人由企微后台模板决定。
@@ -104,7 +105,7 @@
批量订购和设备分配只新增业务解析器/执行器继续使用现有对象存储、任务五态、Asynq 重试、失败明细和下载能力。文件级校验失败不写业务数据;涉及扣款/订购时按现有订单幂等键和钱包流水保证不重复扣款。
六类导出分别实现 datasource查询直接投影 DTO不串联多个业务迁移。不存在的字段不得临时创造含义;先从既有数据组合,确认确实缺失后再增加最小字段迁移。
六类导出分别实现 datasource查询直接投影 DTO不串联多个业务迁移。不存在或无稳定来源的字段不得临时创造含义,本 Change 不为此新增字段迁移;该字段从导出表头中省略并在对接说明中记录,不阻断其他稳定字段的导出交付
### 8. 数据、事务、常量与缓存