From 99645c5ac84b7a558b7734b6d57c597ba1fbb483 Mon Sep 17 00:00:00 2001 From: chenbowen Date: Tue, 9 Dec 2025 19:12:03 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E4=BF=AE=E5=A4=8D=20iwork=20api=20?= =?UTF-8?q?=E4=B8=8E=20controller=20=E4=B8=AD=E7=9A=84=20vo=20dto=20?= =?UTF-8?q?=E4=B8=8D=E5=AF=B9=E5=BA=94=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/api/iwork/dto/IWorkBaseReqDTO.java | 20 ++++++++ .../api/iwork/dto/IWorkOperationRespDTO.java | 51 ++++++++++++++++--- .../iwork/dto/IWorkWorkflowCreateReqDTO.java | 4 +- .../iwork/dto/IWorkWorkflowVoidReqDTO.java | 19 ++++--- 4 files changed, 81 insertions(+), 13 deletions(-) create mode 100644 zt-module-system/zt-module-system-api/src/main/java/com/zt/plat/module/system/api/iwork/dto/IWorkBaseReqDTO.java diff --git a/zt-module-system/zt-module-system-api/src/main/java/com/zt/plat/module/system/api/iwork/dto/IWorkBaseReqDTO.java b/zt-module-system/zt-module-system-api/src/main/java/com/zt/plat/module/system/api/iwork/dto/IWorkBaseReqDTO.java new file mode 100644 index 00000000..409e43d5 --- /dev/null +++ b/zt-module-system/zt-module-system-api/src/main/java/com/zt/plat/module/system/api/iwork/dto/IWorkBaseReqDTO.java @@ -0,0 +1,20 @@ +package com.zt.plat.module.system.api.iwork.dto; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +/** + * iWork 集成接口公用的请求字段(API 专用,不依赖 VO)。 + */ +@Data +public class IWorkBaseReqDTO { + + @Schema(description = "配置的 iWork 凭证 appId;为空时使用默认凭证", example = "iwork-app") + private String appId; + + @Schema(description = "iWork 操作人用户编号", example = "1") + private String operatorUserId; + + @Schema(description = "是否强制刷新 token", example = "false") + private Boolean forceRefreshToken; +} diff --git a/zt-module-system/zt-module-system-api/src/main/java/com/zt/plat/module/system/api/iwork/dto/IWorkOperationRespDTO.java b/zt-module-system/zt-module-system-api/src/main/java/com/zt/plat/module/system/api/iwork/dto/IWorkOperationRespDTO.java index 1ebe46d5..65c5db94 100644 --- a/zt-module-system/zt-module-system-api/src/main/java/com/zt/plat/module/system/api/iwork/dto/IWorkOperationRespDTO.java +++ b/zt-module-system/zt-module-system-api/src/main/java/com/zt/plat/module/system/api/iwork/dto/IWorkOperationRespDTO.java @@ -1,21 +1,60 @@ package com.zt.plat.module.system.api.iwork.dto; +import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; +import java.util.Map; + /** - * iWork 操作结果响应 DTO + * iWork 操作结果响应 DTO(结构对齐 VO,独立定义)。 */ @Data public class IWorkOperationRespDTO { - @Schema(description = "是否成功") + @Schema(description = "iWork 返回的原始数据结构") + private Payload payload; + + @Schema(description = "是否判断为成功") private Boolean success; - @Schema(description = "iWork 返回的操作编号或实例编号") - private String operationId; - - @Schema(description = "提示信息") + @Schema(description = "返回提示信息") private String message; + @Data + public static class Payload { + + @Schema(description = "iWork 返回的业务状态码,例如 SUCCESS") + private String code; + + @Schema(description = "iWork 返回的数据体") + private PayloadData data; + + @Schema(description = "错误信息对象,通常为空对象") + private Map errMsg; + + @Schema(description = "返回失败时的详细信息") + private ReqFailMsg reqFailMsg; + } + + @Data + public static class PayloadData { + + @Schema(description = "iWork 生成的请求编号 requestid") + @JsonProperty("requestid") + private Long requestId; + } + + @Data + public static class ReqFailMsg { + + @Schema(description = "失败时的关键参数集合") + private Map keyParameters; + + @Schema(description = "失败消息对象") + private Map msgInfo; + + @Schema(description = "其他附加参数,例如 doAutoApprove") + private Map otherParams; + } } diff --git a/zt-module-system/zt-module-system-api/src/main/java/com/zt/plat/module/system/api/iwork/dto/IWorkWorkflowCreateReqDTO.java b/zt-module-system/zt-module-system-api/src/main/java/com/zt/plat/module/system/api/iwork/dto/IWorkWorkflowCreateReqDTO.java index 3d10a1ae..013eea65 100644 --- a/zt-module-system/zt-module-system-api/src/main/java/com/zt/plat/module/system/api/iwork/dto/IWorkWorkflowCreateReqDTO.java +++ b/zt-module-system/zt-module-system-api/src/main/java/com/zt/plat/module/system/api/iwork/dto/IWorkWorkflowCreateReqDTO.java @@ -2,6 +2,7 @@ package com.zt.plat.module.system.api.iwork.dto; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; +import lombok.EqualsAndHashCode; /** * 发起 iWork 流程请求 DTO @@ -9,7 +10,8 @@ import lombok.Data; * 与 IWorkWorkflowCreateReqVO 字段一一对应,便于 Feign 调用。 */ @Data -public class IWorkWorkflowCreateReqDTO { +@EqualsAndHashCode(callSuper = true) +public class IWorkWorkflowCreateReqDTO extends IWorkBaseReqDTO { @Schema(description = "用印申请人(iWork 人员 ID)", example = "1001") private String jbr; diff --git a/zt-module-system/zt-module-system-api/src/main/java/com/zt/plat/module/system/api/iwork/dto/IWorkWorkflowVoidReqDTO.java b/zt-module-system/zt-module-system-api/src/main/java/com/zt/plat/module/system/api/iwork/dto/IWorkWorkflowVoidReqDTO.java index 17ab8c34..d0472822 100644 --- a/zt-module-system/zt-module-system-api/src/main/java/com/zt/plat/module/system/api/iwork/dto/IWorkWorkflowVoidReqDTO.java +++ b/zt-module-system/zt-module-system-api/src/main/java/com/zt/plat/module/system/api/iwork/dto/IWorkWorkflowVoidReqDTO.java @@ -2,20 +2,27 @@ package com.zt.plat.module.system.api.iwork.dto; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Map; /** * 作废 / 干预 iWork 流程请求 DTO */ @Data -public class IWorkWorkflowVoidReqDTO { +@EqualsAndHashCode(callSuper = true) +public class IWorkWorkflowVoidReqDTO extends IWorkBaseReqDTO { - @Schema(description = "iWork 实例编号", requiredMode = Schema.RequiredMode.REQUIRED) - private String instanceId; - - @Schema(description = "操作人 iWork 用户编号", requiredMode = Schema.RequiredMode.REQUIRED) - private String operatorUserId; + @Schema(description = "流程请求编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "REQ-001") + private String requestId; @Schema(description = "作废原因") private String reason; + @Schema(description = "额外参数") + private Map extraParams; + + @Schema(description = "额外 Form 数据") + private Map formExtras; + }