-- ===================================================================================== -- Schema: 用户资金流水表 -- 位置:docs/sql/10_schema/finance/ -- 对象类型:Schema (DDL) -- 版本:v1 -- 说明:记录用户余额、积分、佣金的所有增减流水(原子日志) -- ===================================================================================== CREATE TABLE IF NOT EXISTS public.ml_user_bill ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), uid UUID NOT NULL REFERENCES public.ak_users(id), link_id TEXT NULL, -- 关联业务ID(订单号、提现ID、充值ID等) pm SMALLINT NOT NULL DEFAULT 1, -- 0:支出, 1:收入 title TEXT NOT NULL, -- 流水标题(如:商品购买、充值、提现) category TEXT NOT NULL, -- 业务大类(如:balance-余额, integral-积分, brokerage-佣金) type TEXT NOT NULL, -- 业务子类型(如:recharge, extract, pay, refund, system_add, system_sub) number DECIMAL(12,2) NOT NULL DEFAULT 0, -- 变动金额 balance DECIMAL(12,2) NOT NULL DEFAULT 0, -- 变动后的余额快照 mark TEXT NULL, -- 备注 status SMALLINT NOT NULL DEFAULT 1, -- 状态(1:有效, 0:无效/冲正) created_at TIMESTAMPTZ NOT NULL DEFAULT now(), updated_at TIMESTAMPTZ NOT NULL DEFAULT now() ); -- 常用查询索引 CREATE INDEX IF NOT EXISTS ml_user_bill_uid_idx ON public.ml_user_bill (uid); CREATE INDEX IF NOT EXISTS ml_user_bill_category_type_idx ON public.ml_user_bill (category, type); CREATE INDEX IF NOT EXISTS ml_user_bill_created_at_idx ON public.ml_user_bill (created_at DESC);