Compare commits
50 Commits
fd2dc0e033
...
8ce0a52046
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8ce0a52046 | ||
|
|
da77f92523 | ||
|
|
4d997d9b86 | ||
|
|
f1bafb98f6 | ||
|
|
47e2529b2b | ||
|
|
5f43006ee2 | ||
|
|
1a5959a7e1 | ||
|
|
351e4ab1ae | ||
|
|
634a84f8b8 | ||
|
|
edb1a0f8ed | ||
|
|
7a8291992c | ||
|
|
b689dd7741 | ||
|
|
1a9e602ce7 | ||
|
|
8a27141edc | ||
|
|
c4aff51c36 | ||
|
|
34bfe041e8 | ||
|
|
394e6b6bbb | ||
|
|
2e47c66fda | ||
|
|
42c01dc0a4 | ||
|
|
399875bc77 | ||
|
|
bcdba608c7 | ||
|
|
860f13914d | ||
|
|
24352b34db | ||
|
|
df2b0f52e3 | ||
|
|
61d85988fc | ||
|
|
6b3bc5d18e | ||
|
|
5f55c90e1b | ||
|
|
b94fcd17ac | ||
|
|
c8cc9a9cb4 | ||
|
|
2b2460a143 | ||
|
|
ee4645dce3 | ||
|
|
4da9bd6cc5 | ||
|
|
687d392392 | ||
|
|
c852d9f111 | ||
|
|
cabd6e3297 | ||
|
|
2af0f178dc | ||
|
|
f91d2d05e8 | ||
|
|
947e1cc891 | ||
|
|
e2a3280b70 | ||
|
|
9f622d460f | ||
|
|
0fd7756d17 | ||
|
|
891bfad529 | ||
|
|
958ae5a519 | ||
|
|
b02ed67fa4 | ||
|
|
9e98fa8c23 | ||
|
|
d7a6be298d | ||
|
|
b2d29a1423 | ||
|
|
58df702cef | ||
|
|
d15dabfeac | ||
|
|
396b26225f |
514
docs/iWork用印流程集成开发文档.md
Normal file
514
docs/iWork用印流程集成开发文档.md
Normal file
File diff suppressed because it is too large
Load Diff
23
pom.xml
23
pom.xml
@@ -4,28 +4,19 @@
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.zt.plat</groupId>
|
||||
<artifactId>zt</artifactId>
|
||||
<artifactId>zt-dsc</artifactId>
|
||||
<version>${revision}</version>
|
||||
<packaging>pom</packaging>
|
||||
<modules>
|
||||
<module>zt-dependencies</module>
|
||||
<module>zt-gateway</module>
|
||||
<module>zt-framework</module>
|
||||
<!-- Server 主项目 -->
|
||||
<!-- <module>zt-server</module>-->
|
||||
<!-- 各种 module 拓展 -->
|
||||
<module>zt-framework-dsc</module>
|
||||
<module>zt-module-system</module>
|
||||
<module>zt-module-infra</module>
|
||||
<!-- <module>zt-module-bpm</module>-->
|
||||
<module>zt-module-bpm</module>
|
||||
<module>zt-module-report</module>
|
||||
<!--<module>zt-module-mp</module>-->
|
||||
<!-- <module>zt-module-ai</module>-->
|
||||
<module>zt-module-template</module>
|
||||
<!-- <module>zt-module-iot</module>-->
|
||||
<module>zt-module-databus</module>
|
||||
<!-- <module>zt-module-rule</module>-->
|
||||
<!-- <module>zt-module-html2pdf</module>-->
|
||||
<!-- <module>zt-server</module>-->
|
||||
<module>zt-server</module>
|
||||
</modules>
|
||||
|
||||
<name>${project.artifactId}</name>
|
||||
@@ -57,6 +48,12 @@
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.zt.plat</groupId>
|
||||
<artifactId>zt-common-dsc</artifactId>
|
||||
<version>${revision}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
|
||||
53
sql/dm/iwork_workflow_log_20260130.sql
Normal file
53
sql/dm/iwork_workflow_log_20260130.sql
Normal file
@@ -0,0 +1,53 @@
|
||||
-- iWork 流程日志表(达梦数据库)
|
||||
-- 合并了流程创建日志和回调日志
|
||||
CREATE TABLE system_iwork_workflow_log (
|
||||
id BIGINT NOT NULL,
|
||||
request_id VARCHAR(128) NOT NULL,
|
||||
workflow_id BIGINT,
|
||||
business_code VARCHAR(128),
|
||||
biz_callback_key VARCHAR(255),
|
||||
raw_request VARCHAR(2000),
|
||||
status VARCHAR(32),
|
||||
callback_status INTEGER,
|
||||
retry_count INTEGER DEFAULT 0,
|
||||
max_retry INTEGER,
|
||||
last_error_message VARCHAR(512),
|
||||
raw_callback VARCHAR(2000),
|
||||
last_callback_time TIMESTAMP,
|
||||
creator VARCHAR(64) DEFAULT '',
|
||||
create_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
updater VARCHAR(64) DEFAULT '',
|
||||
update_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
deleted SMALLINT NOT NULL DEFAULT 0,
|
||||
tenant_id BIGINT NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY (id)
|
||||
);
|
||||
|
||||
-- 添加注释
|
||||
COMMENT ON TABLE system_iwork_workflow_log IS 'iWork 流程日志';
|
||||
COMMENT ON COLUMN system_iwork_workflow_log.id IS '主键';
|
||||
COMMENT ON COLUMN system_iwork_workflow_log.request_id IS 'iWork 请求编号';
|
||||
COMMENT ON COLUMN system_iwork_workflow_log.workflow_id IS '流程模板 ID';
|
||||
COMMENT ON COLUMN system_iwork_workflow_log.business_code IS '业务编码';
|
||||
COMMENT ON COLUMN system_iwork_workflow_log.biz_callback_key IS '业务回调标识';
|
||||
COMMENT ON COLUMN system_iwork_workflow_log.raw_request IS '创建请求原文';
|
||||
COMMENT ON COLUMN system_iwork_workflow_log.status IS '流程状态';
|
||||
COMMENT ON COLUMN system_iwork_workflow_log.callback_status IS '回调处理状态';
|
||||
COMMENT ON COLUMN system_iwork_workflow_log.retry_count IS '已重试次数';
|
||||
COMMENT ON COLUMN system_iwork_workflow_log.max_retry IS '最大重试次数';
|
||||
COMMENT ON COLUMN system_iwork_workflow_log.last_error_message IS '最后错误信息';
|
||||
COMMENT ON COLUMN system_iwork_workflow_log.raw_callback IS '回调原文';
|
||||
COMMENT ON COLUMN system_iwork_workflow_log.last_callback_time IS '最近回调时间';
|
||||
COMMENT ON COLUMN system_iwork_workflow_log.creator IS '创建者';
|
||||
COMMENT ON COLUMN system_iwork_workflow_log.create_time IS '创建时间';
|
||||
COMMENT ON COLUMN system_iwork_workflow_log.updater IS '更新者';
|
||||
COMMENT ON COLUMN system_iwork_workflow_log.update_time IS '更新时间';
|
||||
COMMENT ON COLUMN system_iwork_workflow_log.deleted IS '是否删除';
|
||||
COMMENT ON COLUMN system_iwork_workflow_log.tenant_id IS '租户编号';
|
||||
|
||||
-- 创建唯一索引
|
||||
CREATE UNIQUE INDEX uk_iwork_workflow_log_request_id ON system_iwork_workflow_log(request_id);
|
||||
|
||||
-- 创建普通索引
|
||||
-- CREATE INDEX idx_iwork_workflow_log_business_code ON system_iwork_workflow_log(business_code);
|
||||
-- CREATE INDEX idx_iwork_workflow_log_biz_callback_key ON system_iwork_workflow_log(biz_callback_key);
|
||||
@@ -1,43 +0,0 @@
|
||||
-- iWork 用印回调日志(DM8)
|
||||
-- 表:system_iwork_seal_log
|
||||
-- 序列:system_iwork_seal_log_seq
|
||||
|
||||
-- 清理旧对象(若存在)
|
||||
DROP TABLE IF EXISTS system_iwork_seal_log;
|
||||
|
||||
CREATE TABLE system_iwork_seal_log (
|
||||
id BIGINT NOT NULL,
|
||||
request_id VARCHAR(128) NOT NULL,
|
||||
business_code VARCHAR(128),
|
||||
biz_callback_key VARCHAR(255),
|
||||
status INTEGER,
|
||||
retry_count INTEGER DEFAULT 0,
|
||||
max_retry INTEGER,
|
||||
last_error_message VARCHAR(512),
|
||||
raw_callback VARCHAR(2000),
|
||||
last_callback_time DATETIME,
|
||||
creator VARCHAR(64),
|
||||
create_time DATETIME DEFAULT SYSDATE,
|
||||
updater VARCHAR(64),
|
||||
update_time DATETIME DEFAULT SYSDATE,
|
||||
deleted SMALLINT DEFAULT 0 NOT NULL,
|
||||
PRIMARY KEY (id),
|
||||
UNIQUE (request_id)
|
||||
);
|
||||
|
||||
COMMENT ON TABLE system_iwork_seal_log IS 'iWork 用印回调日志';
|
||||
COMMENT ON COLUMN system_iwork_seal_log.id IS '主键';
|
||||
COMMENT ON COLUMN system_iwork_seal_log.request_id IS 'iWork requestId 唯一标识';
|
||||
COMMENT ON COLUMN system_iwork_seal_log.business_code IS '业务单号';
|
||||
COMMENT ON COLUMN system_iwork_seal_log.biz_callback_key IS '业务回调标识';
|
||||
COMMENT ON COLUMN system_iwork_seal_log.status IS '状态枚举';
|
||||
COMMENT ON COLUMN system_iwork_seal_log.retry_count IS '已重试次数';
|
||||
COMMENT ON COLUMN system_iwork_seal_log.max_retry IS '最大重试次数快照';
|
||||
COMMENT ON COLUMN system_iwork_seal_log.last_error_message IS '最后错误信息';
|
||||
COMMENT ON COLUMN system_iwork_seal_log.raw_callback IS '回调原文截断';
|
||||
COMMENT ON COLUMN system_iwork_seal_log.last_callback_time IS '最近回调时间';
|
||||
COMMENT ON COLUMN system_iwork_seal_log.creator IS '创建者';
|
||||
COMMENT ON COLUMN system_iwork_seal_log.create_time IS '创建时间';
|
||||
COMMENT ON COLUMN system_iwork_seal_log.updater IS '更新者';
|
||||
COMMENT ON COLUMN system_iwork_seal_log.update_time IS '最后更新时间';
|
||||
COMMENT ON COLUMN system_iwork_seal_log.deleted IS '是否删除';
|
||||
File diff suppressed because it is too large
Load Diff
29
zt-framework-dsc/pom.xml
Normal file
29
zt-framework-dsc/pom.xml
Normal file
@@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<artifactId>zt-dsc</artifactId>
|
||||
<groupId>com.zt.plat</groupId>
|
||||
<version>${revision}</version>
|
||||
</parent>
|
||||
<packaging>pom</packaging>
|
||||
<modules>
|
||||
<module>zt-common-dsc</module>
|
||||
</modules>
|
||||
|
||||
<artifactId>zt-framework-dsc</artifactId>
|
||||
<description>
|
||||
该包是技术组件,每个子包,代表一个组件。每个组件包括两部分:
|
||||
1. core 包:是该组件的核心封装
|
||||
2. config 包:是该组件基于 Spring 的配置
|
||||
|
||||
技术组件,也分成两类:
|
||||
1. 框架组件:和我们熟悉的 MyBatis、Redis 等等的拓展
|
||||
2. 业务组件:和业务相关的组件的封装,例如说数据字典、操作日志等等。
|
||||
如果是业务组件,Maven 名字会包含 biz
|
||||
</description>
|
||||
<url>https://github.com/YunaiV/ruoyi-vue-pro</url>
|
||||
|
||||
</project>
|
||||
@@ -4,11 +4,11 @@
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<groupId>com.zt.plat</groupId>
|
||||
<artifactId>zt-framework</artifactId>
|
||||
<artifactId>zt-framework-dsc</artifactId>
|
||||
<version>${revision}</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>zt-common</artifactId>
|
||||
<artifactId>zt-common-dsc</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<name>${project.artifactId}</name>
|
||||
@@ -16,6 +16,10 @@
|
||||
<url>https://github.com/YunaiV/ruoyi-vue-pro</url>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.zt.plat</groupId>
|
||||
<artifactId>zt-common</artifactId>
|
||||
</dependency>
|
||||
<!-- Spring 核心 -->
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
@@ -1,7 +1,5 @@
|
||||
package com.zt.plat.framework.common.util.asyncTask;
|
||||
|
||||
import com.alibaba.ttl.TransmittableThreadLocal;
|
||||
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.*;
|
||||
@@ -11,7 +9,7 @@ import java.util.concurrent.*;
|
||||
* 多次提交,一次等待
|
||||
*/
|
||||
public class AsyncLatchUtils {
|
||||
private static final TransmittableThreadLocal<List<TaskInfo>> THREAD_LOCAL = TransmittableThreadLocal.withInitial(LinkedList::new);
|
||||
private static final ThreadLocal<List<TaskInfo>> THREADLOCAL = ThreadLocal.withInitial(LinkedList::new);
|
||||
|
||||
/**
|
||||
* 提交一个异步任务
|
||||
@@ -19,7 +17,7 @@ public class AsyncLatchUtils {
|
||||
* @param runnable 需要异步执行的具体业务逻辑
|
||||
*/
|
||||
public static void submitTask(Executor executor, Runnable runnable) {
|
||||
THREAD_LOCAL.get().add(new TaskInfo(executor, runnable));
|
||||
THREADLOCAL.get().add(new TaskInfo(executor, runnable));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -27,8 +25,8 @@ public class AsyncLatchUtils {
|
||||
* @return
|
||||
*/
|
||||
private static List<TaskInfo> popTask() {
|
||||
List<TaskInfo> taskInfos = THREAD_LOCAL.get();
|
||||
THREAD_LOCAL.remove();
|
||||
List<TaskInfo> taskInfos = THREADLOCAL.get();
|
||||
THREADLOCAL.remove();
|
||||
return taskInfos;
|
||||
}
|
||||
|
||||
@@ -41,7 +39,7 @@ public class AsyncLatchUtils {
|
||||
*/
|
||||
public static boolean waitFor(long timeout, TimeUnit timeUnit) {
|
||||
List<TaskInfo> taskInfos = popTask();
|
||||
if (taskInfos.isEmpty()) {
|
||||
if (taskInfos.isEmpty()) {
|
||||
return true;
|
||||
}
|
||||
CountDownLatch latch = new CountDownLatch(taskInfos.size());
|
||||
@@ -59,11 +57,8 @@ public class AsyncLatchUtils {
|
||||
boolean await = false;
|
||||
try {
|
||||
await = latch.await(timeout, timeUnit);
|
||||
} catch (Exception ignored) {
|
||||
// 恢复中断状态
|
||||
Thread.currentThread().interrupt();
|
||||
}
|
||||
return await;
|
||||
} catch (Exception ignored) {}
|
||||
return await;
|
||||
}
|
||||
|
||||
private static final class TaskInfo {
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user