feat: add order governance flags and reconciliation

This commit is contained in:
2026-01-16 13:29:59 +08:00
parent 7ead7fc11c
commit e5f40287c3
17 changed files with 1247 additions and 103 deletions

View File

@@ -0,0 +1,39 @@
-- +goose Up
-- +goose StatementBegin
ALTER TABLE orders
ADD COLUMN IF NOT EXISTS is_flagged BOOLEAN NOT NULL DEFAULT false,
ADD COLUMN IF NOT EXISTS flag_reason VARCHAR(255) NOT NULL DEFAULT '',
ADD COLUMN IF NOT EXISTS flagged_by BIGINT NOT NULL DEFAULT 0,
ADD COLUMN IF NOT EXISTS flagged_at TIMESTAMPTZ,
ADD COLUMN IF NOT EXISTS is_reconciled BOOLEAN NOT NULL DEFAULT false,
ADD COLUMN IF NOT EXISTS reconcile_note VARCHAR(255) NOT NULL DEFAULT '',
ADD COLUMN IF NOT EXISTS reconciled_by BIGINT NOT NULL DEFAULT 0,
ADD COLUMN IF NOT EXISTS reconciled_at TIMESTAMPTZ;
COMMENT ON COLUMN orders.is_flagged IS '问题订单标记;用途:运营标注需复核订单;默认 false。';
COMMENT ON COLUMN orders.flag_reason IS '问题标记原因;用途:说明问题点与风险;默认空字符串。';
COMMENT ON COLUMN orders.flagged_by IS '问题标记操作者ID用途审计追踪默认 0 表示未标记。';
COMMENT ON COLUMN orders.flagged_at IS '问题标记时间;用途:记录标记时效;未标记为空。';
COMMENT ON COLUMN orders.is_reconciled IS '对账状态;用途:标识是否完成人工对账;默认 false。';
COMMENT ON COLUMN orders.reconcile_note IS '对账说明;用途:记录对账备注与结论;默认空字符串。';
COMMENT ON COLUMN orders.reconciled_by IS '对账操作者ID用途审计追踪默认 0 表示未对账。';
COMMENT ON COLUMN orders.reconciled_at IS '对账时间;用途:记录完成对账时间;未对账为空。';
CREATE INDEX IF NOT EXISTS orders_is_flagged_idx ON orders(is_flagged);
CREATE INDEX IF NOT EXISTS orders_is_reconciled_idx ON orders(is_reconciled);
CREATE INDEX IF NOT EXISTS orders_flagged_at_idx ON orders(flagged_at);
CREATE INDEX IF NOT EXISTS orders_reconciled_at_idx ON orders(reconciled_at);
-- +goose StatementEnd
-- +goose Down
-- +goose StatementBegin
ALTER TABLE orders
DROP COLUMN IF EXISTS reconciled_at,
DROP COLUMN IF EXISTS reconciled_by,
DROP COLUMN IF EXISTS reconcile_note,
DROP COLUMN IF EXISTS is_reconciled,
DROP COLUMN IF EXISTS flagged_at,
DROP COLUMN IF EXISTS flagged_by,
DROP COLUMN IF EXISTS flag_reason,
DROP COLUMN IF EXISTS is_flagged;
-- +goose StatementEnd