Skip to content

Commit a2a74fa

Browse files
authored
Merge pull request #93 from codingapi/dev
Dev
2 parents c4eaef7 + 9197aa7 commit a2a74fa

File tree

66 files changed

+1333
-1188
lines changed

Some content is hidden

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

66 files changed

+1333
-1188
lines changed

admin-ui/src/pages/flow/leave/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ const LeavePage = () => {
6262
view={LeaveForm}
6363
workCode={"leave"}
6464
formParams={{
65-
clazzName: 'com.codingapi.example.domain.Leave',
65+
clazzName: 'com.codingapi.example.infra.flow.form.LeaveForm',
6666
username: username
6767
}}
6868
/>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package com.codingapi.example.app.cmd.domain.configuration;
2+
3+
import com.codingapi.example.domain.leave.repository.LeaveRepository;
4+
import com.codingapi.example.domain.leave.service.LeaveService;
5+
import org.springframework.context.annotation.Bean;
6+
import org.springframework.context.annotation.Configuration;
7+
8+
@Configuration
9+
public class LeaveDomainConfiguration {
10+
11+
@Bean
12+
public LeaveService leaveService(LeaveRepository leaveRepository){
13+
return new LeaveService(leaveRepository);
14+
}
15+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package com.codingapi.example.app.cmd.domain.configuration;
2+
3+
import com.codingapi.example.domain.user.gateway.PasswordEncoder;
4+
import com.codingapi.example.domain.user.repository.UserRepository;
5+
import com.codingapi.example.domain.user.service.UserService;
6+
import org.springframework.context.annotation.Bean;
7+
import org.springframework.context.annotation.Configuration;
8+
9+
@Configuration
10+
public class UserDomainConfiguration {
11+
12+
@Bean
13+
public UserService userService(UserRepository userRepository, PasswordEncoder passwordEncoder) {
14+
return new UserService(userRepository, passwordEncoder);
15+
}
16+
17+
}

example/example-app/example-app-cmd-domain/src/main/java/com/codingapi/example/app/cmd/domain/pojo/UserCmd.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.codingapi.example.app.cmd.domain.pojo;
22

3+
import com.codingapi.example.domain.user.entity.UserMetric;
34
import lombok.Getter;
45
import lombok.Setter;
56

@@ -12,6 +13,11 @@ public static class UpdateRequest{
1213
private String name;
1314
private String username;
1415
private String password;
16+
17+
public UserMetric toMetric(){
18+
return new UserMetric(name, username, password);
19+
}
20+
1521
private boolean flowManager;
1622

1723
public boolean hasId(){
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,37 @@
11
package com.codingapi.example.app.cmd.domain.router;
22

33
import com.codingapi.example.app.cmd.domain.pojo.UserCmd;
4-
import com.codingapi.example.domain.user.entity.User;
5-
import com.codingapi.example.domain.user.gateway.PasswordEncoder;
6-
import com.codingapi.example.domain.user.repository.UserRepository;
4+
import com.codingapi.example.domain.user.service.UserService;
75
import lombok.AllArgsConstructor;
86
import org.springframework.stereotype.Component;
97

108
@Component
119
@AllArgsConstructor
1210
public class UserRouter {
1311

14-
private final UserRepository userRepository;
15-
private final PasswordEncoder passwordEncoder;
16-
17-
public void save(UserCmd.UpdateRequest request){
18-
if(request.hasId()){
19-
User user = userRepository.getUserById(request.getId());
20-
user.setName(request.getName());
21-
user.setPassword(request.getPassword());
22-
user.setFlowManager(request.isFlowManager());
23-
user.encodePassword(passwordEncoder);
24-
userRepository.save(user);
25-
}else {
26-
User user = new User();
27-
user.setName(request.getName());
28-
user.setPassword(request.getPassword());
29-
user.setFlowManager(request.isFlowManager());
30-
user.encodePassword(passwordEncoder);
31-
userRepository.save(user);
12+
private final UserService userService;
13+
14+
public void createOrUpdate(UserCmd.UpdateRequest request) {
15+
if (request.hasId()) {
16+
userService.update(request.getId(), request.toMetric());
17+
} else {
18+
userService.create(request.toMetric());
3219
}
3320
}
21+
22+
public void removeEntrust(long id) {
23+
userService.removeEntrust(id);
24+
}
25+
26+
public void createEntrust(UserCmd.EntrustRequest request) {
27+
userService.createEntrust(request.getId(),request.getEntrustUserId());
28+
}
29+
30+
public void changeManager(long id) {
31+
userService.changeManager(id);
32+
}
33+
34+
public void removeUser(long id) {
35+
userService.removeUser(id);
36+
}
3437
}

example/example-app/example-app-cmd-meta/pom.xml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,18 @@
2323
<version>${project.version}</version>
2424
</dependency>
2525

26+
<dependency>
27+
<groupId>com.codingapi.springboot</groupId>
28+
<artifactId>example-infra-flow</artifactId>
29+
<version>${project.version}</version>
30+
</dependency>
31+
32+
<dependency>
33+
<groupId>com.codingapi.springboot</groupId>
34+
<artifactId>example-infra-security</artifactId>
35+
<version>${project.version}</version>
36+
</dependency>
37+
2638
</dependencies>
2739

2840
</project>

example/example-application/src/main/java/com/codingapi/example/pojo/cmd/FlowCmd.java renamed to example/example-app/example-app-cmd-meta/src/main/java/com/codingapi/example/app/cmd/meta/pojo/FlowCmd.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.codingapi.example.pojo.cmd;
1+
package com.codingapi.example.app.cmd.meta.pojo;
22

33
import com.alibaba.fastjson.JSONObject;
44
import com.codingapi.springboot.flow.bind.IBindData;

example/example-application/src/main/java/com/codingapi/example/pojo/cmd/FlowWorkCmd.java renamed to example/example-app/example-app-cmd-meta/src/main/java/com/codingapi/example/app/cmd/meta/pojo/FlowWorkCmd.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.codingapi.example.pojo.cmd;
1+
package com.codingapi.example.app.cmd.meta.pojo;
22

33
import com.codingapi.springboot.security.gateway.TokenContext;
44
import lombok.Getter;
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-application/src/main/java/com/codingapi/example/router/FlowWorkRouter.java renamed to example/example-app/example-app-cmd-meta/src/main/java/com/codingapi/example/app/cmd/meta/service/FlowWorkRouter.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,31 @@
1-
package com.codingapi.example.router;
1+
package com.codingapi.example.app.cmd.meta.service;
22

3-
import com.codingapi.example.domain.User;
4-
import com.codingapi.example.entity.FlowWorkEntity;
5-
import com.codingapi.example.jpa.FlowWorkEntityRepository;
6-
import com.codingapi.example.pojo.cmd.FlowWorkCmd;
7-
import com.codingapi.example.repository.UserRepository;
3+
import com.codingapi.example.app.cmd.meta.pojo.FlowWorkCmd;
4+
import com.codingapi.example.infra.flow.entity.FlowWorkEntity;
5+
import com.codingapi.example.infra.flow.jpa.FlowWorkEntityRepository;
6+
import com.codingapi.example.infra.flow.user.FlowUserRepository;
87
import com.codingapi.springboot.flow.domain.FlowWork;
98
import com.codingapi.springboot.flow.repository.FlowWorkRepository;
9+
import com.codingapi.springboot.flow.user.IFlowOperator;
1010
import lombok.AllArgsConstructor;
1111
import org.springframework.stereotype.Service;
1212
import org.springframework.transaction.annotation.Transactional;
1313

14-
1514
@Service
1615
@AllArgsConstructor
1716
@Transactional
1817
public class FlowWorkRouter {
1918

2019
private final FlowWorkRepository flowWorkRepository;
2120
private final FlowWorkEntityRepository flowWorkEntityRepository;
22-
private final UserRepository userRepository;
21+
private final FlowUserRepository flowUserRepository;
2322

2423
public void delete(long id) {
2524
flowWorkRepository.delete(id);
2625
}
2726

2827
public void save(FlowWorkCmd.CreateRequest request) {
29-
User user = userRepository.getUserByUsername(request.getUsername());
28+
IFlowOperator user = flowUserRepository.getUserByUsername(request.getUsername());
3029
long id = request.getId();
3130
if (id == 0) {
3231
FlowWork flowWork = new FlowWork(

0 commit comments

Comments
 (0)