feat(admin): establish core data model

This commit is contained in:
QiuSW
2026-08-03 18:37:48 +08:00
parent 8be6d206dd
commit 87591e84f9
17 changed files with 1081 additions and 6 deletions
+7 -3
View File
@@ -3,7 +3,7 @@ id: T-004
title: 建立核心数据模型与状态机
phase: 0
deps: [T-001]
status: DOING
status: DONE
created: 2026-08-03
vikunja_task_id: 19
context_ref: c72371c
@@ -23,7 +23,7 @@ write_paths:
- docs/api.md
---
<!-- BEGIN VIKUNJA EXPORT id=19 synced=2026-08-03T10:16:07Z sha256=dc6e71b81abdf95ef5942603c31944dd3eb76141e9d2edc8edef56d71a1b1d4c -->
<!-- BEGIN VIKUNJA EXPORT id=19 synced=2026-08-03T10:37:34Z sha256=a848b2881154932ac8dd7ac46abbbd8a58da1664c50a0901dccd905eb00db5c2 -->
## 问题 / 背景
T-001 已建立可运行的采购服务骨架,但尚无业务实体、数据库 schema 或可验证的状态机。后续登录、建单、领取、授权和提交围栏都依赖一致的数据模型;若先写 HTTP 页面再补状态约束,会把资金安全边界分散到处理器中。
@@ -52,7 +52,11 @@ T-001 已建立可运行的采购服务骨架,但尚无业务实体、数据
## 执行记录
(暂无)
### 2026-08-03T10:37:05Z · ila
主 agent 二次终审通过:完成 tasks、spec_trials、order_authorizations、order_submissions 的 Goose/SQLite 迁移、纯状态机与迁移 CLI;金额字段均为 TEXT 十进制字符串,无 HTTP、真机、下单点击或付款代码。
返修后迁移 CLI 仅允许 up/down/status;复合外键禁止授权引用其他任务试选记录、提交记录引用其他任务授权;围栏后状态不可回退,第一趟 RUNNING 不可进入 ORDERING。
独立验证:gofmt 无差异,go mod tidy 后干净;go test ./...、go test -race ./...、go vet ./...、go build ./... 通过;真实临时库迁移 up/status 通过;agent-context、diff check 和越界扫描通过。
<!-- END VIKUNJA EXPORT -->
## 边界