diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index 1cd2e1b..c80433c 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.controller; -; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -228,7 +227,7 @@ List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope, keywords, alarmType, alarmContent, beginTime, endTime); //根据jobId调用closeJob for (AlarmRecords alarmRecord : alarmRecords) { - alarmRecordsService.cancelAlarm(Long.valueOf(alarmRecord.getJobId()), jobStatus, handleMessage, currentUser.getId()); + alarmRecordsService.cancelAlarm(Long.valueOf(alarmRecord.getId()), jobStatus, handleMessage, currentUser.getId()); } return ResponseData.success(); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index 1cd2e1b..c80433c 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.controller; -; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -228,7 +227,7 @@ List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope, keywords, alarmType, alarmContent, beginTime, endTime); //根据jobId调用closeJob for (AlarmRecords alarmRecord : alarmRecords) { - alarmRecordsService.cancelAlarm(Long.valueOf(alarmRecord.getJobId()), jobStatus, handleMessage, currentUser.getId()); + alarmRecordsService.cancelAlarm(Long.valueOf(alarmRecord.getId()), jobStatus, handleMessage, currentUser.getId()); } return ResponseData.success(); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java index 4c2ca2b..01e94ed 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java @@ -16,9 +16,7 @@ import org.springframework.stereotype.Component; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.util.*; @Component public class DelayJob implements Job { diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index 1cd2e1b..c80433c 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.controller; -; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -228,7 +227,7 @@ List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope, keywords, alarmType, alarmContent, beginTime, endTime); //根据jobId调用closeJob for (AlarmRecords alarmRecord : alarmRecords) { - alarmRecordsService.cancelAlarm(Long.valueOf(alarmRecord.getJobId()), jobStatus, handleMessage, currentUser.getId()); + alarmRecordsService.cancelAlarm(Long.valueOf(alarmRecord.getId()), jobStatus, handleMessage, currentUser.getId()); } return ResponseData.success(); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java index 4c2ca2b..01e94ed 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java @@ -16,9 +16,7 @@ import org.springframework.stereotype.Component; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.util.*; @Component public class DelayJob implements Job { diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java index b834069..b17ba5b 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java @@ -1,14 +1,13 @@ package com.casic.missiles.modular.alarm.job; -import cn.hutool.core.util.StrUtil; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.service.IAlarmJobService; -import com.casic.missiles.modular.system.dto.UserClientView; import com.casic.missiles.modular.system.model.AlarmJob; import com.casic.missiles.modular.system.util.PushList; import com.casic.missiles.modular.system.util.WebSocket; import com.casic.missiles.quartz.service.IQuartzManager; import com.gexin.rp.sdk.base.IPushResult; +import lombok.Data; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; @@ -17,11 +16,11 @@ import org.springframework.stereotype.Component; import java.text.SimpleDateFormat; -import java.util.ArrayList; import java.util.Date; import java.util.List; @Component +@Data public class HandleAlarmJob implements Job { private static final Logger logger = LoggerFactory.getLogger(HandleAlarmJob.class); @@ -31,12 +30,11 @@ private AbstractPermissionContext iCommonUserService; private IQuartzManager iQuartzManager; private WebSocket webSocket; - private List userClientList; + private List clientIds; public void setJobId(Integer jobId) { this.jobId = jobId; } - public void setIAlarmJobService(IAlarmJobService iAlarmJobService) { this.iAlarmJobService = iAlarmJobService; } @@ -53,9 +51,13 @@ this.webSocket = webSocket; } + public void setClientIds(List clientIds) { + this.clientIds = clientIds; + } + @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { - +// Integer jobId= Integer.valueOf(jobExecutionContext.getJobDetail().getJobDataMap().get("jobId").toString()); //业务逻辑 SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss"); System.out.println("CRON ----> schedule job1 is running ... + " + jobId + " ----> " + dateFormat.format(new Date())); @@ -69,9 +71,9 @@ alarmJob.setJobFlagDelay("1"); // 延时标签 alarmJob.setJobFlag1("1"); iAlarmJobService.updateById(alarmJob); // 更新记录 - if (userClientList.size() > 0) { - String appMsg="您有一条编号为["+id+"]的工单未处理,请及时处理"; - IPushResult pushResult = PushList.pushToUser(userClientList, "工单提醒", appMsg); + if (clientIds.size() > 0) { + String appMsg = "您有一条编号为[" + id + "]的工单未处理,请及时处理"; + IPushResult pushResult = PushList.pushToUser(clientIds, "工单提醒", appMsg); if ("ok".equals(pushResult.getResponse().get("result").toString())) { logger.info("超时未接收工单推送成功:" + id.toString()); } else { diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index 1cd2e1b..c80433c 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.controller; -; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -228,7 +227,7 @@ List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope, keywords, alarmType, alarmContent, beginTime, endTime); //根据jobId调用closeJob for (AlarmRecords alarmRecord : alarmRecords) { - alarmRecordsService.cancelAlarm(Long.valueOf(alarmRecord.getJobId()), jobStatus, handleMessage, currentUser.getId()); + alarmRecordsService.cancelAlarm(Long.valueOf(alarmRecord.getId()), jobStatus, handleMessage, currentUser.getId()); } return ResponseData.success(); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java index 4c2ca2b..01e94ed 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java @@ -16,9 +16,7 @@ import org.springframework.stereotype.Component; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.util.*; @Component public class DelayJob implements Job { diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java index b834069..b17ba5b 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java @@ -1,14 +1,13 @@ package com.casic.missiles.modular.alarm.job; -import cn.hutool.core.util.StrUtil; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.service.IAlarmJobService; -import com.casic.missiles.modular.system.dto.UserClientView; import com.casic.missiles.modular.system.model.AlarmJob; import com.casic.missiles.modular.system.util.PushList; import com.casic.missiles.modular.system.util.WebSocket; import com.casic.missiles.quartz.service.IQuartzManager; import com.gexin.rp.sdk.base.IPushResult; +import lombok.Data; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; @@ -17,11 +16,11 @@ import org.springframework.stereotype.Component; import java.text.SimpleDateFormat; -import java.util.ArrayList; import java.util.Date; import java.util.List; @Component +@Data public class HandleAlarmJob implements Job { private static final Logger logger = LoggerFactory.getLogger(HandleAlarmJob.class); @@ -31,12 +30,11 @@ private AbstractPermissionContext iCommonUserService; private IQuartzManager iQuartzManager; private WebSocket webSocket; - private List userClientList; + private List clientIds; public void setJobId(Integer jobId) { this.jobId = jobId; } - public void setIAlarmJobService(IAlarmJobService iAlarmJobService) { this.iAlarmJobService = iAlarmJobService; } @@ -53,9 +51,13 @@ this.webSocket = webSocket; } + public void setClientIds(List clientIds) { + this.clientIds = clientIds; + } + @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { - +// Integer jobId= Integer.valueOf(jobExecutionContext.getJobDetail().getJobDataMap().get("jobId").toString()); //业务逻辑 SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss"); System.out.println("CRON ----> schedule job1 is running ... + " + jobId + " ----> " + dateFormat.format(new Date())); @@ -69,9 +71,9 @@ alarmJob.setJobFlagDelay("1"); // 延时标签 alarmJob.setJobFlag1("1"); iAlarmJobService.updateById(alarmJob); // 更新记录 - if (userClientList.size() > 0) { - String appMsg="您有一条编号为["+id+"]的工单未处理,请及时处理"; - IPushResult pushResult = PushList.pushToUser(userClientList, "工单提醒", appMsg); + if (clientIds.size() > 0) { + String appMsg = "您有一条编号为[" + id + "]的工单未处理,请及时处理"; + IPushResult pushResult = PushList.pushToUser(clientIds, "工单提醒", appMsg); if ("ok".equals(pushResult.getResponse().get("result").toString())) { logger.info("超时未接收工单推送成功:" + id.toString()); } else { diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java index f5fab2e..9678843 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java @@ -139,20 +139,20 @@ public boolean getJob(Long id, long personId) { Calendar now = Calendar.getInstance(); Date getTime = now.getTime(); - if (isWeekend(now)) { - now.add(Calendar.WEEK_OF_YEAR, 1); - now.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY); - now.set(Calendar.HOUR_OF_DAY, 8); - now.set(Calendar.MINUTE, 0); - now.set(Calendar.SECOND, 0); - } else { - now.add(Calendar.HOUR, 24); - while (isWeekend(now)) { - now.add(Calendar.HOUR, 24); - } - } +// if (isWeekend(now)) { +// now.add(Calendar.WEEK_OF_YEAR, 1); +// now.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY); +// now.set(Calendar.HOUR_OF_DAY, 8); +// now.set(Calendar.MINUTE, 0); +// now.set(Calendar.SECOND, 0); +// } else { +// now.add(Calendar.HOUR, 24); +// while (isWeekend(now)) { +// now.add(Calendar.HOUR, 24); +// } +// } Date shouldHandleTime = now.getTime(); - if (Boolean.getBoolean(useOverTime)) { + if (useOverTime.equals("true")) { System.out.println(shouldHandleTime); String jobName = "getJobDelay" + id; Map map = new HashMap<>(); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index 1cd2e1b..c80433c 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.controller; -; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -228,7 +227,7 @@ List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope, keywords, alarmType, alarmContent, beginTime, endTime); //根据jobId调用closeJob for (AlarmRecords alarmRecord : alarmRecords) { - alarmRecordsService.cancelAlarm(Long.valueOf(alarmRecord.getJobId()), jobStatus, handleMessage, currentUser.getId()); + alarmRecordsService.cancelAlarm(Long.valueOf(alarmRecord.getId()), jobStatus, handleMessage, currentUser.getId()); } return ResponseData.success(); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java index 4c2ca2b..01e94ed 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java @@ -16,9 +16,7 @@ import org.springframework.stereotype.Component; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.util.*; @Component public class DelayJob implements Job { diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java index b834069..b17ba5b 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java @@ -1,14 +1,13 @@ package com.casic.missiles.modular.alarm.job; -import cn.hutool.core.util.StrUtil; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.service.IAlarmJobService; -import com.casic.missiles.modular.system.dto.UserClientView; import com.casic.missiles.modular.system.model.AlarmJob; import com.casic.missiles.modular.system.util.PushList; import com.casic.missiles.modular.system.util.WebSocket; import com.casic.missiles.quartz.service.IQuartzManager; import com.gexin.rp.sdk.base.IPushResult; +import lombok.Data; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; @@ -17,11 +16,11 @@ import org.springframework.stereotype.Component; import java.text.SimpleDateFormat; -import java.util.ArrayList; import java.util.Date; import java.util.List; @Component +@Data public class HandleAlarmJob implements Job { private static final Logger logger = LoggerFactory.getLogger(HandleAlarmJob.class); @@ -31,12 +30,11 @@ private AbstractPermissionContext iCommonUserService; private IQuartzManager iQuartzManager; private WebSocket webSocket; - private List userClientList; + private List clientIds; public void setJobId(Integer jobId) { this.jobId = jobId; } - public void setIAlarmJobService(IAlarmJobService iAlarmJobService) { this.iAlarmJobService = iAlarmJobService; } @@ -53,9 +51,13 @@ this.webSocket = webSocket; } + public void setClientIds(List clientIds) { + this.clientIds = clientIds; + } + @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { - +// Integer jobId= Integer.valueOf(jobExecutionContext.getJobDetail().getJobDataMap().get("jobId").toString()); //业务逻辑 SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss"); System.out.println("CRON ----> schedule job1 is running ... + " + jobId + " ----> " + dateFormat.format(new Date())); @@ -69,9 +71,9 @@ alarmJob.setJobFlagDelay("1"); // 延时标签 alarmJob.setJobFlag1("1"); iAlarmJobService.updateById(alarmJob); // 更新记录 - if (userClientList.size() > 0) { - String appMsg="您有一条编号为["+id+"]的工单未处理,请及时处理"; - IPushResult pushResult = PushList.pushToUser(userClientList, "工单提醒", appMsg); + if (clientIds.size() > 0) { + String appMsg = "您有一条编号为[" + id + "]的工单未处理,请及时处理"; + IPushResult pushResult = PushList.pushToUser(clientIds, "工单提醒", appMsg); if ("ok".equals(pushResult.getResponse().get("result").toString())) { logger.info("超时未接收工单推送成功:" + id.toString()); } else { diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java index f5fab2e..9678843 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java @@ -139,20 +139,20 @@ public boolean getJob(Long id, long personId) { Calendar now = Calendar.getInstance(); Date getTime = now.getTime(); - if (isWeekend(now)) { - now.add(Calendar.WEEK_OF_YEAR, 1); - now.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY); - now.set(Calendar.HOUR_OF_DAY, 8); - now.set(Calendar.MINUTE, 0); - now.set(Calendar.SECOND, 0); - } else { - now.add(Calendar.HOUR, 24); - while (isWeekend(now)) { - now.add(Calendar.HOUR, 24); - } - } +// if (isWeekend(now)) { +// now.add(Calendar.WEEK_OF_YEAR, 1); +// now.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY); +// now.set(Calendar.HOUR_OF_DAY, 8); +// now.set(Calendar.MINUTE, 0); +// now.set(Calendar.SECOND, 0); +// } else { +// now.add(Calendar.HOUR, 24); +// while (isWeekend(now)) { +// now.add(Calendar.HOUR, 24); +// } +// } Date shouldHandleTime = now.getTime(); - if (Boolean.getBoolean(useOverTime)) { + if (useOverTime.equals("true")) { System.out.println(shouldHandleTime); String jobName = "getJobDelay" + id; Map map = new HashMap<>(); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/MessagePusherImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/MessagePusherImpl.java index aeef333..f54fff1 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/MessagePusherImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/MessagePusherImpl.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.job.HandleAlarmJob; +import com.casic.missiles.modular.alarm.service.IAlarmJobService; import com.casic.missiles.modular.system.dao.AlarmJobMapper; import com.casic.missiles.modular.system.dao.MessagePusherMapper; import com.casic.missiles.modular.system.model.AlarmJob; @@ -37,6 +38,8 @@ private DataScopeBuilder dataScopeBuilder; @Resource private AlarmJobMapper alarmJobMapper; + @Autowired + private IAlarmJobService alarmJobService; @Resource private IQuartzManager quartzManager; @Resource @@ -49,12 +52,14 @@ public void updateSinkJob(String id, String msg) { if (!(StrUtil.isEmpty(id))) { AlarmJob alarmJob = alarmJobMapper.selectById(Long.valueOf(id)); - Map deptMap = this.baseMapper.getDeptIdsByDevcode(alarmJob.getDevcode()); - if (!ObjectUtil.isEmpty(alarmJob) && !ObjectUtil.isEmpty(deptMap)) { - List userClientList = responDeptProvider(deptMap.get("ownerDeptId")); - sendJob(id, alarmJob, userClientList);//推送工单至app和pc端 - if (StrUtil.isNotBlank(msg)) { - sendAlarm(msg, deptMap.get("deptid"), userClientList,alarmJob.getDevcode());//推送告警至app和pc端 + if (!ObjectUtil.isEmpty(alarmJob)) { + Map deptMap = this.baseMapper.getDeptIdsByDevcode(alarmJob.getDevcode()); + if (ObjectUtil.isEmpty(deptMap)){ + List userClientList = responDeptProvider(deptMap.get("ownerDeptId")); + sendJob(id, alarmJob, userClientList);//推送工单至app和pc端 + if (StrUtil.isNotBlank(msg)) { + sendAlarm(msg, deptMap.get("deptid"), userClientList, alarmJob.getDevcode());//推送告警至app和pc端 + } } } } @@ -77,18 +82,18 @@ } } - private void sendAlarm(String msg, Long deptId, List clientIdlist,String devcode) { + private void sendAlarm(String msg, Long deptId, List clientIdlist, String devcode) { List userIds = new ArrayList<>(); + String appMsg = "设备编号[" + devcode + "]发生" + msg; if (clientIdlist.size() > 0) { - String appMsg="设备编号["+devcode+"]发生"+msg; IPushResult pushResult = PushList.pushToUser(clientIdlist, "告警提醒", appMsg); if ("ok".equals(pushResult.getResponse().get("result").toString())) { - log.info("告警消息app端推送成功:" + msg); + log.info("告警消息app端推送成功:" + appMsg); } else { - log.info("告警消息app端推送失败:" + msg); + log.info("告警消息app端推送失败:" + appMsg); } } else { - log.info("告警消息app端找不到责任人,未推送:" + msg); + log.info("告警消息app端找不到责任人,未推送:" + appMsg); } // PC推送 List userList = dataScopeBuilder.DataScopeProvider(deptId); @@ -108,35 +113,35 @@ private void sendJob(String id, AlarmJob alarmJob, List userClientList) { Calendar now = Calendar.getInstance(); - if (isWeekend(now)) { - now.add(Calendar.WEEK_OF_YEAR, 1); - now.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); - now.set(Calendar.HOUR_OF_DAY, 10);//默认8点上班 - now.set(Calendar.MINUTE, 0); - now.set(Calendar.SECOND, 0); - } else { - try { - if (isTimeRange()) { - now.add(Calendar.HOUR_OF_DAY, 2); - } else { - now.set(Calendar.HOUR_OF_DAY, 10);//默认8点上班 - now.set(Calendar.MINUTE, 0); - now.set(Calendar.SECOND, 0); - if (!compareNoon()) { - now.add(Calendar.DAY_OF_MONTH, +1); - } - } - } catch (ParseException e) { - e.printStackTrace(); - } - } +// if (isWeekend(now)) { +// now.add(Calendar.WEEK_OF_YEAR, 1); +// now.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); +// now.set(Calendar.HOUR_OF_DAY, 10);//默认8点上班 +// now.set(Calendar.MINUTE, 0); +// now.set(Calendar.SECOND, 0); +// } else { +// try { +// if (isTimeRange()) { +// now.add(Calendar.HOUR_OF_DAY, 2); +// } else { +// now.set(Calendar.HOUR_OF_DAY, 10);//默认8点上班 +// now.set(Calendar.MINUTE, 0); +// now.set(Calendar.SECOND, 0); +// if (!compareNoon()) { +// now.add(Calendar.DAY_OF_MONTH, +1); +// } +// } +// } catch (ParseException e) { +// e.printStackTrace(); +// } +// } Date shouldHandleTime = now.getTime(); - if (Boolean.getBoolean(useOverTime)) { + if (useOverTime.equals("true")) { System.out.println(shouldHandleTime); String jobName = "getJobDelay" + id; Map map = new HashMap<>(); - map.put("jobId", id); - map.put("iAlarmJobService", this); + map.put("jobId", Integer.valueOf(id)); + map.put("iAlarmJobService", alarmJobService); map.put("iCommonUserService", iCommonUserService); map.put("iQuartzManager", quartzManager); map.put("webSocket", webSocket); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java index 1cd2e1b..c80433c 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/controller/AlarmRecordsController.java @@ -1,6 +1,5 @@ package com.casic.missiles.modular.alarm.controller; -; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -228,7 +227,7 @@ List alarmRecords = alarmRecordsService.alarmListNoPage(dataScope, keywords, alarmType, alarmContent, beginTime, endTime); //根据jobId调用closeJob for (AlarmRecords alarmRecord : alarmRecords) { - alarmRecordsService.cancelAlarm(Long.valueOf(alarmRecord.getJobId()), jobStatus, handleMessage, currentUser.getId()); + alarmRecordsService.cancelAlarm(Long.valueOf(alarmRecord.getId()), jobStatus, handleMessage, currentUser.getId()); } return ResponseData.success(); } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java index 4c2ca2b..01e94ed 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/DelayJob.java @@ -16,9 +16,7 @@ import org.springframework.stereotype.Component; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.util.*; @Component public class DelayJob implements Job { diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java index b834069..b17ba5b 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/job/HandleAlarmJob.java @@ -1,14 +1,13 @@ package com.casic.missiles.modular.alarm.job; -import cn.hutool.core.util.StrUtil; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.service.IAlarmJobService; -import com.casic.missiles.modular.system.dto.UserClientView; import com.casic.missiles.modular.system.model.AlarmJob; import com.casic.missiles.modular.system.util.PushList; import com.casic.missiles.modular.system.util.WebSocket; import com.casic.missiles.quartz.service.IQuartzManager; import com.gexin.rp.sdk.base.IPushResult; +import lombok.Data; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; @@ -17,11 +16,11 @@ import org.springframework.stereotype.Component; import java.text.SimpleDateFormat; -import java.util.ArrayList; import java.util.Date; import java.util.List; @Component +@Data public class HandleAlarmJob implements Job { private static final Logger logger = LoggerFactory.getLogger(HandleAlarmJob.class); @@ -31,12 +30,11 @@ private AbstractPermissionContext iCommonUserService; private IQuartzManager iQuartzManager; private WebSocket webSocket; - private List userClientList; + private List clientIds; public void setJobId(Integer jobId) { this.jobId = jobId; } - public void setIAlarmJobService(IAlarmJobService iAlarmJobService) { this.iAlarmJobService = iAlarmJobService; } @@ -53,9 +51,13 @@ this.webSocket = webSocket; } + public void setClientIds(List clientIds) { + this.clientIds = clientIds; + } + @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { - +// Integer jobId= Integer.valueOf(jobExecutionContext.getJobDetail().getJobDataMap().get("jobId").toString()); //业务逻辑 SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss"); System.out.println("CRON ----> schedule job1 is running ... + " + jobId + " ----> " + dateFormat.format(new Date())); @@ -69,9 +71,9 @@ alarmJob.setJobFlagDelay("1"); // 延时标签 alarmJob.setJobFlag1("1"); iAlarmJobService.updateById(alarmJob); // 更新记录 - if (userClientList.size() > 0) { - String appMsg="您有一条编号为["+id+"]的工单未处理,请及时处理"; - IPushResult pushResult = PushList.pushToUser(userClientList, "工单提醒", appMsg); + if (clientIds.size() > 0) { + String appMsg = "您有一条编号为[" + id + "]的工单未处理,请及时处理"; + IPushResult pushResult = PushList.pushToUser(clientIds, "工单提醒", appMsg); if ("ok".equals(pushResult.getResponse().get("result").toString())) { logger.info("超时未接收工单推送成功:" + id.toString()); } else { diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java index f5fab2e..9678843 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmJobServiceImpl.java @@ -139,20 +139,20 @@ public boolean getJob(Long id, long personId) { Calendar now = Calendar.getInstance(); Date getTime = now.getTime(); - if (isWeekend(now)) { - now.add(Calendar.WEEK_OF_YEAR, 1); - now.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY); - now.set(Calendar.HOUR_OF_DAY, 8); - now.set(Calendar.MINUTE, 0); - now.set(Calendar.SECOND, 0); - } else { - now.add(Calendar.HOUR, 24); - while (isWeekend(now)) { - now.add(Calendar.HOUR, 24); - } - } +// if (isWeekend(now)) { +// now.add(Calendar.WEEK_OF_YEAR, 1); +// now.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY); +// now.set(Calendar.HOUR_OF_DAY, 8); +// now.set(Calendar.MINUTE, 0); +// now.set(Calendar.SECOND, 0); +// } else { +// now.add(Calendar.HOUR, 24); +// while (isWeekend(now)) { +// now.add(Calendar.HOUR, 24); +// } +// } Date shouldHandleTime = now.getTime(); - if (Boolean.getBoolean(useOverTime)) { + if (useOverTime.equals("true")) { System.out.println(shouldHandleTime); String jobName = "getJobDelay" + id; Map map = new HashMap<>(); diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/MessagePusherImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/MessagePusherImpl.java index aeef333..f54fff1 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/MessagePusherImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/MessagePusherImpl.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.alarm.job.HandleAlarmJob; +import com.casic.missiles.modular.alarm.service.IAlarmJobService; import com.casic.missiles.modular.system.dao.AlarmJobMapper; import com.casic.missiles.modular.system.dao.MessagePusherMapper; import com.casic.missiles.modular.system.model.AlarmJob; @@ -37,6 +38,8 @@ private DataScopeBuilder dataScopeBuilder; @Resource private AlarmJobMapper alarmJobMapper; + @Autowired + private IAlarmJobService alarmJobService; @Resource private IQuartzManager quartzManager; @Resource @@ -49,12 +52,14 @@ public void updateSinkJob(String id, String msg) { if (!(StrUtil.isEmpty(id))) { AlarmJob alarmJob = alarmJobMapper.selectById(Long.valueOf(id)); - Map deptMap = this.baseMapper.getDeptIdsByDevcode(alarmJob.getDevcode()); - if (!ObjectUtil.isEmpty(alarmJob) && !ObjectUtil.isEmpty(deptMap)) { - List userClientList = responDeptProvider(deptMap.get("ownerDeptId")); - sendJob(id, alarmJob, userClientList);//推送工单至app和pc端 - if (StrUtil.isNotBlank(msg)) { - sendAlarm(msg, deptMap.get("deptid"), userClientList,alarmJob.getDevcode());//推送告警至app和pc端 + if (!ObjectUtil.isEmpty(alarmJob)) { + Map deptMap = this.baseMapper.getDeptIdsByDevcode(alarmJob.getDevcode()); + if (ObjectUtil.isEmpty(deptMap)){ + List userClientList = responDeptProvider(deptMap.get("ownerDeptId")); + sendJob(id, alarmJob, userClientList);//推送工单至app和pc端 + if (StrUtil.isNotBlank(msg)) { + sendAlarm(msg, deptMap.get("deptid"), userClientList, alarmJob.getDevcode());//推送告警至app和pc端 + } } } } @@ -77,18 +82,18 @@ } } - private void sendAlarm(String msg, Long deptId, List clientIdlist,String devcode) { + private void sendAlarm(String msg, Long deptId, List clientIdlist, String devcode) { List userIds = new ArrayList<>(); + String appMsg = "设备编号[" + devcode + "]发生" + msg; if (clientIdlist.size() > 0) { - String appMsg="设备编号["+devcode+"]发生"+msg; IPushResult pushResult = PushList.pushToUser(clientIdlist, "告警提醒", appMsg); if ("ok".equals(pushResult.getResponse().get("result").toString())) { - log.info("告警消息app端推送成功:" + msg); + log.info("告警消息app端推送成功:" + appMsg); } else { - log.info("告警消息app端推送失败:" + msg); + log.info("告警消息app端推送失败:" + appMsg); } } else { - log.info("告警消息app端找不到责任人,未推送:" + msg); + log.info("告警消息app端找不到责任人,未推送:" + appMsg); } // PC推送 List userList = dataScopeBuilder.DataScopeProvider(deptId); @@ -108,35 +113,35 @@ private void sendJob(String id, AlarmJob alarmJob, List userClientList) { Calendar now = Calendar.getInstance(); - if (isWeekend(now)) { - now.add(Calendar.WEEK_OF_YEAR, 1); - now.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); - now.set(Calendar.HOUR_OF_DAY, 10);//默认8点上班 - now.set(Calendar.MINUTE, 0); - now.set(Calendar.SECOND, 0); - } else { - try { - if (isTimeRange()) { - now.add(Calendar.HOUR_OF_DAY, 2); - } else { - now.set(Calendar.HOUR_OF_DAY, 10);//默认8点上班 - now.set(Calendar.MINUTE, 0); - now.set(Calendar.SECOND, 0); - if (!compareNoon()) { - now.add(Calendar.DAY_OF_MONTH, +1); - } - } - } catch (ParseException e) { - e.printStackTrace(); - } - } +// if (isWeekend(now)) { +// now.add(Calendar.WEEK_OF_YEAR, 1); +// now.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); +// now.set(Calendar.HOUR_OF_DAY, 10);//默认8点上班 +// now.set(Calendar.MINUTE, 0); +// now.set(Calendar.SECOND, 0); +// } else { +// try { +// if (isTimeRange()) { +// now.add(Calendar.HOUR_OF_DAY, 2); +// } else { +// now.set(Calendar.HOUR_OF_DAY, 10);//默认8点上班 +// now.set(Calendar.MINUTE, 0); +// now.set(Calendar.SECOND, 0); +// if (!compareNoon()) { +// now.add(Calendar.DAY_OF_MONTH, +1); +// } +// } +// } catch (ParseException e) { +// e.printStackTrace(); +// } +// } Date shouldHandleTime = now.getTime(); - if (Boolean.getBoolean(useOverTime)) { + if (useOverTime.equals("true")) { System.out.println(shouldHandleTime); String jobName = "getJobDelay" + id; Map map = new HashMap<>(); - map.put("jobId", id); - map.put("iAlarmJobService", this); + map.put("jobId", Integer.valueOf(id)); + map.put("iAlarmJobService", alarmJobService); map.put("iCommonUserService", iCommonUserService); map.put("iQuartzManager", quartzManager); map.put("webSocket", webSocket); diff --git a/casic-quartz/src/main/java/com/casic/missiles/quartz/service/impl/QuartzManagerImpl.java b/casic-quartz/src/main/java/com/casic/missiles/quartz/service/impl/QuartzManagerImpl.java index 65907d4..cfa22ae 100644 --- a/casic-quartz/src/main/java/com/casic/missiles/quartz/service/impl/QuartzManagerImpl.java +++ b/casic-quartz/src/main/java/com/casic/missiles/quartz/service/impl/QuartzManagerImpl.java @@ -21,7 +21,6 @@ @SuppressWarnings({"rawtypes", "unchecked"}) public void addJob(String jobName, Class cls, int amount) { - Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.SECOND, amount); addJob(jobName, cls, calendar.getTime(), null); @@ -42,7 +41,6 @@ @SuppressWarnings({"rawtypes", "unchecked"}) public void addJob(String jobName, Class cls, Date date, Map params) { try { - Scheduler sched = gSchedulerFactory.getScheduler(); JobDetail job; if(params != null){ @@ -58,7 +56,6 @@ Trigger trigger = TriggerBuilder.newTrigger().withIdentity(jobName, TRIGGER_GROUP_NAME) .startAt(date) .withSchedule(SimpleScheduleBuilder.simpleSchedule()).build(); - // 交给scheduler去调度 sched.scheduleJob(job, trigger); // 启动