Commit c186d279ba040f7d02e1d44ce98c84e589321967

Authored by YunaiV
1 parent cc56a663

code review 工作流的相关代码

yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/activiti/controller/workflow/vo/TodoTaskRespVO.java
@@ -2,7 +2,6 @@ package cn.iocoder.yudao.adminserver.modules.activiti.controller.workflow.vo; @@ -2,7 +2,6 @@ package cn.iocoder.yudao.adminserver.modules.activiti.controller.workflow.vo;
2 2
3 import io.swagger.annotations.ApiModel; 3 import io.swagger.annotations.ApiModel;
4 import lombok.Data; 4 import lombok.Data;
5 -import lombok.EqualsAndHashCode;  
6 import lombok.ToString; 5 import lombok.ToString;
7 6
8 @ApiModel("待办任务 Response VO") 7 @ApiModel("待办任务 Response VO")
@@ -10,6 +9,8 @@ import lombok.ToString; @@ -10,6 +9,8 @@ import lombok.ToString;
10 @ToString 9 @ToString
11 public class TodoTaskRespVO { 10 public class TodoTaskRespVO {
12 11
  12 + // TODO @jason:swagger 注解。这样接口文档才完整哈
  13 +
13 private String id; 14 private String id;
14 15
15 /** 16 /**
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/activiti/service/oa/ReportBackEndProcessor.java
@@ -9,13 +9,13 @@ import org.springframework.transaction.annotation.Transactional; @@ -9,13 +9,13 @@ import org.springframework.transaction.annotation.Transactional;
9 9
10 import javax.annotation.Resource; 10 import javax.annotation.Resource;
11 11
  12 +// TODO @jason:类注释
12 @Component 13 @Component
13 public class ReportBackEndProcessor implements ExecutionListener { 14 public class ReportBackEndProcessor implements ExecutionListener {
14 15
15 @Resource 16 @Resource
16 private OaLeaveMapper leaveMapper; 17 private OaLeaveMapper leaveMapper;
17 18
18 -  
19 @Override 19 @Override
20 @Transactional(rollbackFor = Exception.class) 20 @Transactional(rollbackFor = Exception.class)
21 public void notify(DelegateExecution delegateExecution) { 21 public void notify(DelegateExecution delegateExecution) {
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/activiti/service/oa/impl/OaLeaveServiceImpl.java
@@ -52,6 +52,7 @@ public class OALeaveServiceImpl implements OALeaveService { @@ -52,6 +52,7 @@ public class OALeaveServiceImpl implements OALeaveService {
52 // 插入 OA 请假单 52 // 插入 OA 请假单
53 OALeaveDO leave = OALeaveConvert.INSTANCE.convert(createReqVO); 53 OALeaveDO leave = OALeaveConvert.INSTANCE.convert(createReqVO);
54 leave.setStatus(1); 54 leave.setStatus(1);
  55 + // TODO @jason:应该是存储 userId??
55 leave.setUserId(SecurityFrameworkUtils.getLoginUser().getUsername()); 56 leave.setUserId(SecurityFrameworkUtils.getLoginUser().getUsername());
56 leaveMapper.insert(leave); 57 leaveMapper.insert(leave);
57 58
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/activiti/service/workflow/TaskService.java
@@ -6,6 +6,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; @@ -6,6 +6,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
6 import java.util.List; 6 import java.util.List;
7 7
8 // TODO @芋艿:前缀,注释 8 // TODO @芋艿:前缀,注释
  9 +// TODO @json:类和方法的注释。咱是开源项目,有注释,大家才能更容易读懂
9 public interface TaskService { 10 public interface TaskService {
10 11
11 PageResult<TodoTaskRespVO> getTodoTaskPage(TodoTaskPageReqVO pageReqVO); 12 PageResult<TodoTaskRespVO> getTodoTaskPage(TodoTaskPageReqVO pageReqVO);
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/activiti/service/workflow/impl/TaskServiceImpl.java
@@ -5,7 +5,6 @@ import cn.iocoder.yudao.adminserver.modules.activiti.controller.workflow.vo.*; @@ -5,7 +5,6 @@ import cn.iocoder.yudao.adminserver.modules.activiti.controller.workflow.vo.*;
5 import cn.iocoder.yudao.adminserver.modules.activiti.convert.workflow.TaskConvert; 5 import cn.iocoder.yudao.adminserver.modules.activiti.convert.workflow.TaskConvert;
6 import cn.iocoder.yudao.adminserver.modules.activiti.service.workflow.TaskService; 6 import cn.iocoder.yudao.adminserver.modules.activiti.service.workflow.TaskService;
7 import cn.iocoder.yudao.framework.common.pojo.PageResult; 7 import cn.iocoder.yudao.framework.common.pojo.PageResult;
8 -import cn.iocoder.yudao.framework.security.core.LoginUser;  
9 import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; 8 import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
10 import org.activiti.api.runtime.shared.query.Page; 9 import org.activiti.api.runtime.shared.query.Page;
11 import org.activiti.api.runtime.shared.query.Pageable; 10 import org.activiti.api.runtime.shared.query.Pageable;
@@ -42,11 +41,6 @@ public class TaskServiceImpl implements TaskService { @@ -42,11 +41,6 @@ public class TaskServiceImpl implements TaskService {
42 @Resource 41 @Resource
43 private RepositoryService repositoryService; 42 private RepositoryService repositoryService;
44 43
45 -  
46 - public TaskServiceImpl() {  
47 -  
48 - }  
49 -  
50 @Override 44 @Override
51 public PageResult<TodoTaskRespVO> getTodoTaskPage(TodoTaskPageReqVO pageReqVO) { 45 public PageResult<TodoTaskRespVO> getTodoTaskPage(TodoTaskPageReqVO pageReqVO) {
52 // TODO @jason:封装一个方法,用于转换成 activiti 的分页对象 46 // TODO @jason:封装一个方法,用于转换成 activiti 的分页对象
@@ -129,9 +123,11 @@ public class TaskServiceImpl implements TaskService { @@ -129,9 +123,11 @@ public class TaskServiceImpl implements TaskService {
129 List<TaskStepVO> steps = new ArrayList<>(); 123 List<TaskStepVO> steps = new ArrayList<>();
130 finished.forEach(instance -> { 124 finished.forEach(instance -> {
131 TaskStepVO stepVO = TaskConvert.INSTANCE.convert(instance); 125 TaskStepVO stepVO = TaskConvert.INSTANCE.convert(instance);
132 - stepVO.setStatus(1); 126 + stepVO.setStatus(1); // TODO @jason:1 这个 magic number 要枚举起来。
  127 + // TODO @jason:可以考虑把 comments 读取后,在统一调用 convert 拼接。另外 Comment 是废弃的类,有没其它可以使用的哈?
133 List<Comment> comments = activitiTaskService.getTaskComments(instance.getTaskId()); 128 List<Comment> comments = activitiTaskService.getTaskComments(instance.getTaskId());
134 if (!CollUtil.isEmpty(comments)) { 129 if (!CollUtil.isEmpty(comments)) {
  130 + // TODO @jason:IDEA 在 t.getFullMessage() 有提示告警,可以解决下。
135 stepVO.setComment(Optional.ofNullable(comments.get(0)).map(t->t.getFullMessage()).orElse("")); 131 stepVO.setComment(Optional.ofNullable(comments.get(0)).map(t->t.getFullMessage()).orElse(""));
136 } 132 }
137 steps.add(stepVO); 133 steps.add(stepVO);
yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/core/util/SecurityFrameworkUtils.java
@@ -101,6 +101,7 @@ public class SecurityFrameworkUtils { @@ -101,6 +101,7 @@ public class SecurityFrameworkUtils {
101 WebFrameworkUtils.setLoginUserType(request, loginUser.getUserType()); 101 WebFrameworkUtils.setLoginUserType(request, loginUser.getUserType());
102 // TODO @jason:使用 userId 会不会更合适哈? 102 // TODO @jason:使用 userId 会不会更合适哈?
103 // TODO @芋道源码 该值被赋值给 user task 中assignee , username 显示更直白一点 103 // TODO @芋道源码 该值被赋值给 user task 中assignee , username 显示更直白一点
  104 + // TODO @jason:有办法设置 userId,然后 activiti 有地方读取到 username 么?毕竟 username 只是 User 的登陆账号,并不能绝对像 userId 代表一个用户
104 org.activiti.engine.impl.identity.Authentication.setAuthenticatedUserId(loginUser.getUsername()); 105 org.activiti.engine.impl.identity.Authentication.setAuthenticatedUserId(loginUser.getUsername());
105 } 106 }
106 107