-- ----------------------------
-- 多租户系统数据库表
-- ----------------------------

-- 租户表
DROP TABLE IF EXISTS `sys_tenant`;
CREATE TABLE `sys_tenant` (
  `tenant_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '租户ID',
  `tenant_name` varchar(100) NOT NULL COMMENT '租户名称（商家名称）',
  `contact_name` varchar(50) DEFAULT NULL COMMENT '联系人',
  `phone` varchar(20) DEFAULT NULL COMMENT '联系电话',
  `email` varchar(100) DEFAULT NULL COMMENT '联系邮箱',
  `logo` varchar(255) DEFAULT NULL COMMENT '商家Logo',
  `status` char(1) DEFAULT '0' COMMENT '状态（0正常 1停用）',
  `package_id` bigint(20) DEFAULT NULL COMMENT '套餐ID',
  `expire_time` datetime DEFAULT NULL COMMENT '过期时间',
  `deposit_amount` decimal(10,2) DEFAULT 0.00 COMMENT '押金金额',
  `remark` varchar(500) DEFAULT NULL COMMENT '备注',
  `del_flag` char(1) DEFAULT '0' COMMENT '删除标志（0存在 2删除）',
  `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`tenant_id`),
  KEY `idx_tenant_name` (`tenant_name`),
  KEY `idx_status` (`status`)
) ENGINE=InnoDB AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4 COMMENT='租户信息表';

-- 租户支付配置表
DROP TABLE IF EXISTS `tenant_pay_config`;
CREATE TABLE `tenant_pay_config` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '配置ID',
  `tenant_id` bigint(20) NOT NULL COMMENT '租户ID',
  `pay_type` varchar(20) NOT NULL COMMENT '支付类型（wechat-微信支付 alipay-支付宝）',
  `app_id` varchar(100) DEFAULT NULL COMMENT '应用ID',
  `mch_id` varchar(50) DEFAULT NULL COMMENT '商户号',
  `api_key` varchar(200) DEFAULT NULL COMMENT 'API密钥',
  `cert_path` varchar(255) DEFAULT NULL COMMENT '证书路径',
  `notify_url` varchar(255) DEFAULT NULL COMMENT '回调地址',
  `status` char(1) DEFAULT '0' COMMENT '状态（0正常 1停用）',
  `remark` varchar(500) 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 '更新时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_tenant_pay_type` (`tenant_id`, `pay_type`),
  KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='租户支付配置表';

-- 插入测试租户数据
INSERT INTO `sys_tenant` VALUES (1000, '测试商家A', '张三', '13800138000', 'zhangsan@example.com', NULL, '0', NULL, '2025-12-31 23:59:59', 0.00, '测试租户A', '0', 'admin', SYSDATE(), '', NULL);
INSERT INTO `sys_tenant` VALUES (1001, '测试商家B', '李四', '13900139000', 'lisi@example.com', NULL, '0', NULL, '2025-12-31 23:59:59', 0.00, '测试租户B', '0', 'admin', SYSDATE(), '', NULL);
