SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- APP协议管理表
-- ----------------------------
CREATE TABLE IF NOT EXISTS `system_agreement` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '协议ID',
  `agreement_id` varchar(64) NOT NULL COMMENT '协议编号',
  `name` varchar(100) NOT NULL COMMENT '协议名称',
  `type` varchar(50) NOT NULL COMMENT '协议类型：privacy-隐私政策，user-用户协议，service-服务协议',
  `version` varchar(20) NOT NULL DEFAULT '1.0.0' COMMENT '版本号',
  `content` longtext NOT NULL COMMENT '协议内容',
  `status` tinyint NOT NULL DEFAULT 0 COMMENT '状态：0-启用，1-禁用',
  `creator` varchar(64) DEFAULT '' COMMENT '创建者',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` varchar(64) DEFAULT '' COMMENT '更新者',
  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_agreement_id` (`agreement_id`),
  KEY `idx_type` (`type`),
  KEY `idx_status` (`status`),
  KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='APP协议管理表';

-- ----------------------------
-- 服务消息表
-- ----------------------------
CREATE TABLE IF NOT EXISTS `service_message` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '消息ID',
  `message_type` varchar(50) NOT NULL COMMENT '消息类型：notice-通知，announcement-公告，reminder-提醒',
  `title` varchar(200) NOT NULL COMMENT '消息标题',
  `content` text NOT NULL COMMENT '消息内容',
  `target_type` varchar(20) COMMENT '目标类型：all-全部用户，user-指定用户，group-用户组',
  `target_ids` text COMMENT '目标ID列表（JSON数组）',
  `send_time` datetime COMMENT '发送时间',
  `status` tinyint NOT NULL DEFAULT 0 COMMENT '状态：0-草稿，1-已发送',
  `creator` varchar(64) DEFAULT '' COMMENT '创建者',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` varchar(64) DEFAULT '' COMMENT '更新者',
  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`),
  KEY `idx_message_type` (`message_type`),
  KEY `idx_status` (`status`),
  KEY `idx_send_time` (`send_time`),
  KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='服务消息表';

SET FOREIGN_KEY_CHECKS = 1;

