Skip to content

Commit 51f359d

Browse files
committed
add meta
1 parent 4ba5136 commit 51f359d

File tree

2 files changed

+105
-43
lines changed

2 files changed

+105
-43
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
package com.codingapi.example.app.cmd.meta.service;
2+
3+
import com.codingapi.example.app.cmd.meta.pojo.FlowCmd;
4+
import com.codingapi.example.infra.flow.user.FlowUserRepository;
5+
import com.codingapi.springboot.flow.pojo.FlowResult;
6+
import com.codingapi.springboot.flow.pojo.FlowStepResult;
7+
import com.codingapi.springboot.flow.pojo.FlowSubmitResult;
8+
import com.codingapi.springboot.flow.result.MessageResult;
9+
import com.codingapi.springboot.flow.service.FlowService;
10+
import com.codingapi.springboot.flow.user.IFlowOperator;
11+
import lombok.AllArgsConstructor;
12+
import org.springframework.stereotype.Service;
13+
14+
@Service
15+
@AllArgsConstructor
16+
public class FlowRecordRouter {
17+
18+
19+
private final FlowService flowService;
20+
private final FlowUserRepository flowUserRepository;
21+
22+
public FlowResult startFlow(FlowCmd.StartFlow request) {
23+
IFlowOperator current = flowUserRepository.getUserByUsername(request.getUserName());
24+
return flowService.startFlow(request.getWorkCode(), current, request.getBindData(), request.getAdvice());
25+
}
26+
27+
public FlowStepResult getFlowStep(FlowCmd.FlowStep request) {
28+
IFlowOperator current = flowUserRepository.getUserByUsername(request.getUserName());
29+
return flowService.getFlowStep(request.getWorkCode(), request.getBindData(), current);
30+
}
31+
32+
33+
public FlowSubmitResult trySubmitFlow(FlowCmd.SubmitFlow request) {
34+
IFlowOperator current = flowUserRepository.getUserByUsername(request.getUserName());
35+
if (request.getRecordId() > 0) {
36+
return flowService.trySubmitFlow(request.getRecordId(), current, request.getBindData(), request.getOpinion());
37+
} else {
38+
return flowService.trySubmitFlow(request.getWorkCode(), current, request.getBindData(), request.getOpinion());
39+
}
40+
}
41+
42+
43+
public FlowResult submitFlow(FlowCmd.SubmitFlow request) {
44+
IFlowOperator current = flowUserRepository.getUserByUsername(request.getUserName());
45+
if (current.isFlowManager()) {
46+
return flowService.interfere(request.getRecordId(), current, request.getBindData(), request.getOpinion());
47+
} else {
48+
return flowService.submitFlow(request.getRecordId(), current, request.getBindData(), request.getOpinion());
49+
}
50+
}
51+
52+
public MessageResult customFlowEvent(FlowCmd.CustomFlow request) {
53+
IFlowOperator current = flowUserRepository.getUserByUsername(request.getUserName());
54+
return flowService.customFlowEvent(request.getRecordId(), current, request.getButtonId(), request.getBindData(), request.getOpinion());
55+
}
56+
57+
58+
public void save(FlowCmd.SaveFlow request) {
59+
IFlowOperator current = flowUserRepository.getUserByUsername(request.getUserName());
60+
flowService.save(request.getRecordId(), current, request.getBindData(), request.getAdvice());
61+
}
62+
63+
public void recall(FlowCmd.RecallFlow request) {
64+
IFlowOperator current = flowUserRepository.getUserByUsername(request.getUserName());
65+
flowService.recall(request.getRecordId(), current);
66+
}
67+
68+
69+
public void transfer(FlowCmd.TransferFlow request) {
70+
IFlowOperator current = flowUserRepository.getUserByUsername(request.getUserName());
71+
IFlowOperator target = flowUserRepository.getFlowOperatorById(request.getTargetUserId());
72+
flowService.transfer(request.getRecordId(), current, target, request.getBindData(), request.getAdvice());
73+
}
74+
75+
76+
public void postponed(FlowCmd.PostponedFlow request) {
77+
IFlowOperator current = flowUserRepository.getUserByUsername(request.getUserName());
78+
flowService.postponed(request.getRecordId(), current, request.getTimeOut());
79+
}
80+
81+
82+
public void urge(FlowCmd.UrgeFlow request) {
83+
IFlowOperator current = flowUserRepository.getUserByUsername(request.getUserName());
84+
flowService.urge(request.getRecordId(), current);
85+
}
86+
87+
88+
public void remove(FlowCmd.RemoveFlow request) {
89+
IFlowOperator current = flowUserRepository.getUserByUsername(request.getUserName());
90+
flowService.remove(request.getRecordId(), current);
91+
}
92+
}

example/example-interface/src/main/java/com/codingapi/example/api/meta/FlowRecordCmdController.java

+13-43
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
package com.codingapi.example.api.meta;
22

