-- ----------------------------
|
-- 平台设置:平台级参数(单行配置)
|
--
|
-- 目标库 hugray(**系统库**)——与协议配置同一个判断:平台参数全平台只有一份,
|
-- 与具体会员无关,属系统级配置,故落系统库、后端放 ruoyi-system(菜单 2220 已在系统管理下)。
|
-- 表是新建,用 CREATE TABLE IF NOT EXISTS,脚本可重复执行。
|
--
|
-- 【单行表:一行承载全部平台级参数】
|
-- 全表只维护一行(setting_id = 1):读走 order by setting_id asc limit 1,
|
-- 写走 insert ... on duplicate key update setting_id = 1。由此:
|
-- - 没有历史行、没有 status/del_flag —— 「改」就是覆盖,用户已确认不保留修改历史;
|
-- - **不插种子行**:没保存过之前 GET 返回 null,页面渲染成空表单(与原型的空白状态一致),
|
-- 第一次保存时由 upsert 建行;行被误删也会在下一次保存时自动重建。
|
--
|
-- 【为什么不用原生 sys_config(键值表)】
|
-- sys_config 是 config_value varchar(500) 的键值表,**原生对数字零约束**——数字校验照样得自己写,
|
-- 一点没省;6 个字段要拆成 6 行,前后端各维护一份 key→字段 映射;
|
-- 且它会出现在原生「参数设置」页里,等于给「未支付订单取消时间」这类业务关键时限
|
-- 开出第二条无约束的编辑路径。故新建本表:字段带类型、带注释、可校验。
|
--
|
-- 【数值列用 bigint 而非 int】口径是「非负整数、不限上限」,
|
-- int 遇到超大输入会在写库时抛 500,bigint 让校验口径与存储能力一致。
|
-- 4 个数值列都可空:NULL 表示「未设置」,与用户明确填的 0 区分开(0 是有意义的值)。
|
--
|
-- 【谁消费这些时限】**目前没有消费方**:订单/交易服务还不存在(ruoyi-modules 里没有 trade/order 模块,
|
-- 前端 trade/* 全是占位页,hugray-order 库存在但零张表)。将来由交易服务经 ruoyi-system 的接口读取,
|
-- 不要把参数复制进订单库。
|
-- ----------------------------
|
|
USE `hugray`;
|
|
-- ---------- 1. sys_platform_setting:平台设置(单行) ----------
|
CREATE TABLE IF NOT EXISTS `sys_platform_setting` (
|
`setting_id` bigint NOT NULL COMMENT '主键,固定为 1(全表只保留一行)',
|
`city_hotline` varchar(64) DEFAULT NULL COMMENT '城市招商热线(纯文本,不校验格式)',
|
`partner_recruit` varchar(255) DEFAULT NULL COMMENT '合伙人招募(纯文本,可能填电话/微信号/一段话)',
|
`unpaid_cancel_minutes` bigint DEFAULT NULL COMMENT '未支付订单取消时间(分钟)',
|
`auto_receive_days` bigint DEFAULT NULL COMMENT '发货后自动确认收货时间(天)',
|
`aftersale_days` bigint DEFAULT NULL COMMENT '收货后售后时间(天)',
|
`delivery_cycle_days` bigint DEFAULT NULL COMMENT '平台发货周期(天)',
|
`create_by` varchar(64) DEFAULT '' COMMENT '创建人(首次保存的人)',
|
`create_time` datetime DEFAULT NULL COMMENT '创建时间(首次保存的时间,后续保存不覆盖)',
|
`update_by` varchar(64) DEFAULT '' COMMENT '最后修改人',
|
`update_time` datetime DEFAULT NULL COMMENT '最后修改时间',
|
`remark` varchar(255) DEFAULT NULL COMMENT '备注',
|
PRIMARY KEY (`setting_id`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='平台设置(单行配置:一行承载全部平台级参数,无历史版本)';
|
|
-- ---------- 2. 结果核对 ----------
|
SELECT `table_name`, `engine`, `table_comment`
|
FROM `information_schema`.`tables`
|
WHERE `table_schema` = 'hugray' AND `table_name` = 'sys_platform_setting';
|
|
SELECT `column_name`, `column_type`, `is_nullable`, `column_key`, `column_default`, `column_comment`
|
FROM `information_schema`.`columns`
|
WHERE `table_schema` = 'hugray' AND `table_name` = 'sys_platform_setting'
|
ORDER BY `ordinal_position`;
|
|
SELECT `index_name`, `seq_in_index`, `column_name`, `non_unique`
|
FROM `information_schema`.`statistics`
|
WHERE `table_schema` = 'hugray' AND `table_name` = 'sys_platform_setting'
|
ORDER BY `index_name`, `seq_in_index`;
|
|
-- 应当为 0:本脚本刻意不插种子行,第一次保存时才由 upsert 建行
|
SELECT COUNT(1) AS `应有0行` FROM `sys_platform_setting`;
|