Skip to content

Commit 8542346

Browse files
committed
fix #80
1 parent 4f1ced3 commit 8542346

16 files changed

Lines changed: 29 additions & 20 deletions

File tree

flow-engine-framework/src/main/java/com/codingapi/flow/domain/UrgeInterval.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,6 @@ public class UrgeInterval {
2121
public UrgeInterval(FlowRecord flowRecord) {
2222
this.processId = flowRecord.getProcessId();
2323
this.recordId = flowRecord.getId();
24-
this.createTime = flowRecord.getCreateTime();
24+
this.createTime = System.currentTimeMillis();
2525
}
2626
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ public static FlowStateException nodeNotSupportRevoke() {
114114
*
115115
* @return exception
116116
*/
117-
public static FlowStateException recordNotSupportUrge() {
118-
return new FlowStateException("record.notSupportUrge", "record not support urge");
117+
public static FlowStateException recordLimitUrgeError() {
118+
return new FlowStateException("record.urge.limit", "record urge limit error");
119119
}
120120
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ public class FlowRecord {
210210
private long timeoutTime;
211211
/**
212212
* 是否可合并
213-
* {@link FlowRecord#getMergeKey()}
213+
* {@link FlowRecord#getTodoKey()}
214214
*/
215215
private boolean mergeable;
216216
/**
@@ -247,7 +247,7 @@ public class FlowRecord {
247247
* 数据合并的依据,当开启时值为固定值,否则为随机数据
248248
* 相同的 {@link FlowRecord#currentOperatorId} {@link FlowRecord#workRuntimeId} {@link FlowRecord#nodeId}字段的数据合并到一条记录上。
249249
*/
250-
public String getMergeKey() {
250+
public String getTodoKey() {
251251
if (mergeable) {
252252
return String.format("%s-%s-%s", currentOperatorId, workRuntimeId, nodeId);
253253
} else {

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ public class FlowTodoRecord {
8080

8181
/**
8282
* 合并记录id,当存在合并记录数据时待办记录数量不会增加,内容会更新至最新的待办数据信息。
83-
* {@link FlowRecord#getMergeKey()}
83+
* {@link FlowRecord#getTodoKey()}
8484
*/
8585
private String mergeKey;
8686

@@ -126,7 +126,7 @@ public void update(FlowRecord flowRecord) {
126126
this.createTime = flowRecord.getCreateTime();
127127
this.createOperatorId = flowRecord.getCreateOperatorId();
128128
this.createOperatorName = flowRecord.getCreateOperatorName();
129-
this.mergeKey = flowRecord.getMergeKey();
129+
this.mergeKey = flowRecord.getTodoKey();
130130
this.mergeable = flowRecord.isMergeable();
131131
this.recordId = flowRecord.getId();
132132
this.timeoutTime = flowRecord.getTimeoutTime();

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
@@ -8,7 +8,7 @@ public interface FlowTodoRecordRepository {
88

99
void saveAll(List<FlowTodoRecord> margeRecords);
1010

11-
FlowTodoRecord getByMergeKey(String key);
11+
FlowTodoRecord getByTodoKey(String key);
1212

1313
void delete(FlowTodoRecord margeRecord);
1414

flow-engine-framework/src/main/java/com/codingapi/flow/service/FlowRecordSaveService.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ private void saveTodoMargeRecords() {
4444
List<FlowTodoRecord> flowTodoRecords = new ArrayList<>();
4545
for (FlowRecord flowRecord : flowRecords) {
4646
if (flowRecord.isTodo()) {
47-
FlowTodoRecord todoMargeRecord = flowTodoRecordRepository.getByMergeKey(flowRecord.getMergeKey());
47+
FlowTodoRecord todoMargeRecord = flowTodoRecordRepository.getByTodoKey(flowRecord.getTodoKey());
4848
if (todoMargeRecord == null) {
4949
todoMargeRecord = new FlowTodoRecord(flowRecord);
5050
} else {
@@ -83,7 +83,7 @@ private void removeTodoMergeRecords() {
8383
for (FlowRecord flowRecord : flowRecords) {
8484
if (flowRecord.isDone()) {
8585
if (flowRecord.isMergeable()) {
86-
FlowTodoRecord todoMargeRecord = flowTodoRecordRepository.getByMergeKey(flowRecord.getMergeKey());
86+
FlowTodoRecord todoMargeRecord = flowTodoRecordRepository.getByTodoKey(flowRecord.getTodoKey());
8787
if (todoMargeRecord != null) {
8888
List<FlowTodoMerge> margeRelations = flowTodoMergeRepository.findByTodoId(todoMargeRecord.getId());
8989
if (margeRelations != null && !margeRelations.isEmpty()) {
@@ -101,7 +101,14 @@ private void removeTodoMergeRecords() {
101101
}
102102
}
103103
} else {
104-
FlowTodoRecord flowTodoRecord = flowTodoRecordRepository.getByMergeKey(flowRecord.getMergeKey());
104+
FlowTodoRecord flowTodoRecord = flowTodoRecordRepository.getByTodoKey(flowRecord.getTodoKey());
105+
if (flowTodoRecord != null) {
106+
flowTodoRecordRepository.delete(flowTodoRecord);
107+
}
108+
}
109+
}else {
110+
if(flowRecord.isRevoked()){
111+
FlowTodoRecord flowTodoRecord = flowTodoRecordRepository.getByTodoKey(flowRecord.getTodoKey());
105112
if (flowTodoRecord != null) {
106113
flowTodoRecordRepository.delete(flowTodoRecord);
107114
}

flow-engine-framework/src/main/java/com/codingapi/flow/service/FlowRecordService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public void saveFlowRecord(FlowRecord flowRecord) {
4848
* @return 流程合并记录
4949
*/
5050
public List<FlowRecord> getMergeRecord(String mergeKey){
51-
FlowTodoRecord todoRecord = flowTodoRecordRepository.getByMergeKey(mergeKey);
51+
FlowTodoRecord todoRecord = flowTodoRecordRepository.getByTodoKey(mergeKey);
5252
List<FlowTodoMerge> todoMerges = flowTodoMergeRepository.findByTodoId(todoRecord.getId());
5353
return this.findFlowRecordByIds(todoMerges.stream().map(FlowTodoMerge::getRecordId).toList());
5454
}

flow-engine-framework/src/main/java/com/codingapi/flow/service/impl/FlowDetailService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ private void loadWorkflow(){
8787
private void loadTodoFlowRecords(){
8888
if(this.flowRecord!=null){
8989
if(this.flowRecord.isMergeable() && this.flowRecord.isTodo()){
90-
List<FlowRecord> margeRecords = flowRecordService.getMergeRecord(flowRecord.getMergeKey());
90+
List<FlowRecord> margeRecords = flowRecordService.getMergeRecord(flowRecord.getTodoKey());
9191
this.flowContent.pushRecords(this.flowRecord, margeRecords);
9292
}else {
9393
this.flowContent.pushRecords(this.flowRecord,List.of(this.flowRecord));

flow-engine-framework/src/main/java/com/codingapi/flow/service/impl/FlowUrgeService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ public void urge() {
7171
if (strategyManager.isEnableUrge()) {
7272
UrgeStrategy urgeStrategy = strategyManager.getStrategy(UrgeStrategy.class);
7373
if (!urgeStrategy.hasUrge(urgeInterval)) {
74-
throw FlowStateException.recordNotSupportUrge();
74+
throw FlowStateException.recordLimitUrgeError();
7575
}
7676
}
7777
}

flow-engine-framework/src/main/java/com/codingapi/flow/strategy/workflow/UrgeStrategy.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public static UrgeStrategy fromMap(Map<String, Object> map) {
5656
}
5757

5858
/**
59-
* 是否有催办
59+
* 是否可催办
6060
*/
6161
public boolean hasUrge(UrgeInterval urgeInterval) {
6262
long interval = this.interval * 1000L;

0 commit comments

Comments
 (0)