TaskServiceImpl.java 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. package com.hz.employmentsite.services.impl.system;
  2. import com.hz.employmentsite.mapper.SysTaskMapper;
  3. import com.hz.employmentsite.mapper.cquery.TaskCQuery;
  4. import com.hz.employmentsite.model.SysTask;
  5. import com.hz.employmentsite.model.SysTaskExample;
  6. import com.hz.employmentsite.services.service.AccountService;
  7. import com.hz.employmentsite.services.service.system.TaskService;
  8. import com.hz.employmentsite.util.StringUtils;
  9. import com.hz.employmentsite.util.UUIDUtils;
  10. import com.hz.employmentsite.vo.system.TaskInputModel;
  11. import com.hz.employmentsite.vo.system.TaskModel;
  12. import com.github.pagehelper.PageHelper;
  13. import com.github.pagehelper.PageInfo;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.stereotype.Component;
  16. import java.util.Arrays;
  17. import java.util.Date;
  18. import java.util.List;
  19. @Component
  20. public class TaskServiceImpl implements TaskService {
  21. @Autowired
  22. SysTaskMapper sysTaskMapper;
  23. @Autowired
  24. StringUtils stringUtils;
  25. @Autowired
  26. AccountService accountService;
  27. @Autowired
  28. public TaskCQuery taskCQuery;
  29. @Override
  30. public void addTask(TaskInputModel input) throws Exception {
  31. //退回提交要消除待办
  32. finishTask(Arrays.stream(new String[]{input.getKeyID()}).toList());
  33. SysTask task = prepareTask(input);
  34. sysTaskMapper.insert(task);
  35. }
  36. @Override
  37. public PageInfo<TaskModel> getTaskList(Integer page, Integer rows) {
  38. PageHelper.startPage(page, rows);
  39. /*SysTaskExample exp = new SysTaskExample();
  40. exp.or()
  41. .andUserIDEqualTo(accountService.getLoginUserID())
  42. .andRecordStatusEqualTo(1);
  43. exp.setOrderByClause("CreateTime desc");
  44. List<SysTask> list = sysTaskMapper.selectByExample(exp);
  45. PageInfo<SysTask> pageList = new PageInfo<>(list);*/
  46. List<TaskModel> list= taskCQuery.selectTaskList(accountService.getLoginUserID());
  47. PageInfo<TaskModel> result = new PageInfo<>(list);
  48. return result;
  49. }
  50. @Override
  51. public void finishTask(List<String> keyIDs) {
  52. SysTaskExample exp = new SysTaskExample();
  53. exp.or().andKeyIDIn(keyIDs);
  54. SysTask updateExp = new SysTask();
  55. updateExp.setRecordStatus(2);
  56. sysTaskMapper.updateByExampleSelective(updateExp, exp);
  57. }
  58. @Override
  59. public void deleteTask(List<String> keyIDs) {
  60. SysTaskExample exp = new SysTaskExample();
  61. exp.or().andKeyIDIn(keyIDs);
  62. sysTaskMapper.deleteByExample(exp);
  63. }
  64. @Override
  65. public void returnTask(List<String> keyIDs, String approveUserId) {
  66. SysTaskExample exp = new SysTaskExample();
  67. exp.or().andKeyIDIn(keyIDs).andRecordStatusEqualTo(1);
  68. List<SysTask> tasks = sysTaskMapper.selectByExample(exp);
  69. tasks.forEach(t -> {
  70. SysTask task = new SysTask();
  71. task.setTaskID(UUIDUtils.getUUID());
  72. task.setUrl(t.getReturnUrl());
  73. task.setUserID(t.getCreateBy());
  74. task.setContext(t.getTitle() + ",已被退回。");
  75. task.setRecordStatus(1);
  76. task.setCreateBy(approveUserId);
  77. task.setReturnUrl(t.getReturnUrl());
  78. task.setTitle(t.getTitle() + ",已被退回。");
  79. task.setCreateTime(new Date());
  80. task.setKeyID(t.getKeyID());
  81. sysTaskMapper.insertSelective(task);
  82. t.setRecordStatus(2);
  83. sysTaskMapper.updateByPrimaryKeySelective(t);
  84. });
  85. }
  86. private SysTask prepareTask(TaskInputModel input) throws Exception {
  87. if (stringUtils.IsNullOrEmpty(input.getUserID())) {
  88. throw new Exception("请指定待办用户");
  89. }
  90. if (stringUtils.IsNullOrEmpty(input.getTitle())) {
  91. throw new Exception("请填写标题");
  92. }
  93. if (stringUtils.IsNullOrEmpty(input.getContext())) {
  94. input.setContext(input.getTitle());
  95. }
  96. SysTask task = new SysTask();
  97. task.setTaskID(UUIDUtils.getUUID());
  98. task.setUserID(input.getUserID());
  99. task.setTitle(input.getTitle());
  100. task.setContext(input.getContext());
  101. task.setKeyID(input.getKeyID());
  102. task.setUrl(input.getUrl());
  103. task.setReturnUrl(input.getReturnUrl());
  104. task.setRecordStatus(1);
  105. task.setCreateBy(accountService.getLoginUserID());
  106. task.setCreateTime(new Date());
  107. return task;
  108. }
  109. }