钉钉回调事件处理

This commit is contained in:
geht
2026-06-09 17:52:33 +08:00
parent fd5205e33e
commit 5b8bd2797a
50 changed files with 2861 additions and 428 deletions

View File

@@ -211,6 +211,15 @@ mybatis-plus:
minidao:
base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.*
jeecg:
xslmes:
dingtalk:
stream:
# 多实例部署务必 trueRedis 选主,仅 Leader 建 Stream 长连接
cluster-mode: true
leader-renew-interval-ms: 10000
follower-retry-interval-ms: 15000
health-log-interval-ms: 60000
idle-warn-seconds: 1800
# 自定义资源请求前缀js、css等解决nginx转发问题
custom-resource-prefix-path:
# AI集成

View File

@@ -0,0 +1,5 @@
-- 审批注册中心增加列表接口路径字段用于 ResponseBodyAdvice 自动注入审批痕迹字段
ALTER TABLE mes_xsl_biz_doc_registry
ADD COLUMN list_api_path VARCHAR(500) DEFAULT NULL
COMMENT '列表接口路径(多个逗号分隔/xslmes/mesFormulaSpec/list)配置后自动注入审批痕迹字段到响应'
AFTER approve_time_field;

View File

@@ -0,0 +1,28 @@
-- 审批注册中心移除操作人/时间字段配置列
-- 操作人/时间统一由 mes_xsl_approval_trace 痕迹表承载业务表只保留状态字段
-- author: GHT date: 2026-06-09 for审批注册中心业务表只写状态操作人/时间由痕迹表承载
SET @db = DATABASE();
SET @sql = IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=@db AND TABLE_NAME='mes_xsl_biz_doc_registry' AND COLUMN_NAME='proofread_by_field')>0,
'ALTER TABLE `mes_xsl_biz_doc_registry` DROP COLUMN `proofread_by_field`','SELECT 1');
PREPARE s FROM @sql; EXECUTE s; DEALLOCATE PREPARE s;
SET @sql = IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=@db AND TABLE_NAME='mes_xsl_biz_doc_registry' AND COLUMN_NAME='proofread_time_field')>0,
'ALTER TABLE `mes_xsl_biz_doc_registry` DROP COLUMN `proofread_time_field`','SELECT 1');
PREPARE s FROM @sql; EXECUTE s; DEALLOCATE PREPARE s;
SET @sql = IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=@db AND TABLE_NAME='mes_xsl_biz_doc_registry' AND COLUMN_NAME='audit_by_field')>0,
'ALTER TABLE `mes_xsl_biz_doc_registry` DROP COLUMN `audit_by_field`','SELECT 1');
PREPARE s FROM @sql; EXECUTE s; DEALLOCATE PREPARE s;
SET @sql = IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=@db AND TABLE_NAME='mes_xsl_biz_doc_registry' AND COLUMN_NAME='audit_time_field')>0,
'ALTER TABLE `mes_xsl_biz_doc_registry` DROP COLUMN `audit_time_field`','SELECT 1');
PREPARE s FROM @sql; EXECUTE s; DEALLOCATE PREPARE s;
SET @sql = IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=@db AND TABLE_NAME='mes_xsl_biz_doc_registry' AND COLUMN_NAME='approve_by_field')>0,
'ALTER TABLE `mes_xsl_biz_doc_registry` DROP COLUMN `approve_by_field`','SELECT 1');
PREPARE s FROM @sql; EXECUTE s; DEALLOCATE PREPARE s;
SET @sql = IF((SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=@db AND TABLE_NAME='mes_xsl_biz_doc_registry' AND COLUMN_NAME='approve_time_field')>0,
'ALTER TABLE `mes_xsl_biz_doc_registry` DROP COLUMN `approve_time_field`','SELECT 1');
PREPARE s FROM @sql; EXECUTE s; DEALLOCATE PREPARE s;

View File

