diff --git a/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/workflow/client/WorkflowFeignClient.java b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/workflow/client/WorkflowFeignClient.java new file mode 100644 index 0000000..ee1e78e --- /dev/null +++ b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/workflow/client/WorkflowFeignClient.java @@ -0,0 +1,33 @@ +package com.chinaunicom.mall.ebtp.common.workflow.client; + +import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; +import com.chinaunicom.mall.ebtp.common.constant.ServiceNameConstants; +import com.chinaunicom.mall.ebtp.common.workflow.entity.WorkflowCreateResponse; +import com.chinaunicom.mall.ebtp.common.workflow.fallback.WorkflowFeignClientFallback; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + +@FeignClient(name = ServiceNameConstants.EXTEND_SERVICE, fallback = WorkflowFeignClientFallback.class) +public interface WorkflowFeignClient { + + /** + * @param userEmail 发起人邮箱 + * @param userName 发起人用户名 + * @param userOrgId 发起人所在部门id + * @param modelId 流程模型ID + * @param businessKey 节点标识 + * @param url 流程审批详情页面URL(urlencode) + * @return 流程创建结果 获取processInstanceId与业务数据ID进行关联,为了后续回调处理后续业务 + */ + @GetMapping("/workflow/create") + BaseResponse create( + @RequestParam String userEmail, + @RequestParam String userName, + @RequestParam String userOrgId, + @RequestParam String modelId, + @RequestParam String businessKey, + @RequestParam String url + ); + +} diff --git a/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/workflow/entity/WorkflowBaseResponse.java b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/workflow/entity/WorkflowBaseResponse.java new file mode 100644 index 0000000..c54515a --- /dev/null +++ b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/workflow/entity/WorkflowBaseResponse.java @@ -0,0 +1,40 @@ +package com.chinaunicom.mall.ebtp.common.workflow.entity; + +import lombok.Data; + +/** + * + { + "resultCode": "0", + "resultMsg": "成功", + "resultObject": { + "token": "5f50b59a-faf8-4ea2-b7e9-2e4fa04c46fa", + "id": 7000458, + "userId": 7180012, + "loginName": "dingx23", + "loginPassword": null, + "userName": "丁侠", + "userMail": "dingx23@chinaunicom.cn", + "userPhone": "", + "userStatus": "1", + "userType": "1", + "createId": "0", + "createTime": "2023-07-18T16:23:28", + "updateId": "0", + "updateTime": "2025-05-07T19:07:19", + "attributes": { + "oaOrgInfo": null, + "oaEmpCode": "0958168", + "siteInfo": "4,999,1,联通软件研究院-公共平台与架构研发事业部,主岗," + } + } + } + */ +@Data +public class WorkflowBaseResponse { + + private String resultCode; + private String resultMsg; + private T resultObject; + +} diff --git a/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/workflow/entity/WorkflowCreateRequest.java b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/workflow/entity/WorkflowCreateRequest.java new file mode 100644 index 0000000..f4905c5 --- /dev/null +++ b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/workflow/entity/WorkflowCreateRequest.java @@ -0,0 +1,31 @@ +package com.chinaunicom.mall.ebtp.common.workflow.entity; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * + { + "modelId": "1953018896810274817", + "businessKey":"10002", + "variables": [{ + "name":"internal_app_env_key", + "value":"env_test" + },{ + "name":"url", + "value":"http://10.0.0.125:3000/index" + } + ] + } + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class WorkflowCreateRequest { + private String modelId; + private String businessKey; + private WorkflowVariable[] variables; +} diff --git a/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/workflow/entity/WorkflowCreateResponse.java b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/workflow/entity/WorkflowCreateResponse.java new file mode 100644 index 0000000..15b2452 --- /dev/null +++ b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/workflow/entity/WorkflowCreateResponse.java @@ -0,0 +1,81 @@ +package com.chinaunicom.mall.ebtp.common.workflow.entity; + +import lombok.Data; + +/** + * { + "id": "69f4b176-7335-11f0-ad9f-a2843e06dd7d", + "processDefId": "Process_2p4rq5b:1:2ba9b30c-72a4-11f0-ad9f-a2843e06dd7d", + "orgId": "ce7d12dd8bcd416aafe3bea5a4e96edd", + "appId": "580470127", + "envType": "env_test", + "startUserName": "丁侠", + "startDepartmentId": null, + "customInfoAttr": null, + "memo": null, + "processCode": "cslc", + "formKey": "10002", + "appInfo": "{\"appId\":580470127,\"appCode\":\"clc1752747475234\",\"appName\":\"ceshi07\",\"appUseType\":\"1001\",\"appType\":\"0\",\"appEnv\":\"env_dev,env_test\",\"orgId\":\"ce7d12dd8bcd416aafe3bea5a4e96edd\",\"orgName\":\"中国远洋海运集团有限公司\",\"statusCd\":\"00A\"}", + "startUserId": "7180012", + "processName": "测试流程", + "processAttr": "{}", + "startTime": "2025-08-07 10:22:49", + "businessKey": "10002", + "processType": "Main", + "businessStatus": null, + "processInstanceId": "69f4b176-7335-11f0-ad9f-a2843e06dd7d", + "processInstanceName": "测试流程", + "createTime": "2025-08-07 10:22:49", + "endTime": null, + "startUser": { + "userId": "7180012", + "loginName": "dingx23", + "userName": "丁侠", + "userMail": "dingx23@chinaunicom.cn", + "userPhone": "", + "oaOrgInfo": "联通软件研究院-公共平台与架构研发事业部" + }, + "tenantId": "580470127", + "processVariables": { + "processInstanceId": "69f4b176-7335-11f0-ad9f-a2843e06dd7d", + "internal_app_env_key": "env_test", + "internal_app_id": 580470127, + "internal_process_attr": "{}", + "internal_app_org_key": "ce7d12dd8bcd416aafe3bea5a4e96edd", + "internal_start_user_name": "丁侠", + "internal_start_user_id": "7180012", + "internal_app_info_key": "{\"appId\":580470127,\"appCode\":\"clc1752747475234\",\"appName\":\"ceshi07\",\"appUseType\":\"1001\",\"appType\":\"0\",\"appEnv\":\"env_dev,env_test\",\"orgId\":\"ce7d12dd8bcd416aafe3bea5a4e96edd\",\"orgName\":\"中国远洋海运集团有限公司\",\"statusCd\":\"00A\"}", + "url": "http://10.0.0.125:3000/index", + "internal_process_code_": "cslc", + "internal_start_form_key": "10002" + } + */ +@Data +public class WorkflowCreateResponse { + private String id; + private String processDefId; + private String orgId; + private String appId; + private String envType; + private String startUserName; + private String startDepartmentId; + private String customInfoAttr; + private String memo; + private String processCode; + private String formKey; + private String appInfo; + private String startUserId; + private String processName; + private String processAttr; + private String startTime; + private String businessKey; + private String processType; + private String businessStatus; + private String processInstanceId; + private String processInstanceName; + private String createTime; + private String endTime; + private WorkflowUser startUser; + private String tenantId; +// private WorkflowProcessVariables processVariables; +} diff --git a/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/workflow/entity/WorkflowExchange.java b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/workflow/entity/WorkflowExchange.java new file mode 100644 index 0000000..344b4b8 --- /dev/null +++ b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/workflow/entity/WorkflowExchange.java @@ -0,0 +1,17 @@ +package com.chinaunicom.mall.ebtp.common.workflow.entity; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class WorkflowExchange { + private String dateTime; + private Boolean createUserWhenNotExist; + private String userOrgId; + private WorkflowUser userVo; +} diff --git a/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/workflow/entity/WorkflowTokenRequest.java b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/workflow/entity/WorkflowTokenRequest.java new file mode 100644 index 0000000..2395bae --- /dev/null +++ b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/workflow/entity/WorkflowTokenRequest.java @@ -0,0 +1,14 @@ +package com.chinaunicom.mall.ebtp.common.workflow.entity; + +import lombok.Data; + +/** + * + "clientId":"zhongyuan-haiyun", + "exchangeRequest":"zAW5fhAo3z078qTBd8jGkXqkmeivlYs1U4yslBoqYCgjDMIq33OJidLsP5WQhQDsZAq6h0kOJnBorg6dZFsAOI9grEOGSoqe22-WNzi6s03hFR0FbGtM1FPJYVh1rzGkOSFNhsS4ju_B5bJxyw204LegGIsPmQFCQxglz6WDB3zX2dZ9eWcr5zoDLbNoouZdv7wTw9iymvUH3uCofyp5aqjT4JNHniWh3BlQFngB57ss5T-aIxrRjHJbFJqDOT8T1Niiu11limSjv3uQlGTj_r12NpPoyKnrhgL8N8SJP70WrnzN5G6r8KPpG68V4A_Q" + */ +@Data +public class WorkflowTokenRequest { + private String clientId; + private String exchangeRequest; +} diff --git a/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/workflow/entity/WorkflowTokenResponse.java b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/workflow/entity/WorkflowTokenResponse.java new file mode 100644 index 0000000..66f2dea --- /dev/null +++ b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/workflow/entity/WorkflowTokenResponse.java @@ -0,0 +1,50 @@ +package com.chinaunicom.mall.ebtp.common.workflow.entity; + +import lombok.Data; + +/** + * + "token": "5f50b59a-faf8-4ea2-b7e9-2e4fa04c46fa", + "id": 7000458, + "userId": 7180012, + "loginName": "dingx23", + "loginPassword": null, + "userName": "丁侠", + "userMail": "dingx23@chinaunicom.cn", + "userPhone": "", + "userStatus": "1", + "userType": "1", + "createId": "0", + "createTime": "2023-07-18T16:23:28", + "updateId": "0", + "updateTime": "2025-05-07T19:07:19", + "attributes": { + "oaOrgInfo": null, + "oaEmpCode": "0958168", + "siteInfo": "4,999,1,联通软件研究院-公共平台与架构研发事业部,主岗," + */ +@Data +public class WorkflowTokenResponse { + private String token; + private Long id; + private Long userId; + private String loginName; + private String loginPassword; + private String userName; + private String userMail; + private String userPhone; + private String userStatus; + private String userType; + private String createId; + private String createTime; + private String updateId; + private String updateTime; + private Attributes attributes; + + @Data + public static class Attributes { + private String oaOrgInfo; + private String oaEmpCode; + private String siteInfo; + } +} diff --git a/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/workflow/entity/WorkflowUser.java b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/workflow/entity/WorkflowUser.java new file mode 100644 index 0000000..0676b52 --- /dev/null +++ b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/workflow/entity/WorkflowUser.java @@ -0,0 +1,19 @@ +package com.chinaunicom.mall.ebtp.common.workflow.entity; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class WorkflowUser { + private String loginName; + private String loginPassword; + private String userName; + private String userMail; + private String userPhone; + private String oaOrgInfo; +} diff --git a/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/workflow/entity/WorkflowVariable.java b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/workflow/entity/WorkflowVariable.java new file mode 100644 index 0000000..e1dc3df --- /dev/null +++ b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/workflow/entity/WorkflowVariable.java @@ -0,0 +1,15 @@ +package com.chinaunicom.mall.ebtp.common.workflow.entity; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class WorkflowVariable { + private String name; + private String value; +} diff --git a/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/workflow/fallback/WorkflowFeignClientFallback.java b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/workflow/fallback/WorkflowFeignClientFallback.java new file mode 100644 index 0000000..f976225 --- /dev/null +++ b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/workflow/fallback/WorkflowFeignClientFallback.java @@ -0,0 +1,15 @@ +package com.chinaunicom.mall.ebtp.common.workflow.fallback; + +import com.chinaunicom.mall.ebtp.common.base.entity.BaseResponse; +import com.chinaunicom.mall.ebtp.common.workflow.client.WorkflowFeignClient; +import com.chinaunicom.mall.ebtp.common.workflow.entity.WorkflowCreateResponse; +import org.springframework.stereotype.Component; + +@Component +public class WorkflowFeignClientFallback implements WorkflowFeignClient { + + @Override + public BaseResponse create(String userEmail, String userName, String userOrgId, String modelId, String businessKey, String url) { + return null; + } +} \ No newline at end of file