增加生成后端服务代码。

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 {
@SchemaProperty(
title = "",
description = "审批人填写的意见",
title = "禅道任务号",
description = "禅道任务号",
order = 0
)
private String taskId;

View File

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

View File

@ -1,6 +1,8 @@
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.SchemaPropertyDataSource;
import com.qqchen.deploy.backend.workflow.annotation.SchemaPropertyDataSourceParam;
import lombok.Data;
import lombok.EqualsAndHashCode;
@ -8,5 +10,42 @@ import lombok.EqualsAndHashCode;
@EqualsAndHashCode(callSuper = true)
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,
StartNodePanelVariables.class,
null,
NodeUiVariables.class,
BpmnNodeTypeEnums.START_EVENT,
NodeCategoryEnums.EVENT,
@ -56,7 +55,6 @@ public enum NodeTypeEnums {
"结束节点",
null,
EndNodePanelVariables.class,
null,
NodeUiVariables.class,
BpmnNodeTypeEnums.END_EVENT,
NodeCategoryEnums.EVENT,
@ -67,7 +65,6 @@ public enum NodeTypeEnums {
"脚本任务",
ScriptNodeLocalVariables.class,
ScriptNodePanelVariables.class,
ScriptNodeFormVariables.class,
NodeUiVariables.class,
BpmnNodeTypeEnums.SERVICE_TASK,
NodeCategoryEnums.TASK,
@ -78,7 +75,6 @@ public enum NodeTypeEnums {
"构建任务",
DeployNodeLocalVariables.class,
DeployNodePanelVariables.class,
DeployNodeFormVariables.class,
NodeUiVariables.class,
BpmnNodeTypeEnums.SERVICE_TASK,
NodeCategoryEnums.TASK,
@ -89,7 +85,6 @@ public enum NodeTypeEnums {
"网关节点",
null,
GatewayNodePanelVariables.class,
null,
NodeUiVariables.class,
BpmnNodeTypeEnums.EXCLUSIVE_GATEWAY,
NodeCategoryEnums.GATEWAY,
@ -100,7 +95,6 @@ public enum NodeTypeEnums {
"通知节点",
NotificationNodeLocalVariables.class,
NotificationNodePanelVariables.class,
null,
NodeUiVariables.class,
BpmnNodeTypeEnums.SERVICE_TASK,
NodeCategoryEnums.TASK,
@ -111,7 +105,6 @@ public enum NodeTypeEnums {
"审批节点",
ApprovalNodeLocalVariables.class,
ApprovalNodePanelVariables.class,
ApprovalNodeFormVariables.class,
NodeUiVariables.class,
BpmnNodeTypeEnums.USER_TASK,
NodeCategoryEnums.TASK,
@ -260,7 +253,7 @@ public enum NodeTypeEnums {
private final Class<?> panelVariables;
private final Class<?> formVariables;
// private final Class<?> formVariables;
private final Class<?> uiVariables;
@ -275,7 +268,7 @@ public enum NodeTypeEnums {
String name,
Class<?> localVariables,
Class<?> panelVariables,
Class<?> formVariables,
// Class<?> formVariables,
Class<?> uiVariables,
BpmnNodeTypeEnums bpmnType,
NodeCategoryEnums category,
@ -285,7 +278,7 @@ public enum NodeTypeEnums {
this.name = name;
this.localVariables = localVariables;
this.panelVariables = panelVariables;
this.formVariables = formVariables;
// this.formVariables = formVariables;
this.uiVariables = uiVariables;
this.bpmnType = bpmnType;
this.category = category;

View File

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

View File

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