Merge branch 'refs/heads/zt-test' into test
This commit is contained in:
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">
|
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>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>com.zt.plat</groupId>
|
<groupId>com.zt.plat</groupId>
|
||||||
<artifactId>zt</artifactId>
|
<artifactId>zt-dsc</artifactId>
|
||||||
<version>${revision}</version>
|
<version>${revision}</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<modules>
|
<modules>
|
||||||
<module>zt-dependencies</module>
|
|
||||||
<module>zt-gateway</module>
|
<module>zt-gateway</module>
|
||||||
<module>zt-framework</module>
|
<module>zt-framework-dsc</module>
|
||||||
<!-- Server 主项目 -->
|
|
||||||
<!-- <module>zt-server</module>-->
|
|
||||||
<!-- 各种 module 拓展 -->
|
|
||||||
<module>zt-module-system</module>
|
<module>zt-module-system</module>
|
||||||
<module>zt-module-infra</module>
|
<module>zt-module-infra</module>
|
||||||
<!-- <module>zt-module-bpm</module>-->
|
<module>zt-module-bpm</module>
|
||||||
<module>zt-module-report</module>
|
<module>zt-module-report</module>
|
||||||
<!--<module>zt-module-mp</module>-->
|
|
||||||
<!-- <module>zt-module-ai</module>-->
|
|
||||||
<module>zt-module-template</module>
|
<module>zt-module-template</module>
|
||||||
<!-- <module>zt-module-iot</module>-->
|
|
||||||
<module>zt-module-databus</module>
|
<module>zt-module-databus</module>
|
||||||
<!-- <module>zt-module-rule</module>-->
|
<module>zt-server</module>
|
||||||
<!-- <module>zt-module-html2pdf</module>-->
|
|
||||||
<!-- <module>zt-server</module>-->
|
|
||||||
</modules>
|
</modules>
|
||||||
|
|
||||||
<name>${project.artifactId}</name>
|
<name>${project.artifactId}</name>
|
||||||
@@ -57,6 +48,12 @@
|
|||||||
<type>pom</type>
|
<type>pom</type>
|
||||||
<scope>import</scope>
|
<scope>import</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.zt.plat</groupId>
|
||||||
|
<artifactId>zt-common-dsc</artifactId>
|
||||||
|
<version>${revision}</version>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</dependencyManagement>
|
</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">
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>com.zt.plat</groupId>
|
<groupId>com.zt.plat</groupId>
|
||||||
<artifactId>zt-framework</artifactId>
|
<artifactId>zt-framework-dsc</artifactId>
|
||||||
<version>${revision}</version>
|
<version>${revision}</version>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>zt-common</artifactId>
|
<artifactId>zt-common-dsc</artifactId>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<name>${project.artifactId}</name>
|
<name>${project.artifactId}</name>
|
||||||
@@ -16,6 +16,10 @@
|
|||||||
<url>https://github.com/YunaiV/ruoyi-vue-pro</url>
|
<url>https://github.com/YunaiV/ruoyi-vue-pro</url>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.zt.plat</groupId>
|
||||||
|
<artifactId>zt-common</artifactId>
|
||||||
|
</dependency>
|
||||||
<!-- Spring 核心 -->
|
<!-- Spring 核心 -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework</groupId>
|
<groupId>org.springframework</groupId>
|
||||||
@@ -1,7 +1,5 @@
|
|||||||
package com.zt.plat.framework.common.util.asyncTask;
|
package com.zt.plat.framework.common.util.asyncTask;
|
||||||
|
|
||||||
import com.alibaba.ttl.TransmittableThreadLocal;
|
|
||||||
|
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.*;
|
import java.util.concurrent.*;
|
||||||
@@ -11,7 +9,7 @@ import java.util.concurrent.*;
|
|||||||
* 多次提交,一次等待
|
* 多次提交,一次等待
|
||||||
*/
|
*/
|
||||||
public class AsyncLatchUtils {
|
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 需要异步执行的具体业务逻辑
|
* @param runnable 需要异步执行的具体业务逻辑
|
||||||
*/
|
*/
|
||||||
public static void submitTask(Executor executor, Runnable 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
|
* @return
|
||||||
*/
|
*/
|
||||||
private static List<TaskInfo> popTask() {
|
private static List<TaskInfo> popTask() {
|
||||||
List<TaskInfo> taskInfos = THREAD_LOCAL.get();
|
List<TaskInfo> taskInfos = THREADLOCAL.get();
|
||||||
THREAD_LOCAL.remove();
|
THREADLOCAL.remove();
|
||||||
return taskInfos;
|
return taskInfos;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -41,7 +39,7 @@ public class AsyncLatchUtils {
|
|||||||
*/
|
*/
|
||||||
public static boolean waitFor(long timeout, TimeUnit timeUnit) {
|
public static boolean waitFor(long timeout, TimeUnit timeUnit) {
|
||||||
List<TaskInfo> taskInfos = popTask();
|
List<TaskInfo> taskInfos = popTask();
|
||||||
if (taskInfos.isEmpty()) {
|
if (taskInfos.isEmpty()) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
CountDownLatch latch = new CountDownLatch(taskInfos.size());
|
CountDownLatch latch = new CountDownLatch(taskInfos.size());
|
||||||
@@ -59,11 +57,8 @@ public class AsyncLatchUtils {
|
|||||||
boolean await = false;
|
boolean await = false;
|
||||||
try {
|
try {
|
||||||
await = latch.await(timeout, timeUnit);
|
await = latch.await(timeout, timeUnit);
|
||||||
} catch (Exception ignored) {
|
} catch (Exception ignored) {}
|
||||||
// 恢复中断状态
|
return await;
|
||||||
Thread.currentThread().interrupt();
|
|
||||||
}
|
|
||||||
return await;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final class TaskInfo {
|
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