diff --git a/src/main/java/com/zhgd/xmgl/modules/xz/mapper/xml/XzHikvisionSyncMapper.xml b/src/main/java/com/zhgd/xmgl/modules/xz/mapper/xml/XzHikvisionSyncMapper.xml index 24f61836d..170ebd9dd 100644 --- a/src/main/java/com/zhgd/xmgl/modules/xz/mapper/xml/XzHikvisionSyncMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/xz/mapper/xml/XzHikvisionSyncMapper.xml @@ -16,6 +16,12 @@ and create_date >= #{createDateBegin} + + and create_date <= DATE_FORMAT(DATE_SUB(now(), interval 10 minute), '%Y-%m-%d %H:%i:%S') + + + and create_date <= DATE_FORMAT(DATE_SUB(now(), interval 1 hour), '%Y-%m-%d %H:%i:%S') + group by who_id ) t2 on t1.who_id=t2.who_id left join uface_dev ud on t1.device_sn = ud.dev_sn diff --git a/src/main/java/com/zhgd/xmgl/task/HikvisionTask.java b/src/main/java/com/zhgd/xmgl/task/HikvisionTask.java index fee215265..f3330b3d5 100644 --- a/src/main/java/com/zhgd/xmgl/task/HikvisionTask.java +++ b/src/main/java/com/zhgd/xmgl/task/HikvisionTask.java @@ -126,15 +126,40 @@ public class HikvisionTask { } /** - * 定时重试失败的记录 + * 定时重试失败的记录,十分钟一次 */ - @SchedulerLock(name = "retrySyncHikvision", lockAtMostFor = 1000 * 30, lockAtLeastFor = 1000 * 30) + @SchedulerLock(name = "retrySyncHikvisionTenMin", lockAtMostFor = 1000 * 30, lockAtLeastFor = 1000 * 30) @Scheduled(cron = "0 */10 * * * ?") - @RequestMapping("retrySyncHikvision") - public void retrySyncHikvision() throws Exception { + @RequestMapping("retrySyncHikvisionTenMin") + public void retrySyncHikvisionTenMin() throws Exception { HashMap newListMap = new HashMap<>(16); newListMap.put("isSuccess", 0); newListMap.put("createDateBegin", DateUtil.formatDateTime(DateUtil.offsetHour(new Date(), -1))); + newListMap.put("geBeforeTenMin", 1); + List newestList = xzHikvisionSyncService.getNewestList(newListMap); + for (XzHikvisionSync xzHikvisionSync : newestList) { + log.info("海康同步的定时重试失败的记录,id:{}", xzHikvisionSync.getId()); + HashMap retryMap = new HashMap<>(16); + retryMap.put("id", xzHikvisionSync.getId()); + try { + xzHikvisionSyncService.retry(retryMap); + } catch (Exception e) { + log.error("海康同步的定时重试失败的记录:error:", e); + } + } + } + + /** + * 定时重试失败的记录,一小时一次 + */ + @SchedulerLock(name = "retrySyncHikvisionHourly", lockAtMostFor = 1000 * 30, lockAtLeastFor = 1000 * 30) + @Scheduled(cron = "0 */10 * * * ?") + @RequestMapping("retrySyncHikvisionHourly") + public void retrySyncHikvisionHourly() throws Exception { + HashMap newListMap = new HashMap<>(16); + newListMap.put("isSuccess", 0); + newListMap.put("createDateBegin", DateUtil.formatDateTime(DateUtil.offsetDay(new Date(), -1))); + newListMap.put("geBeforeHour", 1); List newestList = xzHikvisionSyncService.getNewestList(newListMap); for (XzHikvisionSync xzHikvisionSync : newestList) { log.info("海康同步的定时重试失败的记录,id:{}", xzHikvisionSync.getId());