- 新增积分充值申请与审核:商户提交充值申请(凭证图片必填,1元=100积分), 管理员审核通过后事务内自动入账,幂等键防重复 - 新增通用图片上传组件 ImageUploader:canvas 压缩转 webp、预览、删除, 后端按魔数校验图片格式并持久化到 data/uploads - 管理员钱包调整改为按商户维度:移除商户侧调账接口,新增管理员 平台商户积分调整与钱包流水查看 - 低余额 Webhook 告警配置持久化,充值入账/调账后自动检查推送 - 平台商户操作列移除进入/成员,积分充值页接入真实接口并修复金额单位换算
35 lines
1.4 KiB
SQL
35 lines
1.4 KiB
SQL
-- ============================================================================
|
|
-- 积分充值申请与低余额告警配置
|
|
-- 充值需上传打款凭证,由平台管理员审核通过后自动注入积分
|
|
-- ============================================================================
|
|
|
|
CREATE TABLE IF NOT EXISTS recharge_applications (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
|
deleted_at TIMESTAMPTZ,
|
|
merchant_id BIGINT NOT NULL,
|
|
application_no VARCHAR(64) NOT NULL UNIQUE,
|
|
amount_cny BIGINT NOT NULL,
|
|
points_amount BIGINT NOT NULL,
|
|
status VARCHAR(16) NOT NULL DEFAULT 'pending',
|
|
vouchers TEXT NOT NULL DEFAULT '[]',
|
|
note VARCHAR(512) NOT NULL DEFAULT '',
|
|
review_note VARCHAR(512) NOT NULL DEFAULT '',
|
|
reviewed_at TIMESTAMPTZ,
|
|
reviewed_by BIGINT
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_recharge_applications_merchant ON recharge_applications (merchant_id);
|
|
CREATE INDEX IF NOT EXISTS idx_recharge_applications_status ON recharge_applications (status);
|
|
|
|
CREATE TABLE IF NOT EXISTS merchant_alert_configs (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
|
merchant_id BIGINT NOT NULL UNIQUE,
|
|
enabled BOOLEAN NOT NULL DEFAULT false,
|
|
threshold_points BIGINT NOT NULL DEFAULT 0,
|
|
webhook_url VARCHAR(1024) NOT NULL DEFAULT ''
|
|
);
|