33
import com.codingapi.example.app.cmd.meta.pojo.FlowCmd;
4-
import com.codingapi.example.infra.flow.user.FlowUserRepository;
4+
import com.codingapi.example.app.cmd.meta.service.FlowRecordRouter;
55
import com.codingapi.springboot.flow.pojo.FlowResult;
66
import com.codingapi.springboot.flow.pojo.FlowStepResult;
77
import com.codingapi.springboot.flow.pojo.FlowSubmitResult;
88
import com.codingapi.springboot.flow.result.MessageResult;
9-
import com.codingapi.springboot.flow.service.FlowService;
10-
import com.codingapi.springboot.flow.user.IFlowOperator;
119
import com.codingapi.springboot.framework.dto.response.Response;
1210
import com.codingapi.springboot.framework.dto.response.SingleResponse;
1311
import lombok.AllArgsConstructor;
@@ -23,94 +21,66 @@
2321
@AllArgsConstructor
2422
public class FlowRecordCmdController {
2523

26-
private final FlowService flowService;
27-
private final FlowUserRepository flowUserRepository;
24+
private final FlowRecordRouter flowRecordRouter;
2825

2926
@PostMapping("/startFlow")
3027
public SingleResponse<FlowResult> startFlow(@RequestBody FlowCmd.StartFlow request) {
31-
IFlowOperator current = flowUserRepository.getUserByUsername(request.getUserName());
32-
return SingleResponse.of(flowService.startFlow(request.getWorkCode(), current, request.getBindData(), request.getAdvice()));
28+
return SingleResponse.of(flowRecordRouter.startFlow(request));
3329
}
3430

3531
@PostMapping("/getFlowStep")
3632
public SingleResponse<FlowStepResult> getFlowStep(@RequestBody FlowCmd.FlowStep request) {
37-
IFlowOperator current = flowUserRepository.getUserByUsername(request.getUserName());
38-
return SingleResponse.of(flowService.getFlowStep(request.getWorkCode(), request.getBindData(), current));
33+
return SingleResponse.of(flowRecordRouter.getFlowStep(request));
3934
}
4035

41-
4236
@PostMapping("/trySubmitFlow")
4337
public SingleResponse<FlowSubmitResult> trySubmitFlow(@RequestBody FlowCmd.SubmitFlow request) {
44-
IFlowOperator current = flowUserRepository.getUserByUsername(request.getUserName());
45-
if (request.getRecordId() > 0) {
46-
return SingleResponse.of(flowService.trySubmitFlow(request.getRecordId(), current, request.getBindData(), request.getOpinion()));
47-
} else {
48-
return SingleResponse.of(flowService.trySubmitFlow(request.getWorkCode(), current, request.getBindData(), request.getOpinion()));
49-
}
38+
return SingleResponse.of(flowRecordRouter.trySubmitFlow(request));
5039
}
5140

52-
5341
@PostMapping("/submitFlow")
5442
public SingleResponse<FlowResult> submitFlow(@RequestBody FlowCmd.SubmitFlow request) {
55-
IFlowOperator current = flowUserRepository.getUserByUsername(request.getUserName());
56-
if (current.isFlowManager()) {
57-
return SingleResponse.of(flowService.interfere(request.getRecordId(), current, request.getBindData(), request.getOpinion()));
58-
} else {
59-
return SingleResponse.of(flowService.submitFlow(request.getRecordId(), current, request.getBindData(), request.getOpinion()));
60-
}
43+
return SingleResponse.of(flowRecordRouter.submitFlow(request));
6144
}
6245

6346
@PostMapping("/custom")
6447
public SingleResponse<MessageResult> customFlowEvent(@RequestBody FlowCmd.CustomFlow request) {
65-
IFlowOperator current = flowUserRepository.getUserByUsername(request.getUserName());
66-
return SingleResponse.of(flowService.customFlowEvent(request.getRecordId(), current, request.getButtonId(), request.getBindData(), request.getOpinion()));
48+
return SingleResponse.of(flowRecordRouter.customFlowEvent(request));
6749
}
6850

69-
7051
@PostMapping("/save")
7152
public Response save(@RequestBody FlowCmd.SaveFlow request) {
72-
IFlowOperator current = flowUserRepository.getUserByUsername(request.getUserName());
73-
flowService.save(request.getRecordId(), current, request.getBindData(), request.getAdvice());
53+
flowRecordRouter.save(request);
7454
return Response.buildSuccess();
7555
}
7656

7757
@PostMapping("/recall")
7858
public Response recall(@RequestBody FlowCmd.RecallFlow request) {
79-
IFlowOperator current = flowUserRepository.getUserByUsername(request.getUserName());
80-
flowService.recall(request.getRecordId(), current);
59+
flowRecordRouter.recall(request);
8160
return Response.buildSuccess();
8261
}
8362

84-
8563
@PostMapping("/transfer")
8664
public Response transfer(@RequestBody FlowCmd.TransferFlow request) {
87-
IFlowOperator current = flowUserRepository.getUserByUsername(request.getUserName());
88-
IFlowOperator target = flowUserRepository.getFlowOperatorById(request.getTargetUserId());
89-
flowService.transfer(request.getRecordId(), current, target, request.getBindData(), request.getAdvice());
65+
flowRecordRouter.transfer(request);
9066
return Response.buildSuccess();
9167
}
9268

93-
9469
@PostMapping("/postponed")
9570
public Response postponed(@RequestBody FlowCmd.PostponedFlow request) {
96-
IFlowOperator current = flowUserRepository.getUserByUsername(request.getUserName());
97-
flowService.postponed(request.getRecordId(), current, request.getTimeOut());
71+
flowRecordRouter.postponed(request);
9872
return Response.buildSuccess();
9973
}
10074

101-
10275
@PostMapping("/urge")
10376
public Response urge(@RequestBody FlowCmd.UrgeFlow request) {
104-
IFlowOperator current = flowUserRepository.getUserByUsername(request.getUserName());
105-
flowService.urge(request.getRecordId(), current);
77+
flowRecordRouter.urge(request);
10678
return Response.buildSuccess();
10779
}
10880

109-
11081
@PostMapping("/remove")
11182
public Response remove(@RequestBody FlowCmd.RemoveFlow request) {
112-
IFlowOperator current = flowUserRepository.getUserByUsername(request.getUserName());
113-
flowService.remove(request.getRecordId(), current);
83+
flowRecordRouter.remove(request);
11484
return Response.buildSuccess();
11585
}
11686

0 commit comments

Comments
 (0)