增加生成后端服务代码。

This commit is contained in:
asp_ly 2024-12-30 22:31:21 +08:00
parent 9b7d7a23a3
commit c1ddcce3bc
7 changed files with 78 additions and 43 deletions

View File

@ -14,8 +14,8 @@ import lombok.Data;
public class JenkinsBaseBuildVariables extends DeployNodeFormVariables { public class JenkinsBaseBuildVariables extends DeployNodeFormVariables {
@SchemaProperty( @SchemaProperty(
title = "", title = "禅道任务号",
description = "审批人填写的意见", description = "禅道任务号",
order = 0 order = 0
) )
private String taskId; private String taskId;

View File

@ -1,14 +1,15 @@
package com.qqchen.deploy.backend.deploy.dto.variables; package com.qqchen.deploy.backend.deploy.dto.variables;
import com.qqchen.deploy.backend.workflow.dto.definition.node.fromVariables.DeployNodeFormVariables;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
/** /**
* Jenkins构建变量 * Jenkins构建变量
*/ */
@EqualsAndHashCode(callSuper = true)
@Data @Data
public class JenkinsJavaBuildVariables extends DeployNodeFormVariables { public class JenkinsJavaBuildVariables extends JenkinsBaseBuildVariables {
} }

View File

@ -1,10 +1,12 @@
package com.qqchen.deploy.backend.deploy.dto.variables; package com.qqchen.deploy.backend.deploy.dto.variables;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
/** /**
* Jenkins构建变量 * Jenkins构建变量
*/ */
@EqualsAndHashCode(callSuper = true)
@Data @Data
public class JenkinsNodeJsBuildVariables extends JenkinsBaseBuildVariables { public class JenkinsNodeJsBuildVariables extends JenkinsBaseBuildVariables {

View File

@ -1,6 +1,8 @@
package com.qqchen.deploy.backend.workflow.dto.definition.node.localVariables; package com.qqchen.deploy.backend.workflow.dto.definition.node.localVariables;
import com.qqchen.deploy.backend.workflow.annotation.SchemaProperty; import com.qqchen.deploy.backend.workflow.annotation.SchemaProperty;
import com.qqchen.deploy.backend.workflow.annotation.SchemaPropertyDataSource;
import com.qqchen.deploy.backend.workflow.annotation.SchemaPropertyDataSourceParam;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@ -8,5 +10,42 @@ import lombok.EqualsAndHashCode;
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
public class DeployNodeLocalVariables extends BaseNodeLocalVariables { public class DeployNodeLocalVariables extends BaseNodeLocalVariables {
@SchemaProperty(
title = "绑定Jenkins视图",
description = "Jenkins视图",
required = true,
dataSource = @SchemaPropertyDataSource(
type = "api",
url = "/api/v1/jenkins-view/list",
valueField = "id",
labelField = "viewName",
dependsOn = {"externalSystemId"},
params = {
@SchemaPropertyDataSourceParam(name = "externalSystemId", value = "${externalSystemId}")
}
),
order = 2
)
private String viewId;
@SchemaProperty(
title = "绑定Jenkins任务",
description = "Jenkins任务",
required = true,
dataSource = @SchemaPropertyDataSource(
type = "api",
url = "/api/v1/jenkins-job/list",
valueField = "id",
labelField = "jobName",
dependsOn = {"externalSystemId", "viewId"},
params = {
@SchemaPropertyDataSourceParam(name = "externalSystemId", value = "${externalSystemId}"),
@SchemaPropertyDataSourceParam(name = "viewId", value = "${viewId}")
}
),
order = 3
)
private String jobId;
} }

View File

@ -37,7 +37,6 @@ public enum NodeTypeEnums {
"开始节点", // 节点显示名称 "开始节点", // 节点显示名称
null, null,
StartNodePanelVariables.class, StartNodePanelVariables.class,
null,
NodeUiVariables.class, NodeUiVariables.class,
BpmnNodeTypeEnums.START_EVENT, BpmnNodeTypeEnums.START_EVENT,
NodeCategoryEnums.EVENT, NodeCategoryEnums.EVENT,
@ -56,7 +55,6 @@ public enum NodeTypeEnums {
"结束节点", "结束节点",
null, null,
EndNodePanelVariables.class, EndNodePanelVariables.class,
null,
NodeUiVariables.class, NodeUiVariables.class,
BpmnNodeTypeEnums.END_EVENT, BpmnNodeTypeEnums.END_EVENT,
NodeCategoryEnums.EVENT, NodeCategoryEnums.EVENT,
@ -67,7 +65,6 @@ public enum NodeTypeEnums {
"脚本任务", "脚本任务",
ScriptNodeLocalVariables.class, ScriptNodeLocalVariables.class,
ScriptNodePanelVariables.class, ScriptNodePanelVariables.class,
ScriptNodeFormVariables.class,
NodeUiVariables.class, NodeUiVariables.class,
BpmnNodeTypeEnums.SERVICE_TASK, BpmnNodeTypeEnums.SERVICE_TASK,
NodeCategoryEnums.TASK, NodeCategoryEnums.TASK,
@ -78,7 +75,6 @@ public enum NodeTypeEnums {
"构建任务", "构建任务",
DeployNodeLocalVariables.class, DeployNodeLocalVariables.class,
DeployNodePanelVariables.class, DeployNodePanelVariables.class,
DeployNodeFormVariables.class,
NodeUiVariables.class, NodeUiVariables.class,
BpmnNodeTypeEnums.SERVICE_TASK, BpmnNodeTypeEnums.SERVICE_TASK,
NodeCategoryEnums.TASK, NodeCategoryEnums.TASK,
@ -89,7 +85,6 @@ public enum NodeTypeEnums {
"网关节点", "网关节点",
null, null,
GatewayNodePanelVariables.class, GatewayNodePanelVariables.class,
null,
NodeUiVariables.class, NodeUiVariables.class,
BpmnNodeTypeEnums.EXCLUSIVE_GATEWAY, BpmnNodeTypeEnums.EXCLUSIVE_GATEWAY,
NodeCategoryEnums.GATEWAY, NodeCategoryEnums.GATEWAY,
@ -100,7 +95,6 @@ public enum NodeTypeEnums {
"通知节点", "通知节点",
NotificationNodeLocalVariables.class, NotificationNodeLocalVariables.class,
NotificationNodePanelVariables.class, NotificationNodePanelVariables.class,
null,
NodeUiVariables.class, NodeUiVariables.class,
BpmnNodeTypeEnums.SERVICE_TASK, BpmnNodeTypeEnums.SERVICE_TASK,
NodeCategoryEnums.TASK, NodeCategoryEnums.TASK,
@ -111,7 +105,6 @@ public enum NodeTypeEnums {
"审批节点", "审批节点",
ApprovalNodeLocalVariables.class, ApprovalNodeLocalVariables.class,
ApprovalNodePanelVariables.class, ApprovalNodePanelVariables.class,
ApprovalNodeFormVariables.class,
NodeUiVariables.class, NodeUiVariables.class,
BpmnNodeTypeEnums.USER_TASK, BpmnNodeTypeEnums.USER_TASK,
NodeCategoryEnums.TASK, NodeCategoryEnums.TASK,
@ -260,7 +253,7 @@ public enum NodeTypeEnums {
private final Class<?> panelVariables; private final Class<?> panelVariables;
private final Class<?> formVariables; // private final Class<?> formVariables;
private final Class<?> uiVariables; private final Class<?> uiVariables;
@ -275,7 +268,7 @@ public enum NodeTypeEnums {
String name, String name,
Class<?> localVariables, Class<?> localVariables,
Class<?> panelVariables, Class<?> panelVariables,
Class<?> formVariables, // Class<?> formVariables,
Class<?> uiVariables, Class<?> uiVariables,
BpmnNodeTypeEnums bpmnType, BpmnNodeTypeEnums bpmnType,
NodeCategoryEnums category, NodeCategoryEnums category,
@ -285,7 +278,7 @@ public enum NodeTypeEnums {
this.name = name; this.name = name;
this.localVariables = localVariables; this.localVariables = localVariables;
this.panelVariables = panelVariables; this.panelVariables = panelVariables;
this.formVariables = formVariables; // this.formVariables = formVariables;
this.uiVariables = uiVariables; this.uiVariables = uiVariables;
this.bpmnType = bpmnType; this.bpmnType = bpmnType;
this.category = category; this.category = category;

View File

@ -108,10 +108,10 @@ public class WorkflowNodeDefinitionServiceImpl extends BaseServiceImpl<WorkflowN
definedDTO.setLocalVariablesSchema(generateSchema(localVariables)); definedDTO.setLocalVariablesSchema(generateSchema(localVariables));
} }
Class<?> formVariables = nodeType.getFormVariables(); // Class<?> formVariables = nodeType.getFormVariables();
if (formVariables != null) { // if (formVariables != null) {
definedDTO.setFormVariablesSchema(generateSchema(formVariables)); // definedDTO.setFormVariablesSchema(generateSchema(formVariables));
} // }
Class<?> uiVariables = nodeType.getUiVariables(); Class<?> uiVariables = nodeType.getUiVariables();
if (uiVariables != null) { if (uiVariables != null) {

View File

@ -292,31 +292,31 @@ public class BpmnConverter {
} }
// 添加localVariables变量 // 添加localVariables变量
if (node.getLocalVariables() != null) { // if (node.getLocalVariables() != null) {
ExtensionElement fieldElement = new ExtensionElement(); // ExtensionElement fieldElement = new ExtensionElement();
fieldElement.setName("field"); // fieldElement.setName("field");
fieldElement.setNamespace("http://flowable.org/bpmn"); // fieldElement.setNamespace("http://flowable.org/bpmn");
fieldElement.setNamespacePrefix("flowable"); // fieldElement.setNamespacePrefix("flowable");
//
// 创建field的子元素string // // 创建field的子元素string
ExtensionElement stringElement = new ExtensionElement(); // ExtensionElement stringElement = new ExtensionElement();
stringElement.setName("string"); // stringElement.setName("string");
stringElement.setNamespace("http://flowable.org/bpmn"); // stringElement.setNamespace("http://flowable.org/bpmn");
stringElement.setNamespacePrefix("flowable"); // stringElement.setNamespacePrefix("flowable");
// 直接设置JSON内容不使用CDATA // // 直接设置JSON内容不使用CDATA
stringElement.setElementText(node.getLocalVariables().toString()); // stringElement.setElementText(node.getLocalVariables().toString());
//
// 设置field的name属性 // // 设置field的name属性
Map<String, List<ExtensionAttribute>> fieldAttributes = new HashMap<>(); // Map<String, List<ExtensionAttribute>> fieldAttributes = new HashMap<>();
fieldAttributes.put("name", Collections.singletonList(createAttribute("name", "localVariables"))); // fieldAttributes.put("name", Collections.singletonList(createAttribute("name", "localVariables")));
fieldElement.setAttributes(fieldAttributes); // fieldElement.setAttributes(fieldAttributes);
//
// 添加string子元素到field // // 添加string子元素到field
fieldElement.addChildElement(stringElement); // fieldElement.addChildElement(stringElement);
//
// 添加field到extensionElements // // 添加field到extensionElements
extensionElements.computeIfAbsent("field", k -> new ArrayList<>()).add(fieldElement); // extensionElements.computeIfAbsent("field", k -> new ArrayList<>()).add(fieldElement);
} // }
} }
/** /**