ToDoNumberJob.java 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. package com.ruoyi.web.job;
  2. import com.ruoyi.common.constant.Constants;
  3. import com.ruoyi.common.core.domain.entity.SysUser;
  4. import com.ruoyi.common.core.redis.RedisCache;
  5. import com.ruoyi.system.service.ISysUserService;
  6. import org.flowable.engine.ProcessEngine;
  7. import org.flowable.engine.ProcessEngines;
  8. import org.flowable.engine.RuntimeService;
  9. import org.flowable.engine.runtime.ProcessInstance;
  10. import org.flowable.task.api.Task;
  11. import org.flowable.task.api.TaskQuery;
  12. import org.slf4j.Logger;
  13. import org.slf4j.LoggerFactory;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.scheduling.annotation.EnableScheduling;
  16. import org.springframework.scheduling.annotation.Scheduled;
  17. import org.springframework.stereotype.Component;
  18. import java.util.HashMap;
  19. import java.util.List;
  20. import java.util.Map;
  21. import java.util.concurrent.TimeUnit;
  22. @EnableScheduling
  23. @Component
  24. public class ToDoNumberJob {
  25. protected Logger logger = LoggerFactory.getLogger(getClass());
  26. @Autowired
  27. private ISysUserService sysUserService;
  28. @Autowired
  29. private RedisCache redisCache;
  30. /**
  31. * 每五分钟更新一次待办事项数量
  32. *
  33. */
  34. // @Scheduled(fixedDelay = 120000,initialDelay = 10000)
  35. // public void updateToDoNumber(){
  36. // logger.info("开始更新待办事项数量");
  37. // //查询所有进行中的任务
  38. // ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();
  39. // RuntimeService runtimeService = engine.getRuntimeService();
  40. // List<ProcessInstance> instances = runtimeService
  41. // .createProcessInstanceQuery()
  42. // .active()
  43. // .list();
  44. // //声明map记录用户和对应的代办数量
  45. // Map<String,Integer> map = new HashMap<>();
  46. // for (ProcessInstance instance : instances) {
  47. // /* TaskQuery query = engine.getTaskService().createTaskQuery()
  48. // .processInstanceId(instance.getId());
  49. // //获取对应的待处理用户记录代办数量+1
  50. // String assignee = query.singleResult().getAssignee();*/
  51. // List<Task> taskList = engine.getTaskService().createTaskQuery()
  52. // .processInstanceId(instance.getId())
  53. // .list();
  54. // // 遍历所有任务,获取每个处理人
  55. // for (Task task : taskList) {
  56. // String assignee = task.getAssignee();
  57. // // 处理每个处理人...
  58. // if(assignee!=null && !"".equals(assignee)){
  59. // //根据用户id获取用户对象
  60. // SysUser userInfo= sysUserService.selectUserById(Long.parseLong(assignee));
  61. // if (map.containsKey(userInfo.getUserName())){
  62. // map.put(userInfo.getUserName(),map.get(userInfo.getUserName())+1);
  63. // }else {
  64. // map.put(userInfo.getUserName(),1);
  65. // }
  66. // }
  67. // }
  68. // }
  69. // //先清空redis中待办数量
  70. // redisCache.deleteObject("toDoNumber");
  71. // //将对应代办数量更新到redis当中
  72. // if(map.size()>0){
  73. // redisCache.setCacheObject("toDoNumber", map);
  74. // }
  75. // }
  76. }