-- ============================================================
-- 共性能力平台：收录信息表 + 收藏表
-- 数据库：MySQL 8.0+  InnoDB  utf8mb4
-- 设计说明：txw-mhzc/docs/共性能力-收藏与收录-表设计说明.md (v2.0)
-- ============================================================

-- ----------------------------
-- 1. 共性能力收录信息表
-- ----------------------------
CREATE TABLE `txw_mhzc_gxnl_slxxb` (
  `wz_uuid`      VARCHAR(50)  NOT NULL COMMENT '网站信息UUID',
  `bt`           VARCHAR(200) NOT NULL COMMENT '名称（1~200字符）',
  `wz_lj`        VARCHAR(500) NOT NULL COMMENT '网站链接URL（须http或https开头）',
  `jj`           VARCHAR(40)  DEFAULT NULL COMMENT '简介（最多40字符，用户收录必填）',
  `gxnl_fl_dm`   CHAR(2)      NOT NULL COMMENT '共性能力分类代码（01碳核算 02碳认证 03碳交易 04碳金融 05碳咨询）',
  `gxnl_fl_mc`   VARCHAR(50)  DEFAULT NULL COMMENT '共性能力分类名称（服务端填充）',
  `bqjh`         VARCHAR(500) DEFAULT NULL COMMENT '标签合集（英文逗号分隔，最多10个，单标签1~20字符）',
  `zt`           CHAR(1)      NOT NULL DEFAULT '1' COMMENT '业务状态（0草稿 1待审核 2审核通过 3驳回 4已下架）',
  `sjzt`         CHAR(1)      NOT NULL DEFAULT 'N' COMMENT '上架状态（Y已上架 N未上架，仅zt=2时可Y）',
  `lyqd_dm`      VARCHAR(20)  NOT NULL DEFAULT 'user' COMMENT '来源渠道代码（admin运营 user用户收录 import导入）',
  `tjr_nc`       VARCHAR(50)  DEFAULT NULL COMMENT '提交人昵称',
  `tjr_lxdh`     VARCHAR(20)  DEFAULT NULL COMMENT '提交人联系方式（手机或座机）',
  `yh_uuid`      VARCHAR(50)  DEFAULT NULL COMMENT '提交账号UUID（登录用户，游客为空）',
  `qyuuid`       VARCHAR(50)  DEFAULT NULL COMMENT '关联企业UUID',
  `qymc`         VARCHAR(200) DEFAULT NULL COMMENT '关联企业名称冗余',
  `shyj`         VARCHAR(500) DEFAULT NULL COMMENT '当前轮次审核意见（驳回必填）',
  `shruuid`      VARCHAR(50)  DEFAULT NULL COMMENT '最后审核人UUID',
  `shsj`         DATETIME     DEFAULT NULL COMMENT '最后审核时间（Asia/Shanghai）',
  `shcs`         INT          NOT NULL DEFAULT 0 COMMENT '审核轮次',
  `shls_j`       TEXT         DEFAULT NULL COMMENT '审核历史JSON（多轮审核过渡期，见设计文档8.2）',
  `pxh`          INT          NOT NULL DEFAULT 0 COMMENT '排序号（越大越靠前）',
  `llcs`         INT          NOT NULL DEFAULT 0 COMMENT '浏览次数',
  `sccs`         INT          NOT NULL DEFAULT 0 COMMENT '有效收藏数冗余（yxbz=Y的gxscb计数）',
  `bbh`          INT          NOT NULL DEFAULT 0 COMMENT '版本号（乐观锁，更新时WHERE bbh匹配）',
  `lrruuid`      VARCHAR(50)  DEFAULT NULL COMMENT '录入人UUID（门户提交或运营录入）',
  `lrrq`         DATETIME     DEFAULT NULL COMMENT '录入时间',
  `xgruuid`      VARCHAR(50)  DEFAULT NULL COMMENT '最后修改人UUID',
  `xgrq`         DATETIME     DEFAULT NULL COMMENT '最后修改时间',
  `yxbz`         CHAR(1)      NOT NULL DEFAULT 'Y' COMMENT '有效标志（Y有效 N逻辑删除）',
  PRIMARY KEY (`wz_uuid`),
  KEY `idx_slxx_fl_sjzt_zt_lrrq` (`gxnl_fl_dm`, `sjzt`, `zt`, `lrrq`),
  KEY `idx_slxx_zt_lrrq` (`zt`, `lrrq`),
  KEY `idx_slxx_yh_lrrq` (`yh_uuid`, `lrrq`),
  KEY `idx_slxx_yxbz` (`yxbz`)
  -- 名称/简介搜索：数据量>1万且模糊查询频繁时启用下一行
  -- , FULLTEXT KEY `ft_slxx_bt_jj` (`bt`, `jj`) WITH PARSER ngram
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='共性能力收录信息表';

-- ----------------------------
-- 2. 共性能力收藏表
-- 说明：uk(yh_uuid,wz_uuid) 与软删共存——取消收藏 UPDATE yxbz=N；再次收藏 UPDATE yxbz=Y，禁止重复 INSERT
-- ----------------------------
CREATE TABLE `txw_mhzc_gxnl_gxscb` (
  `uuid`     VARCHAR(50) NOT NULL COMMENT '收藏记录UUID',
  `wz_uuid`  VARCHAR(50) NOT NULL COMMENT '网站信息UUID',
  `yh_uuid`  VARCHAR(50) NOT NULL COMMENT '用户UUID',
  `lrrq`     DATETIME    NOT NULL COMMENT '收藏时间',
  `qxrq`     DATETIME    DEFAULT NULL COMMENT '取消收藏时间',
  `yxbz`     CHAR(1)     NOT NULL DEFAULT 'Y' COMMENT '有效标志（Y已收藏 N已取消）',
  PRIMARY KEY (`uuid`),
  UNIQUE KEY `uk_gxsc_yh_wz` (`yh_uuid`, `wz_uuid`),
  KEY `idx_gxsc_yh_yxbz_lrrq` (`yh_uuid`, `yxbz`, `lrrq`),
  KEY `idx_gxsc_wz_yxbz` (`wz_uuid`, `yxbz`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='共性能力收藏表';
