Skip to content

Commit 3b8cb65

Browse files
authored
Merge pull request #73 from codingapi/dev
Dev
2 parents c1c7707 + 126369c commit 3b8cb65

82 files changed

Lines changed: 1689 additions & 479 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

flow-engine-framework/src/main/java/com/codingapi/flow/context/RepositoryHolderContext.java

Lines changed: 21 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
package com.codingapi.flow.context;
22

3-
import com.codingapi.flow.context.service.FlowRecordSaveService;
43
import com.codingapi.flow.domain.DelayTask;
54
import com.codingapi.flow.exception.FlowStateException;
65
import com.codingapi.flow.gateway.FlowOperatorGateway;
76
import com.codingapi.flow.operator.IFlowOperator;
87
import com.codingapi.flow.record.FlowRecord;
98
import com.codingapi.flow.repository.*;
9+
import com.codingapi.flow.service.FlowRecordService;
1010
import com.codingapi.flow.service.FlowService;
11+
import com.codingapi.flow.service.WorkflowService;
1112
import com.codingapi.flow.service.impl.FlowActionService;
1213
import com.codingapi.flow.service.impl.FlowDelayTriggerService;
1314
import com.codingapi.flow.session.FlowSession;
@@ -27,15 +28,9 @@ private RepositoryHolderContext() {
2728
}
2829

2930
@Getter
30-
private WorkflowRepository workflowRepository;
31+
private WorkflowService workflowService;
3132
@Getter
32-
private WorkflowBackupRepository workflowBackupRepository;
33-
@Getter
34-
private FlowRecordRepository flowRecordRepository;
35-
@Getter
36-
private FlowTodoRecordRepository flowTodoRecordRepository;
37-
@Getter
38-
private FlowTodoMergeRepository flowTodoMergeRepository;
33+
private FlowRecordService flowRecordService;
3934
@Getter
4035
private FlowOperatorGateway flowOperatorGateway;
4136
@Getter
@@ -51,12 +46,9 @@ private RepositoryHolderContext() {
5146
public boolean isRegistered() {
5247
return parallelBranchRepository != null
5348
&& delayTaskRepository != null
54-
&& workflowBackupRepository != null
55-
&& flowRecordRepository != null
56-
&& flowTodoRecordRepository != null
57-
&& flowTodoMergeRepository != null
49+
&& workflowService != null
50+
&& flowRecordService != null
5851
&& flowOperatorGateway != null
59-
&& workflowRepository != null
6052
&& urgeIntervalRepository != null;
6153
}
6254

@@ -67,20 +59,14 @@ public void verify() {
6759
}
6860
}
6961

