-- ----------------------------
-- 产品分类表
-- 官网产品模块的分类
-- ----------------------------
CREATE TABLE IF NOT EXISTS `cms_product_category` (
  `category_id`   INT           NOT NULL AUTO_INCREMENT   COMMENT '分类ID',
  `category_name` VARCHAR(100)  NOT NULL                  COMMENT '分类名称',
  `status`        TINYINT       NOT NULL DEFAULT 1        COMMENT '状态: 1启用 0禁用',
  `sort_number`   INT           NOT NULL DEFAULT 0        COMMENT '排序(数字越小越靠前)',
  `deleted`       TINYINT       NOT NULL DEFAULT 0        COMMENT '是否删除: 0否 1是',
  `tenant_id`     INT           DEFAULT NULL              COMMENT '租户ID',
  `create_time`   DATETIME      DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time`   DATETIME      DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`category_id`),
  KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='产品分类';

-- ----------------------------
-- 产品表
-- 官网展示的云产品
-- ----------------------------
CREATE TABLE IF NOT EXISTS `cms_product` (
  `product_id`     INT            NOT NULL AUTO_INCREMENT   COMMENT '产品ID',
  `product_name`   VARCHAR(200)   NOT NULL                  COMMENT '产品名称',
  `cover`          VARCHAR(500)   DEFAULT NULL              COMMENT '封面图',
  `summary`        VARCHAR(500)   DEFAULT NULL              COMMENT '简介',
  `description`    TEXT           DEFAULT NULL              COMMENT '详情描述',
  `category_id`    INT            DEFAULT NULL              COMMENT '分类ID',
  `category_name`  VARCHAR(100)   DEFAULT NULL              COMMENT '分类名称(冗余存储, 便于列表展示)',
  `price`          DECIMAL(10,2)  DEFAULT NULL              COMMENT '价格',
  `original_price` DECIMAL(10,2)  DEFAULT NULL              COMMENT '原价',
  `unit`           VARCHAR(20)    DEFAULT NULL              COMMENT '计价单位',
  `charge_type`    TINYINT        DEFAULT 1                 COMMENT '计费方式: 1包月 2包年 3一次性 4按量',
  `status`         TINYINT        NOT NULL DEFAULT 1        COMMENT '状态: 1在售 0下架',
  `sort_number`    INT            NOT NULL DEFAULT 0        COMMENT '排序(数字越小越靠前)',
  `top`            TINYINT        NOT NULL DEFAULT 0        COMMENT '是否置顶: 1置顶 0否',
  `tags`           VARCHAR(255)   DEFAULT NULL              COMMENT '标签, 逗号分隔',
  `user_id`        INT            DEFAULT NULL              COMMENT '创建人ID',
  `deleted`        TINYINT        NOT NULL DEFAULT 0        COMMENT '是否删除: 0否 1是',
  `tenant_id`      INT            DEFAULT NULL              COMMENT '租户ID',
  `create_time`    DATETIME       DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time`    DATETIME       DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`product_id`),
  KEY `idx_tenant_id` (`tenant_id`),
  KEY `idx_category_id` (`category_id`),
  KEY `idx_status` (`status`),
  KEY `idx_top` (`top`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='产品';

-- ----------------------------
-- 案例表
-- 官网客户案例展示
-- ----------------------------
CREATE TABLE IF NOT EXISTS `cms_case` (
  `case_id`     INT            NOT NULL AUTO_INCREMENT   COMMENT '案例ID',
  `case_name`   VARCHAR(200)   NOT NULL                  COMMENT '案例名称',
  `cover`       VARCHAR(500)   DEFAULT NULL              COMMENT '封面图',
  `summary`     VARCHAR(500)   DEFAULT NULL              COMMENT '简介',
  `content`     TEXT           DEFAULT NULL              COMMENT '案例详情',
  `industry`    VARCHAR(100)   DEFAULT NULL              COMMENT '所属行业',
  `customer`    VARCHAR(200)   DEFAULT NULL              COMMENT '客户名称',
  `product_used` VARCHAR(255)  DEFAULT NULL              COMMENT '使用产品',
  `status`      TINYINT        NOT NULL DEFAULT 1        COMMENT '状态: 1已发布 0已下线',
  `sort_number` INT            NOT NULL DEFAULT 0        COMMENT '排序(数字越小越靠前)',
  `views`       INT            NOT NULL DEFAULT 0        COMMENT '浏览量',
  `deleted`     TINYINT        NOT NULL DEFAULT 0        COMMENT '是否删除: 0否 1是',
  `tenant_id`   INT            DEFAULT NULL              COMMENT '租户ID',
  `create_time` DATETIME       DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` DATETIME       DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`case_id`),
  KEY `idx_tenant_id` (`tenant_id`),
  KEY `idx_industry` (`industry`),
  KEY `idx_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='案例';

-- ----------------------------
-- 轮播图表
-- 官网首页轮播图
-- ----------------------------
CREATE TABLE IF NOT EXISTS `cms_banner` (
  `banner_id`     INT            NOT NULL AUTO_INCREMENT   COMMENT '轮播图ID',
  `title`         VARCHAR(200)   DEFAULT NULL              COMMENT '标题',
  `image`         VARCHAR(500)   NOT NULL                  COMMENT '图片地址',
  `link_type`     TINYINT        NOT NULL DEFAULT 0        COMMENT '跳转类型: 0无 1外链 2文章 3产品',
  `link_url`      VARCHAR(500)   DEFAULT NULL              COMMENT '外链地址',
  `link_target_id` INT           DEFAULT NULL              COMMENT '跳转目标ID(文章/产品)',
  `status`        TINYINT        NOT NULL DEFAULT 1        COMMENT '状态: 1启用 0停用',
  `sort_number`   INT            NOT NULL DEFAULT 0        COMMENT '排序(数字越小越靠前)',
  `start_time`    DATETIME       DEFAULT NULL              COMMENT '生效开始时间',
  `end_time`      DATETIME       DEFAULT NULL              COMMENT '生效结束时间',
  `remark`        VARCHAR(500)   DEFAULT NULL              COMMENT '备注',
  `deleted`       TINYINT        NOT NULL DEFAULT 0        COMMENT '是否删除: 0否 1是',
  `tenant_id`     INT            DEFAULT NULL              COMMENT '租户ID',
  `create_time`   DATETIME       DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time`   DATETIME       DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`banner_id`),
  KEY `idx_tenant_id` (`tenant_id`),
  KEY `idx_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='轮播图';

-- ----------------------------
-- 留言咨询表
-- 官网留言/咨询
-- ----------------------------
CREATE TABLE IF NOT EXISTS `cms_message` (
  `message_id`  INT            NOT NULL AUTO_INCREMENT   COMMENT '留言ID',
  `name`        VARCHAR(50)    NOT NULL                  COMMENT '联系人姓名',
  `phone`       VARCHAR(20)    DEFAULT NULL              COMMENT '手机号',
  `email`       VARCHAR(100)   DEFAULT NULL              COMMENT '邮箱',
  `company`     VARCHAR(100)   DEFAULT NULL              COMMENT '公司名称',
  `type`        TINYINT        NOT NULL DEFAULT 1        COMMENT '类型: 1产品咨询 2意见反馈 3商务合作',
  `content`     TEXT           NOT NULL                  COMMENT '留言内容',
  `reply`       TEXT           DEFAULT NULL              COMMENT '回复内容',
  `reply_time`  DATETIME       DEFAULT NULL              COMMENT '回复时间',
  `status`      TINYINT        NOT NULL DEFAULT 0        COMMENT '状态: 0待处理 1已回复 2已完成 3已归档',
  `deleted`     TINYINT        NOT NULL DEFAULT 0        COMMENT '是否删除: 0否 1是',
  `tenant_id`   INT            DEFAULT NULL              COMMENT '租户ID',
  `create_time` DATETIME       DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` DATETIME       DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`message_id`),
  KEY `idx_tenant_id` (`tenant_id`),
  KEY `idx_phone` (`phone`),
  KEY `idx_status` (`status`),
  KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='留言咨询';
