Your Name
319d9e1989
fix(supply-api): realign audit event persistence contract
2026-04-20 11:50:20 +08:00
Your Name
9dba094183
fix(supply-api): restore db-backed idempotency locking
2026-04-20 11:10:35 +08:00
Your Name
f48fca565b
docs(sql): clarify active schema boundaries and status constraints
2026-04-17 20:12:05 +08:00
Your Name
ad8d4bda9e
feat(supply-api): align schema with repository contract
2026-04-14 12:13:36 +08:00
Your Name
6d7ef661e6
feat(supply-api): persist audit alerts
2026-04-14 11:52:45 +08:00
Your Name
aecba5ff27
docs(review): add remediation plans and readiness artifacts
...
Add design, review, and production-readiness documents for the April remediation cycle.\nInclude supporting SQL and supply-api operational design notes so review conclusions and implementation guidance stay versioned together.
2026-04-13 18:54:45 +08:00
Your Name
b0ca154e08
chore(supply-api): add runtime schema sql assets
...
Add the outbox, partitioning, and token-status DDL files alongside the partition strategy regression test. These files map directly to already committed repository and middleware paths, and were verified with fresh repository, outbox, and middleware test runs before commit.
2026-04-11 10:29:15 +08:00
Your Name
da385ee744
fix: P0-02 修复提现竞态条件
...
使用 SELECT ... FOR UPDATE SKIP LOCKED 实现原子化提现创建
问题:
- HasPendingOrProcessingWithdraw 和 CreateInTx 分开调用导致竞态
- 两个并发请求可能同时通过检查并创建提现
解决方案:
- 新增 CreateWithdrawTx 方法,先锁定 pending 记录再检查插入
- 使用 FOR UPDATE SKIP LOCKED 防止并发插入
涉及文件:
- internal/repository/settlement.go: 新增 CreateWithdrawTx
- internal/adapter/adapter.go: 实现 CreateWithdrawTx
- internal/domain/settlement.go: 使用 CreateWithdrawTx
- internal/storage/store.go: 实现内存存储版本
- sql/postgresql/settlement_withdraw_constraint_v1.sql: 文档说明
测试: go test -short ./... 通过
2026-04-09 22:16:08 +08:00
Your Name
0196ee5d47
feat(supply-api): 完成核心模块实现
...
新增/修改内容:
- config: 添加配置管理(config.example.yaml, config.go)
- cache: 添加Redis缓存层(redis.go)
- domain: 添加invariants不变量验证及测试
- middleware: 添加auth认证和idempotency幂等性中间件及测试
- repository: 添加完整数据访问层(account, package, settlement, idempotency, db)
- sql: 添加幂等性表DDL脚本
代码覆盖:
- auth middleware实现凭证边界验证
- idempotency middleware实现请求幂等性
- invariants实现业务不变量检查
- repository层实现完整的数据访问逻辑
关联issue: Round-1 R1-ISSUE-006 凭证边界硬门禁
2026-04-01 08:53:28 +08:00