201 lines
11 KiB
Java
201 lines
11 KiB
Java
-- =====================================================
|
||
-- 急救宣教资源管理 — 线上部署 SQL(达梦 DM8)
|
||
-- 包含:分类/标签、资源、用户行为、版本历史、审核记录、推送记录
|
||
-- 日期: 2026-06-25
|
||
-- =====================================================
|
||
|
||
-- 1. 资源分类/标签统一表
|
||
-- TYPE: 1=分类(树形), 2=标签(扁平)
|
||
CREATE TABLE "QH_EME_FIR_AID_RES_CATE" (
|
||
"ID" VARCHAR2(32) NOT NULL,
|
||
"NAME" VARCHAR2(100) NOT NULL,
|
||
"TYPE" NUMBER(1) DEFAULT 1 NOT NULL,
|
||
"PARENT_ID" VARCHAR2(32),
|
||
"DESCRIPTION" VARCHAR2(500),
|
||
"SORT_NO" NUMBER(10) DEFAULT 0,
|
||
"STATUS" NUMBER(1) DEFAULT 1,
|
||
"CREATE_BY" VARCHAR2(50),
|
||
"CREATE_TIME" TIMESTAMP,
|
||
"UPDATE_BY" VARCHAR2(50),
|
||
"UPDATE_TIME" TIMESTAMP,
|
||
"DEL_FLAG" NUMBER(1) DEFAULT 0,
|
||
"MEMO" VARCHAR2(500),
|
||
PRIMARY KEY ("ID")
|
||
);
|
||
COMMENT ON TABLE "QH_EME_FIR_AID_RES_CATE" IS '急救宣教资源分类/标签';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES_CATE"."ID" IS '主键';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES_CATE"."NAME" IS '名称';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES_CATE"."TYPE" IS '类型:1=分类,2=标签';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES_CATE"."PARENT_ID" IS '父分类ID(根分类为NULL,标签指向所属分类ID)';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES_CATE"."DESCRIPTION" IS '描述';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES_CATE"."SORT_NO" IS '排序号';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES_CATE"."STATUS" IS '状态(1=正常,2=冻结)';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES_CATE"."DEL_FLAG" IS '删除标记(0=正常,1=已删除)';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES_CATE"."MEMO" IS '备注';
|
||
CREATE INDEX "IDX_FA_CATEGORY_TYPE" ON "QH_EME_FIR_AID_RES_CATE"("TYPE");
|
||
CREATE INDEX "IDX_FA_CATEGORY_PARENT_ID" ON "QH_EME_FIR_AID_RES_CATE"("PARENT_ID");
|
||
|
||
-- 2. 资源表
|
||
CREATE TABLE "QH_EME_FIR_AID_RES" (
|
||
"ID" VARCHAR2(32) NOT NULL,
|
||
"TITLE" VARCHAR2(200) NOT NULL,
|
||
"SUMMARY" VARCHAR2(500),
|
||
"CONTENT_TYPE" VARCHAR2(32),
|
||
"CATEGORY_ID" VARCHAR2(32),
|
||
"APPLICABLE_SCENARIO" VARCHAR2(500),
|
||
"TAGS" VARCHAR2(2000),
|
||
"CONTENT" CLOB,
|
||
"COVER_IMAGE" VARCHAR2(500),
|
||
"FILE_URL" CLOB,
|
||
"EFFECTIVE_TIME" TIMESTAMP,
|
||
"EXPIRY_TIME" TIMESTAMP,
|
||
"AUDIT_STATUS" NUMBER(2),
|
||
"AUDIT_REJECT_REASON" VARCHAR2(500),
|
||
"AUDIT_BY" VARCHAR2(50),
|
||
"AUDIT_BY_ID" VARCHAR2(32),
|
||
"AUDIT_TIME" TIMESTAMP,
|
||
"VIEW_COUNT" NUMBER(10) DEFAULT 0,
|
||
"FAVORITE_COUNT" NUMBER(10) DEFAULT 0,
|
||
"STATUS" NUMBER(1) DEFAULT 0,
|
||
"CREATE_BY" VARCHAR2(50),
|
||
"CREATE_TIME" TIMESTAMP,
|
||
"UPDATE_BY" VARCHAR2(50),
|
||
"UPDATE_TIME" TIMESTAMP,
|
||
"DEL_FLAG" NUMBER(1) DEFAULT 0,
|
||
"MEMO" VARCHAR2(500),
|
||
PRIMARY KEY ("ID")
|
||
);
|
||
COMMENT ON TABLE "QH_EME_FIR_AID_RES" IS '急救宣教资源';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."ID" IS '主键';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."TITLE" IS '标题';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."SUMMARY" IS '摘要/简介';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."CONTENT_TYPE" IS '内容类型:IMAGE_TEXT=图文/VIDEO=视频/AUDIO=音频/PDF';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."CATEGORY_ID" IS '所属分类ID';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."APPLICABLE_SCENARIO" IS '适用场景';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."TAGS" IS '标签ID列表(逗号分隔)';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."CONTENT" IS '正文内容(富文本HTML)';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."COVER_IMAGE" IS '封面图URL';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."FILE_URL" IS '附件URL列表(JSON数组)';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."EFFECTIVE_TIME" IS '生效时间';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."EXPIRY_TIME" IS '失效时间';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."AUDIT_STATUS" IS '审核状态(NULL=无审核/10=待审核/11=已通过/12=已驳回)';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."AUDIT_REJECT_REASON" IS '驳回原因';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."AUDIT_BY" IS '审核人';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."AUDIT_BY_ID" IS '审核人ID';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."AUDIT_TIME" IS '审核时间';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."VIEW_COUNT" IS '浏览次数';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."FAVORITE_COUNT" IS '收藏次数';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."STATUS" IS '发布状态(0=草稿,1=已发布,2=已下架)';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."DEL_FLAG" IS '删除标记(0=正常,1=已删除)';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES"."MEMO" IS '备注';
|
||
CREATE INDEX "IDX_FA_RESOURCE_CATEGORY_ID" ON "QH_EME_FIR_AID_RES"("CATEGORY_ID");
|
||
CREATE INDEX "IDX_FA_RESOURCE_AUDIT_STATUS" ON "QH_EME_FIR_AID_RES"("AUDIT_STATUS");
|
||
CREATE INDEX "IDX_FA_RESOURCE_EFFECTIVE_TIME" ON "QH_EME_FIR_AID_RES"("EFFECTIVE_TIME");
|
||
|
||
-- 3. 用户行为记录表(阅读+收藏)
|
||
CREATE TABLE "QH_EME_FIR_AID_RES_UACT" (
|
||
"ID" VARCHAR2(32) NOT NULL,
|
||
"RESOURCE_ID" VARCHAR2(32) NOT NULL,
|
||
"USER_ID" VARCHAR2(50) NOT NULL,
|
||
"TYPE" NUMBER(1) NOT NULL,
|
||
"CREATE_TIME" TIMESTAMP,
|
||
PRIMARY KEY ("ID")
|
||
);
|
||
COMMENT ON TABLE "QH_EME_FIR_AID_RES_UACT" IS '用户行为记录(阅读/收藏)';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES_UACT"."ID" IS '主键';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES_UACT"."RESOURCE_ID" IS '资源ID';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES_UACT"."USER_ID" IS '用户ID';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES_UACT"."TYPE" IS '行为类型:1=阅读,2=收藏';
|
||
CREATE UNIQUE INDEX "UK_FA_USER_ACTION" ON "QH_EME_FIR_AID_RES_UACT"("RESOURCE_ID", "USER_ID", "TYPE");
|
||
CREATE INDEX "IDX_FA_USER_ACTION_USER_TYPE" ON "QH_EME_FIR_AID_RES_UACT"("USER_ID", "TYPE");
|
||
|
||
-- 4. 版本历史表
|
||
CREATE TABLE "QH_EME_FIR_AID_RES_VER" (
|
||
"ID" VARCHAR2(32) NOT NULL,
|
||
"RESOURCE_ID" VARCHAR2(32) NOT NULL,
|
||
"VERSION_NO" NUMBER(10) NOT NULL,
|
||
"TITLE" VARCHAR2(200),
|
||
"CONTENT" CLOB,
|
||
"CHANGE_DESCRIPTION" VARCHAR2(500),
|
||
"IS_CURRENT" NUMBER(1) DEFAULT 0,
|
||
"CREATE_BY" VARCHAR2(50),
|
||
"CREATE_TIME" TIMESTAMP,
|
||
PRIMARY KEY ("ID")
|
||
);
|
||
COMMENT ON TABLE "QH_EME_FIR_AID_RES_VER" IS '资源版本历史';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES_VER"."ID" IS '主键';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES_VER"."RESOURCE_ID" IS '资源ID';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES_VER"."VERSION_NO" IS '版本号';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES_VER"."TITLE" IS '版本时的标题';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES_VER"."CONTENT" IS '版本时的正文内容';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES_VER"."CHANGE_DESCRIPTION" IS '变更描述';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES_VER"."IS_CURRENT" IS '是否当前版本(1=是,0=否)';
|
||
CREATE INDEX "IDX_FA_VERSION_RESOURCE_ID" ON "QH_EME_FIR_AID_RES_VER"("RESOURCE_ID");
|
||
|
||
-- 5. 审核记录表
|
||
CREATE TABLE "QH_EME_FIR_AID_RES_AUD" (
|
||
"ID" VARCHAR2(32) NOT NULL,
|
||
"RESOURCE_ID" VARCHAR2(32) NOT NULL,
|
||
"AUDIT_STATUS" NUMBER(2),
|
||
"AUDIT_REJECT_REASON" VARCHAR2(500),
|
||
"AUDIT_BY" VARCHAR2(50),
|
||
"AUDIT_BY_ID" VARCHAR2(32),
|
||
"AUDIT_TIME" TIMESTAMP,
|
||
"CREATE_TIME" TIMESTAMP DEFAULT SYSDATE,
|
||
PRIMARY KEY ("ID")
|
||
);
|
||
COMMENT ON TABLE "QH_EME_FIR_AID_RES_AUD" IS '急救宣教资源审核记录';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES_AUD"."ID" IS '主键';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES_AUD"."RESOURCE_ID" IS '关联资源ID';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES_AUD"."AUDIT_STATUS" IS '审核状态:10=待审核,11=已通过,12=已驳回';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES_AUD"."AUDIT_REJECT_REASON" IS '驳回原因';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES_AUD"."AUDIT_BY" IS '审核人';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES_AUD"."AUDIT_BY_ID" IS '审核人ID';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES_AUD"."AUDIT_TIME" IS '审核时间';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_RES_AUD"."CREATE_TIME" IS '创建时间';
|
||
CREATE INDEX "IDX_FA_AUDIT_RESOURCE_ID" ON "QH_EME_FIR_AID_RES_AUD"("RESOURCE_ID");
|
||
|
||
-- 6. 推送记录表
|
||
CREATE TABLE "QH_EME_FIR_AID_PUSH_RD" (
|
||
"ID" VARCHAR2(32) NOT NULL,
|
||
"RESOURCE_ID" VARCHAR2(32) NOT NULL,
|
||
"RESOURCE_TITLE" VARCHAR2(200) DEFAULT NULL,
|
||
"ORDER_ID" VARCHAR2(32) NOT NULL,
|
||
"TARGET_USER_ID" VARCHAR2(32) DEFAULT NULL,
|
||
"PUSH_BY" VARCHAR2(50) DEFAULT NULL,
|
||
"PUSH_BY_ID" VARCHAR2(32) DEFAULT NULL,
|
||
"PUSH_TIME" TIMESTAMP DEFAULT NULL,
|
||
"TENANT_ID" VARCHAR2(32) DEFAULT NULL,
|
||
PRIMARY KEY ("ID"),
|
||
CONSTRAINT "UK_ORDER_RESOURCE" UNIQUE ("ORDER_ID", "RESOURCE_ID")
|
||
);
|
||
COMMENT ON TABLE "QH_EME_FIR_AID_PUSH_RD" IS '急救宣教推送记录表';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_PUSH_RD"."ID" IS '主键';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_PUSH_RD"."RESOURCE_ID" IS '资源ID';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_PUSH_RD"."RESOURCE_TITLE" IS '资源标题(冗余)';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_PUSH_RD"."ORDER_ID" IS '关联应急工单ID';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_PUSH_RD"."TARGET_USER_ID" IS '推送目标用户ID';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_PUSH_RD"."PUSH_BY" IS '推送人';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_PUSH_RD"."PUSH_BY_ID" IS '推送人ID';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_PUSH_RD"."PUSH_TIME" IS '推送时间';
|
||
COMMENT ON COLUMN "QH_EME_FIR_AID_PUSH_RD"."TENANT_ID" IS '租户ID';
|
||
CREATE INDEX "IDX_FA_PUSH_RECORD_ORDER_ID" ON "QH_EME_FIR_AID_PUSH_RD"("ORDER_ID");
|
||
|
||
-- 7. 字典数据
|
||
-- 7.1 内容类型
|
||
INSERT INTO "QH_SYS_DICT" ("ID", "TYPE", "DICT_NAME", "DICT_CODE", "DESCRIPTION", "DEL_FLAG", "TENANT_ID", "LOW_APP_ID", "CREATE_BY", "CREATE_TIME", "UPDATE_BY", "UPDATE_TIME")
|
||
VALUES ('1589123456789100001', 0, '内容类型', 'first_aid_content_type', '急救宣教资源内容类型', 0, 0, NULL, 'admin', SYSDATE, 'admin', SYSDATE);
|
||
|
||
INSERT INTO "QH_SYS_DICT_ITEM" ("ID", "DICT_ID", "ITEM_TEXT", "ITEM_VALUE", "DESCRIPTION", "SORT_ORDER", "STATUS", "CREATE_BY", "CREATE_TIME", "UPDATE_BY", "UPDATE_TIME") VALUES
|
||
('1589123456789100011', '1589123456789100001', '图文', 'IMAGE_TEXT', '图文内容', 1, 1, 'admin', SYSDATE, 'admin', SYSDATE);
|
||
|
||
INSERT INTO "QH_SYS_DICT_ITEM" ("ID", "DICT_ID", "ITEM_TEXT", "ITEM_VALUE", "DESCRIPTION", "SORT_ORDER", "STATUS", "CREATE_BY", "CREATE_TIME", "UPDATE_BY", "UPDATE_TIME") VALUES
|
||
('1589123456789100012', '1589123456789100001', '视频', 'VIDEO', '视频内容', 2, 1, 'admin', SYSDATE, 'admin', SYSDATE);
|
||
|
||
INSERT INTO "QH_SYS_DICT_ITEM" ("ID", "DICT_ID", "ITEM_TEXT", "ITEM_VALUE", "DESCRIPTION", "SORT_ORDER", "STATUS", "CREATE_BY", "CREATE_TIME", "UPDATE_BY", "UPDATE_TIME") VALUES
|
||
('1589123456789100013', '1589123456789100001', '音频', 'AUDIO', '音频内容', 3, 1, 'admin', SYSDATE, 'admin', SYSDATE);
|
||
|
||
INSERT INTO "QH_SYS_DICT_ITEM" ("ID", "DICT_ID", "ITEM_TEXT", "ITEM_VALUE", "DESCRIPTION", "SORT_ORDER", "STATUS", "CREATE_BY", "CREATE_TIME", "UPDATE_BY", "UPDATE_TIME") VALUES
|
||
('1589123456789100014', '1589123456789100001', 'PDF', 'PDF', 'PDF文档', 4, 1, 'admin', SYSDATE, 'admin', SYSDATE);
|
||
|