Files
junhong_cmp_fiber/.planning/phases/02-perm-fin-realname-poll/02-02-SUMMARY.md
huang facc766993 docs(02-02): 完成实名激活架构重构计划 REALNAME-01~05
- 新增 02-02-SUMMARY.md
- 更新 STATE.md 进度(plan 2/2)
- 更新 ROADMAP.md 进度
- 标记 REALNAME-01~05 需求完成
2026-03-28 10:42:04 +08:00

3.8 KiB
Raw Blame History

phase, plan, subsystem, tags, dependency_graph, tech_stack, key_files, decisions, metrics
phase plan subsystem tags dependency_graph tech_stack key_files decisions metrics
02-perm-fin-realname-poll 02 realname-activation
realname
package
migration
refactor
requires provides affects
REALNAME-01
REALNAME-02
REALNAME-03
REALNAME-04
REALNAME-05
package
order
client_order
activation_service
added patterns
three-dimensional-decision
expiry-base-enum
created modified
migrations/000089_realname_expiry_base.up.sql
migrations/000089_realname_expiry_base.down.sql
internal/model/package.go
internal/model/dto/package_dto.go
internal/store/postgres/package_store.go
internal/service/order/service.go
internal/service/client_order/service.go
internal/service/package/service.go
internal/service/package/activation_service.go
internal/task/auto_purchase.go
expiry_base 枚举替代 enable_realname_activation 布尔字段,清晰分离等实名语义与计时起点语义
三维决策行业卡永远直接激活C 端购买直接激活,后台囤货按 expiry_base 决定
auto_purchase.go 被认定为 C 端路径,不适用 expiry_base 三维决策
duration completed_date tasks files
~25min 2026-03-28 2 8

Phase 02 Plan 02: 实名激活架构重构 Summary

enable_realname_activation 布尔字段替换为 expiry_base 枚举from_activation/from_purchase重构激活决策为三维判断卡类型+购买路径+expiry_base全链路原子完成。

Tasks Completed

Task Description Commits
1 DB 迁移 + Model + Store 清理REALNAME-01 344850f
2a DTO 更新REALNAME-05 244a274
2b activateMainPackage 三维决策REALNAME-02 7dd5563
2c C 端实名检查按卡类型REALNAME-03 0ebb3d7
2d ActivateByRealname 按 ExpiryBase 选时间基准REALNAME-04 60b43bb
2e auto_purchase.go 废弃引用清除(偏差修复) 4be473c

Verification

migrate-version: 89, dirty=false ✓
EnableRealnameActivation/enable_realname_activation/packagesNeedRealname 零引用 ✓
ExpiryBase 引用出现在 package.go、package_dto.go、order/service.go、
          client_order/service.go、activation_service.go ✓
go build ./internal/... 零错误 ✓

Deviations from Plan

Auto-fixed Issues

1. [Rule 1 - Bug] auto_purchase.go 含废弃 EnableRealnameActivation 引用

  • 发现于: Task 2 完成后编译验证
  • 问题: internal/task/auto_purchase.go:433 引用已删除的 pkg.EnableRealnameActivation 字段,导致编译失败
  • 修复: 识别 auto_purchase 为 C 端充值触发路径,不适用 expiry_base 三维决策,删除该分支并添加注释说明
  • 文件: internal/task/auto_purchase.go
  • Commit 4be473c

2. [Rule 1 - Bug] package/service.go DTO 映射引用 EnableRealnameActivation

  • 发现于: Task 2 DTO 替换后 LSP 报错
  • 问题: service.go 的 Create/Update/toResponse 函数仍映射旧字段
  • 修复: 同步更新三处映射为 ExpiryBase
  • 文件: internal/service/package/service.go
  • Commit 含于 244a274

Known Stubs

无已知留桩。全链路变更已完整实现。

Self-Check: PASSED

  • migrations/000089_realname_expiry_base.up.sql — FOUND ✓
  • migrations/000089_realname_expiry_base.down.sql — FOUND ✓
  • internal/model/package.go ExpiryBase 字段 — FOUND ✓
  • internal/model/dto/package_dto.go ExpiryBase 三处 — FOUND ✓
  • internal/store/postgres/package_store.go 直接一步 Create — FOUND ✓
  • Commit 344850f (REALNAME-01) — FOUND ✓
  • Commit 244a274 (REALNAME-05) — FOUND ✓
  • Commit 7dd5563 (REALNAME-02) — FOUND ✓
  • Commit 0ebb3d7 (REALNAME-03) — FOUND ✓
  • Commit 60b43bb (REALNAME-04) — FOUND ✓