WarningTransferTimer.java 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. package vip.xiaonuo.Timer;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import io.swagger.models.auth.In;
  4. import lombok.extern.slf4j.Slf4j;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.stereotype.Component;
  7. import org.springframework.transaction.annotation.Transactional;
  8. import vip.xiaonuo.common.timer.CommonTimerTaskRunner;
  9. import vip.xiaonuo.modular.ai.taskInspection.entity.TaskInspection;
  10. import vip.xiaonuo.modular.ai.taskInspection.mapper.TaskInspectionMapper;
  11. import vip.xiaonuo.modular.base.baseConfig.entity.BaseConfig;
  12. import vip.xiaonuo.modular.base.baseConfig.mapper.BaseConfigMapper;
  13. import vip.xiaonuo.modular.warning.warningInfo.entity.WarningInfo;
  14. import vip.xiaonuo.modular.warning.warningInfo.mapper.WarningInfoMapper;
  15. import vip.xiaonuo.modular.warning.warningManager.entity.WarningManager;
  16. import vip.xiaonuo.modular.warning.warningManager.mapper.WarningManagerMapper;
  17. import java.util.Date;
  18. import java.util.List;
  19. @Slf4j
  20. @Component
  21. public class WarningTransferTimer implements CommonTimerTaskRunner {
  22. @Autowired
  23. private WarningInfoMapper warningInfoMapper;
  24. @Autowired
  25. private WarningManagerMapper warningManagerMapper;
  26. @Autowired
  27. private TaskInspectionMapper taskInspectionMapper;
  28. @Autowired
  29. private BaseConfigMapper baseConfigMapper;
  30. @Override
  31. @Transactional
  32. public void action() {
  33. List<WarningInfo> warningInfos = warningInfoMapper.selectList(new QueryWrapper<WarningInfo>().lambda().eq(WarningInfo::getWarningStatus, 0));
  34. for (WarningInfo warningInfo : warningInfos) {
  35. Date warningTime = warningInfo.getWarningTime();
  36. String configName = baseConfigMapper.selectById(warningInfo.getWarningTypeId()).getConfigName();
  37. Date now = new Date();
  38. Integer warningType = null;
  39. switch (configName) {
  40. case "环控预警":
  41. warningType = 0;
  42. break;
  43. case "能耗预警":
  44. warningType = 1;
  45. break;
  46. case "饲喂预警":
  47. warningType = 2;
  48. break;
  49. case "巡检预警":
  50. warningType = 3;
  51. break;
  52. }
  53. WarningManager warningManager = warningManagerMapper.selectOne(new QueryWrapper<WarningManager>().lambda().eq(WarningManager::getType, warningType).eq(WarningManager::getOrgId, warningInfo.getOrgId()));
  54. if (warningManager != null) {
  55. Integer warningUpgradeTime = warningManager.getWarningUpgradeTime();
  56. int gap = (int) ((now.getTime() - warningTime.getTime()) / (1000 * 60));
  57. if (warningUpgradeTime >= gap) {
  58. String firstManagerId = warningManager.getFirstManagerId();
  59. warningInfo.setWarningNotifierId(firstManagerId);
  60. TaskInspection taskInspection = taskInspectionMapper.selectOne(new QueryWrapper<TaskInspection>().lambda().eq(TaskInspection::getWarningId, warningInfo.getId()));
  61. taskInspection.setNotifierId(firstManagerId);
  62. warningInfoMapper.updateById(warningInfo);
  63. taskInspectionMapper.updateById(taskInspection);
  64. }
  65. }
  66. }
  67. }
  68. }