liu
9 小时以前 5d34bdd3c426bb2ca5f6627424ae67984f745603
docs/sql/wxcp_module.sql
@@ -3,9 +3,11 @@
-- 目标库:mom-jssm(36.213.150.237:10000)
-- 说明:项目不使用多租户,因此不含 tenant_id 字段
--
-- 活动封面、报名提交的图片/附件都不落本模块的表:
-- 活动封面、详情图片、报名提交的图片/附件都不落本模块的表:
-- 统一走 system_storage_attachment 中间表,
-- 活动封面 record_type = 'wxcp_activity',报名附件 record_type = 'wxcp_activity_signup'
-- 活动封面 record_type = 'wxcp_activity',活动详情图片 record_type = 'wxcp_activity_detail',
-- 图片通知 record_type = 'wxcp_activity_image',附件通知 record_type = 'wxcp_activity_file',
-- 报名附件 record_type = 'wxcp_activity_signup'
-- ============================================================
-- ----------------------------
@@ -14,7 +16,12 @@
CREATE TABLE IF NOT EXISTS `wxcp_activity` (
  `id`                 bigint       NOT NULL AUTO_INCREMENT                COMMENT '编号',
  `title`              varchar(128) NOT NULL                               COMMENT '活动标题',
  `activity_type`      tinyint      NOT NULL DEFAULT 5                     COMMENT '活动模板:1纯通知 2单条消息 3图片通知 4附件通知 5数据采集/评价',
  `content`            text                                                COMMENT '活动详情',
  `button_text`        varchar(32)           DEFAULT NULL                  COMMENT '卡片按钮文案',
  `rating_enabled`     bit(1)       NOT NULL DEFAULT b'0'                  COMMENT '是否开启评价',
  `rating_title`       varchar(128)          DEFAULT NULL                  COMMENT '评价标题',
  `rating_max`         int          NOT NULL DEFAULT 5                     COMMENT '评价最高星级',
  `location`           varchar(255)          DEFAULT ''                   COMMENT '活动地点',
  `start_time`         datetime              DEFAULT NULL                 COMMENT '活动开始时间',
  `end_time`           datetime              DEFAULT NULL                 COMMENT '活动结束时间',
@@ -51,6 +58,7 @@
  `mobile`        varchar(32)           DEFAULT ''                        COMMENT '手机号',
  `dept_name`     varchar(255)          DEFAULT ''                        COMMENT '部门名称',
  `content`       text                                                    COMMENT '参与说明(成员提交的文字内容)',
  `rating_score`  int                   DEFAULT NULL                      COMMENT '评价星级',
  `status`        tinyint      NOT NULL DEFAULT 0                         COMMENT '状态:0已报名 1已取消 2已签到',
  `signup_time`   datetime     NOT NULL DEFAULT CURRENT_TIMESTAMP         COMMENT '报名时间',
  `check_in_time` datetime              DEFAULT NULL                      COMMENT '签到时间',
@@ -72,6 +80,13 @@
  `id`            bigint       NOT NULL AUTO_INCREMENT                    COMMENT '编号',
  `title`         varchar(128) NOT NULL                                   COMMENT '通知标题',
  `content`       text                                                    COMMENT '通知正文',
  `notice_type`   tinyint      NOT NULL DEFAULT 1                         COMMENT '通知模板:1纯文本 2图文卡片(填报/链接) 3文件通知 4图文消息',
  `summary`       varchar(512)          DEFAULT NULL                      COMMENT '摘要(图文卡片/图文消息)',
  `link_url`      varchar(1024)         DEFAULT NULL                      COMMENT '跳转链接(填报/详情)',
  `link_btn_text` varchar(32)           DEFAULT NULL                      COMMENT '链接按钮文案',
  `cover_url`     varchar(1024)         DEFAULT NULL                      COMMENT '图文消息封面图地址',
  `file_blob_id`  bigint                DEFAULT NULL                      COMMENT '文件通知的附件 Blob ID',
  `file_name`     varchar(255)          DEFAULT NULL                      COMMENT '文件通知的附件文件名',
  `status`        tinyint      NOT NULL DEFAULT 0                         COMMENT '状态:0草稿 1已发布 2已撤回',
  `push_scope`    tinyint      NOT NULL DEFAULT 0                         COMMENT '推送范围:0全员 1指定部门 2指定成员',
  `push_target`   varchar(1024)         DEFAULT ''                        COMMENT '推送目标:部门ID或成员账号,多个用逗号分隔',
@@ -100,3 +115,51 @@
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
-- ============================================================
-- 活动自定义采集字段(数据采集/评价模板使用)
-- ============================================================
CREATE TABLE IF NOT EXISTS `wxcp_activity_field` (
  `id`            bigint       NOT NULL AUTO_INCREMENT                    COMMENT '编号',
  `activity_id`   bigint       NOT NULL                                   COMMENT '活动编号',
  `field_label`   varchar(128) NOT NULL                                   COMMENT '字段名称',
  `field_type`    varchar(32)  NOT NULL DEFAULT 'text'                    COMMENT '字段类型:text/textarea/number/date/select/radio/checkbox/rating',
  `field_options` varchar(1000)         DEFAULT NULL                      COMMENT '选项,多个用英文逗号分隔',
  `required`      bit(1)       NOT NULL DEFAULT b'0'                      COMMENT '是否必填',
  `placeholder`   varchar(255)          DEFAULT NULL                      COMMENT '输入提示',
  `sort_no`       int          NOT NULL DEFAULT 0                         COMMENT '排序号',
  `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         COMMENT '更新时间',
  `deleted`       bit(1)       NOT NULL DEFAULT b'0'                      COMMENT '是否删除',
  PRIMARY KEY (`id`),
  KEY `idx_activity_id` (`activity_id`)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = '企业微信活动采集字段';
-- ============================================================
-- 报名采集值
-- ============================================================
CREATE TABLE IF NOT EXISTS `wxcp_activity_signup_value` (
  `id`           bigint        NOT NULL AUTO_INCREMENT                    COMMENT '编号',
  `signup_id`    bigint        NOT NULL                                   COMMENT '报名记录编号',
  `activity_id`  bigint        NOT NULL                                   COMMENT '活动编号',
  `field_id`     bigint        NOT NULL                                   COMMENT '字段编号',
  `field_label`  varchar(128)  NOT NULL                                   COMMENT '字段名称(快照)',
  `field_type`   varchar(32)            DEFAULT NULL                      COMMENT '字段类型(快照)',
  `field_value`  varchar(2000)          DEFAULT NULL                      COMMENT '字段值,多选用英文逗号分隔',
  `sort_no`      int           NOT NULL DEFAULT 0                         COMMENT '排序号',
  `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         COMMENT '更新时间',
  `deleted`      bit(1)        NOT NULL DEFAULT b'0'                      COMMENT '是否删除',
  PRIMARY KEY (`id`),
  KEY `idx_signup_id` (`signup_id`),
  KEY `idx_activity_id` (`activity_id`)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = '企业微信活动报名采集值';
-- ============================================================
-- 升级脚本:活动多模板字段(已建库环境执行,新库无需执行)
-- 具体见 docs/sql/wxcp_activity_templates_20261021.sql
-- ============================================================