@@ -0,0 +1,89 @@
-- =============================================
-- 钉钉回调日志表 mes_xsl_ding_callback_log
-- =============================================
CREATE TABLE `mes_xsl_ding_callback_log` (
`id` varchar(36) NOT NULL COMMENT '主键',
`event_id` varchar(100) DEFAULT NULL COMMENT '钉钉事件ID',
`event_type` varchar(50) DEFAULT NULL COMMENT '事件类型(bpms_instance_change/bpms_task_change)',
`process_instance_id` varchar(100) DEFAULT NULL COMMENT '审批实例ID',
`raw_data` text DEFAULT NULL COMMENT '原始推送数据JSON',
`received_time` datetime DEFAULT NULL COMMENT '接收时间',
`processed` tinyint(1) DEFAULT 0 COMMENT '是否已处理集成方案(0否1是)',
`process_remark` varchar(500) DEFAULT NULL COMMENT '处理备注',
`biz_table` varchar(100) DEFAULT NULL COMMENT '关联业务表',
`biz_data_id` varchar(100) DEFAULT NULL COMMENT '关联业务记录ID',
`record_id` varchar(100) DEFAULT NULL COMMENT '关联审批台账ID',
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建日期',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL COMMENT '更新日期',
`del_flag` tinyint(1) DEFAULT 0 COMMENT '逻辑删除 0正常 1删除',
`tenant_id` int DEFAULT 0 COMMENT '租户ID',
`sys_org_code` varchar(64) DEFAULT NULL COMMENT '所属部门',
PRIMARY KEY (`id`),
KEY `idx_ding_cb_log_instance` (`process_instance_id`),
KEY `idx_ding_cb_log_event` (`event_id`),
KEY `idx_ding_cb_log_processed` (`processed`),
KEY `idx_ding_cb_log_received` (`received_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='钉钉回调日志';
-- =============================================
-- 菜单权限父节点178046026420801 MESToDing审批配置
-- =============================================
INSERT INTO `sys_permission`
(id, parent_id, name, url, component, component_name, redirect, menu_type,
perms, perms_type, sort_no, always_show, icon, is_route, is_leaf, keep_alive,
hidden, hide_tab, description, status, del_flag, rule_flag, create_by, create_time,
update_by, update_time, internal_or_external)
VALUES
-- 主菜单页面
('178098992722901', '178046026420801', '钉钉回调日志', '/xslmes/mesXslDingCallbackLogList',
'xslmes/dingCallbackLog/MesXslDingCallbackLogList', 'MesXslDingCallbackLogList',
NULL, 0, NULL, '1', 6, 0, NULL, 1, 0, 0, 0, 0, NULL, '1', 0, 0,
'admin', NOW(), NULL, NULL, 0),
-- 添加按钮
('178098992722902', '178098992722901', '添加', NULL, NULL, NULL, NULL, 2,
'xslmes:mes_xsl_ding_callback_log:add', '1', 1, 0, NULL, 1, 1, 0, 0, 0,
NULL, '1', 0, 0, 'admin', NOW(), NULL, NULL, 0),
-- 编辑按钮
('178098992722903', '178098992722901', '编辑', NULL, NULL, NULL, NULL, 2,
'xslmes:mes_xsl_ding_callback_log:edit', '1', 2, 0, NULL, 1, 1, 0, 0, 0,
NULL, '1', 0, 0, 'admin', NOW(), NULL, NULL, 0),
-- 删除按钮
('178098992722904', '178098992722901', '删除', NULL, NULL, NULL, NULL, 2,
'xslmes:mes_xsl_ding_callback_log:delete', '1', 3, 0, NULL, 1, 1, 0, 0, 0,
NULL, '1', 0, 0, 'admin', NOW(), NULL, NULL, 0),
-- 批量删除按钮
('178098992722905', '178098992722901', '批量删除', NULL, NULL, NULL, NULL, 2,
'xslmes:mes_xsl_ding_callback_log:deleteBatch', '1', 4, 0, NULL, 1, 1, 0, 0, 0,
NULL, '1', 0, 0, 'admin', NOW(), NULL, NULL, 0),
-- 导出按钮
('178098992722906', '178098992722901', '导出', NULL, NULL, NULL, NULL, 2,
'xslmes:mes_xsl_ding_callback_log:exportXls', '1', 5, 0, NULL, 1, 1, 0, 0, 0,
NULL, '1', 0, 0, 'admin', NOW(), NULL, NULL, 0),
-- 导入按钮
('178098992722907', '178098992722901', '导入', NULL, NULL, NULL, NULL, 2,
'xslmes:mes_xsl_ding_callback_log:importExcel', '1', 6, 0, NULL, 1, 1, 0, 0, 0,
NULL, '1', 0, 0, 'admin', NOW(), NULL, NULL, 0);
-- =============================================
-- admin 角色授权角色ID: f6817f48af4fb3af11b9e8bf182f618b
-- =============================================
INSERT INTO `sys_role_permission` (id, role_id, permission_id, data_rule_ids)
VALUES
(REPLACE(UUID(),'-',''), 'f6817f48af4fb3af11b9e8bf182f618b', '178098992722901', NULL),
(REPLACE(UUID(),'-',''), 'f6817f48af4fb3af11b9e8bf182f618b', '178098992722902', NULL),
(REPLACE(UUID(),'-',''), 'f6817f48af4fb3af11b9e8bf182f618b', '178098992722903', NULL),
(REPLACE(UUID(),'-',''), 'f6817f48af4fb3af11b9e8bf182f618b', '178098992722904', NULL),
(REPLACE(UUID(),'-',''), 'f6817f48af4fb3af11b9e8bf182f618b', '178098992722905', NULL),
(REPLACE(UUID(),'-',''), 'f6817f48af4fb3af11b9e8bf182f618b', '178098992722906', NULL),
(REPLACE(UUID(),'-',''), 'f6817f48af4fb3af11b9e8bf182f618b', '178098992722907', NULL);