Files
junhong_cmp_fiber/migrations/000126_add_realname_policy.up.sql
huang 505b30aa8f
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 6m44s
feat: 实现资产实名认证策略功能 (asset-realname-policy)
- 新增 realname_policy 字段到 tb_iot_card、tb_device、tb_iot_card_import_task、tb_device_import_task 四张表
- 策略枚举:none(无需实名)、before_order(先实名后充值/购买)、after_order(先充值/购买后实名)
- C端充值拦截:before_order 策略下未实名用户禁止充值
- C端订单拦截:before_order 策略下未实名用户禁止购买套餐
- C端实名链接拦截:after_order 策略下无充值/订单用户禁止实名认证
- Admin API:PATCH /api/admin/assets/:identifier/realname-mode
- 新增错误码 CodeRealnameNotAvailable=1189
2026-04-17 17:03:41 +08:00

19 lines
1.5 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- 新增 realname_policy 字段到四张表
-- 实名认证策略:(none=无需实名, before_order=先实名后充值/购买, after_order=先充值/购买后实名)
-- 默认值为 none存量数据不受影响
-- tb_iot_card 新增 realname_policy 字段
ALTER TABLE tb_iot_card ADD COLUMN IF NOT EXISTS realname_policy VARCHAR(20) NOT NULL DEFAULT 'none';
COMMENT ON COLUMN tb_iot_card.realname_policy IS '实名认证策略(none=无需实名,before_order=先实名后充值/购买,after_order=先充值/购买后实名)';
-- tb_device 新增 realname_policy 字段
ALTER TABLE tb_device ADD COLUMN IF NOT EXISTS realname_policy VARCHAR(20) NOT NULL DEFAULT 'none';
COMMENT ON COLUMN tb_device.realname_policy IS '实名认证策略(none=无需实名,before_order=先实名后充值/购买,after_order=先充值/购买后实名)';
-- tb_iot_card_import_task 新增 realname_policy 字段
ALTER TABLE tb_iot_card_import_task ADD COLUMN IF NOT EXISTS realname_policy VARCHAR(20) NOT NULL DEFAULT 'none';
COMMENT ON COLUMN tb_iot_card_import_task.realname_policy IS '导入批次实名策略(none=无需实名,before_order=先实名后充值/购买,after_order=先充值/购买后实名)';
-- tb_device_import_task 新增 realname_policy 字段
ALTER TABLE tb_device_import_task ADD COLUMN IF NOT EXISTS realname_policy VARCHAR(20) NOT NULL DEFAULT 'none';
COMMENT ON COLUMN tb_device_import_task.realname_policy IS '导入批次实名策略(none=无需实名,before_order=先实名后充值/购买,after_order=先充值/购买后实名)';