Skip to content

Commit ba27006

Browse files
committed
add ui
1 parent 766f841 commit ba27006

6 files changed

Lines changed: 24 additions & 16 deletions

File tree

flow-engine-framework/src/main/java/com/codingapi/flow/form/FormMeta.java

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -69,14 +69,16 @@ public static FormMeta fromMap(Map<String, Object> map) {
6969
FormMeta form = new FormMeta();
7070
List<Map<String, Object>> fields = (List<Map<String, Object>>) map.get("fields");
7171
List<FormFieldMeta> fieldList = new ArrayList<>();
72-
for (Map<String, Object> field : fields) {
73-
FormFieldMeta fieldMeta = new FormFieldMeta();
74-
fieldMeta.setName((String) field.get("name"));
75-
fieldMeta.setCode((String) field.get("code"));
76-
fieldMeta.setType((String) field.get("type"));
77-
fieldMeta.setRequired(Boolean.TRUE.equals(field.get("required")));
78-
fieldMeta.setDefaultValue((String) field.get("defaultValue"));
79-
fieldList.add(fieldMeta);
72+
if(fields!=null && !fields.isEmpty()) {
73+
for (Map<String, Object> field : fields) {
74+
FormFieldMeta fieldMeta = new FormFieldMeta();
75+
fieldMeta.setName((String) field.get("name"));
76+
fieldMeta.setCode((String) field.get("code"));
77+
fieldMeta.setType((String) field.get("type"));
78+
fieldMeta.setRequired(Boolean.TRUE.equals(field.get("required")));
79+
fieldMeta.setDefaultValue((String) field.get("defaultValue"));
80+
fieldList.add(fieldMeta);
81+
}
8082
}
8183
form.setName((String) map.get("name"));
8284
form.setCode((String) map.get("code"));

flow-engine-starter-api/src/main/java/com/codingapi/flow/api/controller/WorkflowController.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,15 @@
99
import com.codingapi.springboot.framework.dto.response.Response;
1010
import com.codingapi.springboot.framework.dto.response.SingleResponse;
1111
import com.codingapi.springboot.framework.user.UserContext;
12+
import jakarta.transaction.Transactional;
1213
import lombok.AllArgsConstructor;
1314
import org.springframework.web.bind.annotation.*;
1415

1516

1617
@RestController
1718
@RequestMapping("/api/cmd/workflow")
1819
@AllArgsConstructor
20+
@Transactional
1921
public class WorkflowController {
2022

2123
private final WorkflowRepository workflowRepository;
@@ -38,11 +40,11 @@ public SingleResponse<JSONObject> create() {
3840
@PostMapping("/save")
3941
public Response save(@RequestBody JSONObject request) {
4042
IFlowOperator current = (IFlowOperator) UserContext.getInstance().current();
41-
if(current!=null){
42-
request.put("createdOperator",String.valueOf(current.getUserId()));
43+
if (current != null) {
44+
request.put("createdOperator", String.valueOf(current.getUserId()));
4345
}
44-
Workflow workflow = Workflow.formJson(request.toJSONString());
45-
System.out.println(workflow);
46+
Workflow workflow = Workflow.formJson(request.toJSONString());
47+
workflowRepository.save(workflow);
4648
return Response.buildSuccess();
4749
}
4850

flow-engine-starter-infra/src/main/java/com/codingapi/flow/infra/entity/convert/MapConvertor.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import jakarta.persistence.AttributeConverter;
55
import org.springframework.util.StringUtils;
66

7+
import java.util.HashMap;
78
import java.util.Map;
89

910
public class MapConvertor implements AttributeConverter<Map<String,Object>,String> {
@@ -19,7 +20,7 @@ public String convertToDatabaseColumn(Map<String, Object> map) {
1920
@Override
2021
public Map<String, Object> convertToEntityAttribute(String dbData) {
2122
if(!StringUtils.hasText(dbData)){
22-
return null;
23+
return new HashMap<>();
2324
}
2425
return JSON.parseObject(dbData);
2526
}

frontend/packages/flow-design/src/pages/design-panel/hooks/use-design-context.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ export const useDesignContext = () => {
1212
if (!context) {
1313
throw new Error("DesignPanelContext must be used within useContext");
1414
}
15+
console.log('useDesignContext state', state);
1516
return {
1617
state,
1718
context,

frontend/packages/flow-design/src/pages/design-panel/manager/workflow/strategy.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,10 @@ export class WorkflowStrategyManager {
1414
let value = {};
1515
for (const key in this.strategies){
1616
const currentValue = this.strategies[key];
17-
value = Object.assign(value,{
18-
[key]:currentValue,
17+
value = Object.assign(value, {
18+
[currentValue[WorkflowStrategyManager.TYPE_KEY]]:{
19+
...currentValue
20+
},
1921
});
2022
}
2123
value = {

frontend/packages/flow-design/src/pages/design-panel/presenters/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ export class Presenter {
9393
...values
9494
}
9595
};
96-
await this.api.save(values);
96+
await this.api.save(latest.workflow);
9797
console.log('save latest:', latest);
9898
}
9999

0 commit comments

Comments
 (0)