Files
kra-new/docs/sw6-to-kra/implementation.md
T

5.3 KiB
Raw Blame History

商务功能迁移执行记录

基线与方法

  • 旧后端:D:/Users/Yvan/projects/yzyz/sw,main,f9a5e3a90。
  • 框架基线:d31082f4a7816d4c83544b8f54e6f42a3b2132b1。
  • 旧前端:D:/Users/Yvan/projects/yzyz/sw/web,dev/dev1.0,ba284011c87fd3d5730e0e3dceffb14a7389730c。
  • 新实现分支:codex/sw-business-migration。

按基线至当前版本的最终差异提取功能,以当前 Java 实现、实际调用的前端接口和 SQL 为核对依据。提交记录用于解释修复和撤销,不逐提交搬运。旧前端中未接入的 mock、废弃接口不能作为已实现业务迁移。

沿用现有迁移 SQL 的 /sw/ 路由与 view/sw/ 菜单组件路径。认证、响应信封、权限、表格及图表采用 Kra;业务字段、统计口径、状态流转、可见范围保留旧实现。登录页、系统名称和品牌资源来自旧商务。新增代码注释与提交信息使用中文。

用户补充:允许直接优化旧接口、SQL 和逻辑。优化时记录行为差异并验证业务结果;各批实现必须实际请求 HTTP 接口,不能只以单元测试和构建作为完成依据。

用户已有的 configs/config.yaml 修改与迁移 SQL 保留。未经最后阶段的数据库确认,不连接、复制或修改用户的旧数据库。

依赖顺序与完成标准

阶段 范围 状态
1 商务用户字段、层级与角色、账号资料和审核、偏好、登录及找回密码 进行中
2 平台绑定、商务/渠道可见范围、外部平台与 OA 数据源、商务列表及抽屉 待实现
3 预警规则、记录与状态机、操作日志、附件、消息、任务注册与调度 待实现
4 渠道列表及新增、渠道激活、推广游戏等业务接口与页面 待实现
5 日汇总构建、充值/注册明细、渠道/游戏/区服报表、排行、画像与仪表盘 待实现
6 静态接口核对、后端测试、前端构建和页面验证 随阶段推进,最终全量复核
7 用户确认源数据库,复制至隔离库,执行迁移,启动并逐接口核对数据 未开始,必须等待用户确认

每项完成需覆盖 DTO → service → biz → data、路由目录、权限、菜单页面和有意义的行为测试。只有真实实现并通过验证的项才标为完成。整项目标在实库验证之前保持未完成。

已核实的业务约束

  • 超管创建一级商务,一级创建二级,二级创建三级;三级不能创建下级。层级与祖先链由服务器生成。
  • 新增子商务最终版本默认正常,不采用残留注释中的“默认待审核”。
  • 一/二级商务列表只显示下级树,不显示自己;三级列表为空。报表使用独立渠道可见范围,不能套用 Kra 的部门过滤替代。
  • includeSubPromote 与 idcardDedup 无记录或数据库值非零时均为开启,新增账号同时初始化开启。
  • SDK 商务绑定数量仅计算已通过记录;渠道计数依照当前直属渠道算法,跨平台 ID 不能混用。
  • 用户审核状态有正常、停用、驳回、待审核四种,须保留 business_status,不能压成 enable 后丢失含义。
  • 金额查询固定不做身份证去重;人数查询遵守全局偏好。
  • SQL 已建立用户、角色、文件等 ID 映射;平台实体及业务主键保留。迁移验收应按映射比较,不能直接比较所有原始 ID。

验证记录

  • 已落地商务用户七个扩展字段的存取及增量补列;登录和既有会话同时检查商务审核状态。
  • 已落地全局偏好 GET/PUT、当前用户隔离、缺省开启、显式关闭及幂等写入;Kra 顶栏增加统计口径入口。
  • 已落地商务列表、查询资料、新增子商务、部分编辑和审核状态,以及 Kra 风格 BusinessList 页面。层级及角色由服务端按原角色 ID 映射分配;账号、角色、偏好在同一事务创建。列表按平台与商务组合键统计直属一级渠道和已通过绑定。
  • 商务列表的绑定、画像、导出等功能仍在后续范围内;当前不将整个商务菜单标为完成。
  • 已生成 source-inventory.json:现有 SQL 的 63 个接口契约、279 个变更源文件及额外找回密码控制器。此清单是范围索引,不代表已完成实现。
  • 已执行 make generate、相关 Go 测试、变更前端 ESLint 和生产构建。构建存在原 arcdash 依赖的 BigInt 浏览器目标警告。
  • 第一批提交 ce4b54a 后 go test ./... 全量通过;第二批账号功能的 biz/data/service/modules/server/cmd 检查及前端生产构建通过。
  • 用户反馈实际商务列表失败后,定位为 sw7 缺少 tab_promote。已解耦基础列表与渠道统计:有绑定且渠道表缺失时返回 promoteCount: null,界面显示“未接入”,无绑定账号仍为真实零。新增通过真实 TCP 请求的 HTTP 回归测试,覆盖系统数据库及完整渠道表两种场景。
  • 已通过正常验证码登录取得测试会话,并在修复后的独立 18000 实例连接同一 sw7 执行 HTTP 请求。列表总数 45,分页、账号筛选、资料和偏好查询全部成功。详见 http-verification-2026-11-03.json。8000 为用户 GoLand 旧二进制,需重新运行才加载源码修复。
  • 当前没有执行本轮真实数据库迁移验证。