6.4 KiB
6.4 KiB
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 | 01 | perm-fin-poll |
|
|
|
|
|
|
Phase 02 Plan 01: PERM + FIN + POLL 9项独立修复 Summary
企业账号权限边界(Resolve 可查/Refresh 只读)、提现流程数据完整性(审批人字段/remark 必填/激活并发锁)、轮询调度和停复机安全修复,全部为独立小修,共 9 个需求 8 个 commit。
执行结果
所有 9 个需求(PERM-01/02, FIN-01/02/03, POLL-01/02/03/04)均已修复,go build ./... 零新增错误(已有两个预存在的 service/package 字段缺失错误不在本 plan 范围内)。
Task 1: PERM + FIN 修复
PERM-01 (commit: 2a92ab6)
- 文件:
internal/handler/admin/asset.go - 变更: 删除
Resolve方法中对企业账号的错误拦截(企业账号应可查询资产)
PERM-02 (commit: 2a92ab6)
- 文件:
internal/handler/admin/asset.go - 变更:
Refresh方法开头新增企业账号拦截(企业账号只读,不允许主动触发运营商刷新)
FIN-01 (commit: 8f62496)
- 文件:
internal/service/commission_withdrawal/service.go - 变更:
Approve的updatesmap 补充approved_by和approved_at字段
FIN-02 (commit: 9ee2f0b)
- 文件:
internal/handler/admin/commission_withdrawal.go,internal/bootstrap/handlers.go,pkg/openapi/handlers.go - 变更:
CommissionWithdrawalHandler新增validator字段;RejectWithdrawal补充validator.Struct参数验证,确保remark必填
FIN-03 (commit: bdac4ab)
- 文件:
internal/service/commission_withdrawal_setting/service.go,internal/store/postgres/wechat_config_store.go - 变更: 激活配置事务内首步加
clause.Locking{Strength: "UPDATE"}行锁,防止并发时两个事务同时置is_active=true
Task 2: POLL 修复
POLL-01 (commit: 922a3d0)
- 文件:
internal/polling/scheduler.go - 变更:
processSchedule新增TaskTypePollingProtect的processManualQueue和processTimedQueue调用
POLL-02 (commit: 8a53123)
- 文件:
internal/service/iot_card/stop_resume_service.go - 变更:
stopCardWithRetry和resumeCardWithRetry中gatewayClient==nil时返回errors.New(CodeInternalError, ...)而非nil(原来假装成功会误更新卡状态)
POLL-03 (commit: 8553a46)
- 文件:
internal/model/dto/asset_dto.go,internal/service/asset/service.go,internal/handler/admin/asset.go,internal/handler/app/client_asset.go - 变更: 新增
AssetPackagesResultDTO;GetPackages签名新增page/pageSize参数(默认 page=1, pageSize=50, max=100);admin handler 从 Query 参数读取;client_asset.go 调用处同步更新
POLL-04 (commit: 47aa5f8)
- 文件:
internal/store/postgres/package_store.go,internal/service/package_series/service.go,internal/bootstrap/services.go - 变更:
PackageStore新增CountBySeriesID方法;PackageSeries.Service注入packageStore字段;Delete前检查关联套餐数量,有则拒绝删除
Deviations from Plan
Auto-fixed Issues
1. [Rule 3 - Blocking] pkg/openapi/handlers.go 需同步更新签名
- Found during: Task 1 FIN-02 完成后最终编译验证
- Issue:
CommissionWithdrawalHandler构造函数新增了validator参数,pkg/openapi/handlers.go中文档生成器调用处仍使用旧签名导致编译失败 - Fix:
admin.NewCommissionWithdrawalHandler(nil)改为admin.NewCommissionWithdrawalHandler(nil, nil) - Files modified:
pkg/openapi/handlers.go - Commit:
754bbcd
Known Stubs
无 — 所有修复均为实际业务逻辑,无留桩或占位符。
Commits
| Commit | Message |
|---|---|
2a92ab6 |
fix(perm): 修复企业账号资产权限边界 PERM-01/02 |
8f62496 |
fix(fin): 补全提现审批人字段 FIN-01 |
9ee2f0b |
fix(fin): 提现拒绝补 remark 必填校验 FIN-02 |
bdac4ab |
fix(fin): 激活配置并发行锁保护 FIN-03 |
922a3d0 |
fix(poll): polling:protect 接入调度器 POLL-01 |
8a53123 |
fix(poll): gatewayClient=nil 时停复机返回错误而非成功 POLL-02 |
8553a46 |
fix(poll): GetPackages 接口新增分页 POLL-03 |
47aa5f8 |
fix(poll): Series 删除前检查关联套餐 POLL-04 |
754bbcd |
fix(fin): 同步更新 openapi handlers 中 CommissionWithdrawalHandler 签名 |
Self-Check: PASSED
所有关键文件存在,所有 commits 均可在 git log 中查到。