70-
public void register(WorkflowRepository workflowRepository,
71-
WorkflowBackupRepository workflowBackupRepository,
72-
FlowRecordRepository flowRecordRepository,
73-
FlowTodoRecordRepository flowTodoRecordRepository,
74-
FlowTodoMergeRepository flowTodoMergeRepository,
62+
public void register(WorkflowService workflowService,
63+
FlowRecordService flowRecordService,
7564
FlowOperatorGateway flowOperatorGateway,
7665
ParallelBranchRepository parallelBranchRepository,
7766
DelayTaskRepository delayTaskRepository,
7867
UrgeIntervalRepository urgeIntervalRepository) {
79-
this.workflowRepository = workflowRepository;
80-
this.workflowBackupRepository = workflowBackupRepository;
81-
this.flowRecordRepository = flowRecordRepository;
82-
this.flowTodoRecordRepository = flowTodoRecordRepository;
83-
this.flowTodoMergeRepository = flowTodoMergeRepository;
68+
this.workflowService = workflowService;
69+
this.flowRecordService = flowRecordService;
8470
this.flowOperatorGateway = flowOperatorGateway;
8571
this.parallelBranchRepository = parallelBranchRepository;
8672
this.delayTaskRepository = delayTaskRepository;
@@ -98,8 +84,8 @@ public FlowDelayTriggerService createDelayTriggerService(DelayTask task) {
9884
this.verify();
9985
return new FlowDelayTriggerService(task,
10086
flowOperatorGateway,
101-
flowRecordRepository,
102-
workflowBackupRepository);
87+
flowRecordService,
88+
workflowService);
10389
}
10490

10591

@@ -122,19 +108,17 @@ public FlowActionService createFlowActionService(FlowSession flowSession) {
122108
*/
123109
public FlowService createFlowService() {
124110
this.verify();
125-
return new FlowService(workflowRepository,
111+
return new FlowService(
112+
workflowService,
126113
flowOperatorGateway,
127-
flowRecordRepository,
128-
flowTodoRecordRepository,
129-
flowTodoMergeRepository,
130-
workflowBackupRepository,
114+
flowRecordService,
131115
parallelBranchRepository,
132116
delayTaskRepository,
133117
urgeIntervalRepository);
134118
}
135119

136120
public FlowRecord getRecordById(long id) {
137-
return flowRecordRepository.get(id);
121+
return flowRecordService.getFlowRecord(id);
138122
}
139123

140124
public List<IFlowOperator> findOperatorByIds(List<Long> ids) {
@@ -157,25 +141,23 @@ public void deleteDelayTask(DelayTask delayTask) {
157141

158142

159143
public void saveRecords(List<FlowRecord> flowRecords) {
160-
FlowRecordSaveService flowRecordSaveService = new FlowRecordSaveService(flowRecords);
161-
flowRecordSaveService.saveAll();
144+
flowRecordService.saveFlowRecords(flowRecords);
162145
}
163146

164147
public void saveRecord(FlowRecord flowRecord) {
165-
FlowRecordSaveService flowRecordSaveService = new FlowRecordSaveService(flowRecord);
166-
flowRecordSaveService.saveAll();
148+
flowRecordService.saveFlowRecord(flowRecord);
167149
}
168150

169151
public List<FlowRecord> findCurrentNodeRecords(long fromId, String nodeId) {
170-
return flowRecordRepository.findCurrentNodeRecords(fromId, nodeId);
152+
return flowRecordService.findFlowRecordCurrentNodeRecords(fromId, nodeId);
171153
}
172154

173155
public List<FlowRecord> findProcessRecords(String processId) {
174-
return flowRecordRepository.findProcessRecords(processId);
156+
return flowRecordService.findFlowRecordByProcessId(processId);
175157
}
176158

177159
public List<FlowRecord> findAfterRecords(String processId, long currentId) {
178-
return flowRecordRepository.findAfterRecords(processId, currentId);
160+
return flowRecordService.findFlowRecordAfterRecords(processId, currentId);
179161
}
180162

181163
public int getParallelBranchTriggerCount(String parallelId) {

flow-engine-framework/src/main/java/com/codingapi/flow/exception/FlowExecutionException.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,16 @@ public static FlowExecutionException routerNodeNotFound(String nodeId) {
5454
String.format("Router node not found: %s", nodeId));
5555
}
5656

57+
/**
58+
* remove version error
59+
*
60+
* @return exception
61+
*/
62+
public static FlowExecutionException removeWorkflowError() {
63+
return new FlowExecutionException("execution.workflowVersion.removeError",
64+
"current version don't remove.");
65+
}
66+
5767
/**
5868
* Create record size error
5969
*

flow-engine-framework/src/main/java/com/codingapi/flow/record/FlowRecord.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public class FlowRecord {
4747
/**
4848
* 工作id
4949
*/
50-
private long workBackupId;
50+
private long workRuntimeId;
5151
/**
5252
* 流程编码
5353
*/
@@ -245,11 +245,11 @@ public class FlowRecord {
245245

246246
/**
247247
* 数据合并的依据,当开启时值为固定值,否则为随机数据
248-
* 相同的 {@link FlowRecord#currentOperatorId} {@link FlowRecord#workBackupId} {@link FlowRecord#nodeId}字段的数据合并到一条记录上。
248+
* 相同的 {@link FlowRecord#currentOperatorId} {@link FlowRecord#workRuntimeId} {@link FlowRecord#nodeId}字段的数据合并到一条记录上。
249249
*/
250250
public String getMergeKey() {
251251
if (mergeable) {
252-
return String.format("%s-%s-%s", currentOperatorId, workBackupId, nodeId);
252+
return String.format("%s-%s-%s", currentOperatorId, workRuntimeId, nodeId);
253253
} else {
254254
return String.valueOf(id);
255255
}
@@ -263,7 +263,7 @@ public FlowRecord(FlowSession flowSession, int nodeOrder) {
263263
// 获取转交之后的审批人
264264
IFlowOperator currentOperator = flowSession.loadFinalForwardOperator(sourceOperator);
265265
this.workCode = flowSession.getWorkCode();
266-
this.workBackupId = flowSession.getBackupId();
266+
this.workRuntimeId = flowSession.getBackupId();
267267
this.nodeId = flowSession.getCurrentNodeId();
268268
this.nodeType = flowSession.getCurrentNodeType();
269269
this.nodeName = flowSession.getCurrentNodeName();
@@ -591,7 +591,7 @@ public FlowSession createFlowSession( Workflow workflow,
591591
formData,
592592
this,
593593
currentRecords,
594-
this.workBackupId,
594+
this.workRuntimeId,
595595
advice
596596
);
597597
}

flow-engine-framework/src/main/java/com/codingapi/flow/record/FlowTodoRecord.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ public FlowTodoRecord(FlowRecord flowRecord) {
114114

115115
public void update(FlowRecord flowRecord) {
116116
this.processId = flowRecord.getProcessId();
117-
this.workBackupId = flowRecord.getWorkBackupId();
117+
this.workBackupId = flowRecord.getWorkRuntimeId();
118118
this.workCode = flowRecord.getWorkCode();
119119
this.nodeId = flowRecord.getNodeId();
120120
this.nodeType = flowRecord.getNodeType();

flow-engine-framework/src/main/java/com/codingapi/flow/repository/FlowTodoMergeRepository.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ public interface FlowTodoMergeRepository {
88

99
void saveAll(List<FlowTodoMerge> list);
1010

11-
void remove(FlowTodoMerge todoMerge);
11+
void delete(FlowTodoMerge todoMerge);
1212

1313
List<FlowTodoMerge> findByTodoId(long todoId);
1414

flow-engine-framework/src/main/java/com/codingapi/flow/repository/FlowTodoRecordRepository.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ public interface FlowTodoRecordRepository {
1010

1111
FlowTodoRecord getByMergeKey(String key);
1212

13-
void remove(FlowTodoRecord margeRecord);
13+
void delete(FlowTodoRecord margeRecord);
1414

1515
void save(FlowTodoRecord margeRecord);
1616

flow-engine-framework/src/main/java/com/codingapi/flow/repository/WorkflowBackupRepository.java

Lines changed: 0 additions & 18 deletions
This file was deleted.

flow-engine-framework/src/main/java/com/codingapi/flow/repository/WorkflowRepository.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@ public interface WorkflowRepository {
1111

1212
Workflow get(String id);
1313

14-
void delete(Workflow workflow);
14+
void delete(String id);
1515

1616
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package com.codingapi.flow.repository;
2+
3+
import com.codingapi.flow.workflow.runtime.WorkflowRuntime;
4+
5+
/**
6+
* 运行时流程仓库
7+
*/
8+
public interface WorkflowRuntimeRepository {
9+
10+
void save(WorkflowRuntime workflowRuntime);
11+
12+
WorkflowRuntime get(long id);
13+
14+
WorkflowRuntime getByWorkId(String workId, long workVersion);
15+
16+
void delete(WorkflowRuntime backup);
17+
18+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package com.codingapi.flow.repository;
2+
3+
import com.codingapi.flow.workflow.WorkflowVersion;
4+
5+
import java.util.List;
6+
7+
/**
8+
* 工作流版本仓库
9+
*/
10+
public interface WorkflowVersionRepository {
11+
12+
WorkflowVersion get(long id);
13+
14+
void delete(String workId);
15+
16+
List<WorkflowVersion> findVersion(String workId);
17+
18+
void saveAll(List<WorkflowVersion> versionList);
19+
20+
void save(WorkflowVersion workflowVersion);
21+
22+
void delete(long id);
23+
24+
}

0 commit comments

Comments
 (0)