Files
junhong_cmp_fiber/migrations/000187_add_wecom_approval_submission.up.sql
break 73f5125d3d
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 8m26s
七月迭代短暂完结,还有很多后端的关键东西没有弄,这是一版赶时间做的东西
2026-07-25 17:06:58 +08:00

44 lines
2.7 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- 增加应用默认审批发起人,并创建企微审批渠道上下文。
ALTER TABLE tb_wecom_application
ADD COLUMN IF NOT EXISTS default_creator_userid varchar(64) NOT NULL DEFAULT '',
ADD COLUMN IF NOT EXISTS default_creator_name varchar(100) NOT NULL DEFAULT '';
CREATE TABLE IF NOT EXISTS tb_wecom_approval_context (
id bigserial PRIMARY KEY,
approval_instance_id bigint NOT NULL,
application_id bigint NOT NULL,
business_type varchar(64) NOT NULL,
template_id varchar(128) NOT NULL,
creator_userid varchar(64) NOT NULL,
creator_name varchar(100) NOT NULL,
creator_source varchar(16) NOT NULL,
control_mapping jsonb NOT NULL,
template_snapshot jsonb NOT NULL,
template_fingerprint char(64) NOT NULL,
submission_status integer NOT NULL DEFAULT 0,
sp_no varchar(128) NOT NULL DEFAULT '',
last_error varchar(500) NOT NULL DEFAULT '',
created_at timestamptz NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at timestamptz NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT uq_wecom_approval_context_instance UNIQUE (approval_instance_id),
CONSTRAINT chk_wecom_approval_context_instance CHECK (approval_instance_id > 0),
CONSTRAINT chk_wecom_approval_context_application CHECK (application_id > 0),
CONSTRAINT chk_wecom_approval_context_creator CHECK (length(btrim(creator_userid)) > 0),
CONSTRAINT chk_wecom_approval_context_creator_source CHECK (creator_source IN ('bound', 'default')),
CONSTRAINT chk_wecom_approval_context_submission_status CHECK (submission_status IN (0, 1, 2, 3, 4)),
CONSTRAINT chk_wecom_approval_context_mapping CHECK (jsonb_typeof(control_mapping) = 'array'),
CONSTRAINT chk_wecom_approval_context_template CHECK (jsonb_typeof(template_snapshot) = 'object')
);
CREATE UNIQUE INDEX IF NOT EXISTS uq_wecom_approval_context_sp_no
ON tb_wecom_approval_context (sp_no) WHERE sp_no <> '';
CREATE INDEX IF NOT EXISTS idx_wecom_approval_context_recovery
ON tb_wecom_approval_context (submission_status, updated_at, id);
COMMENT ON COLUMN tb_wecom_application.default_creator_userid IS '代理等非企微账号提交业务时使用的默认企微审批发起人 userid';
COMMENT ON COLUMN tb_wecom_application.default_creator_name IS '默认企微审批发起人姓名快照';
COMMENT ON TABLE tb_wecom_approval_context IS '通用审批实例对应的企业微信提交安全快照与提交结果';
COMMENT ON COLUMN tb_wecom_approval_context.creator_source IS '企微发起人来源bound 系统账号绑定default 应用默认发起人';
COMMENT ON COLUMN tb_wecom_approval_context.submission_status IS '提交状态0待提交1请求处理中2已提交3明确失败4结果未知';