From 77a2e8442dd8cd7224dacc152fb15e8922c517dc Mon Sep 17 00:00:00 2001 From: guoshengxiong <1923636941@qq.com> Date: Tue, 23 Jul 2024 22:17:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=BA=E5=91=98=E8=BD=A6=E8=BE=86=E4=B8=8B?= =?UTF-8?q?=E5=8F=91=E9=87=8D=E5=88=B6=E6=9C=BA=E5=88=B6=EF=BC=8C=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=E5=B0=8F=E6=97=B6=E5=86=85=EF=BC=8C=E5=8D=81=E5=88=86?= =?UTF-8?q?=E9=92=9F=E9=87=8D=E8=AF=95=E4=B8=80=E6=AC=A1=EF=BC=8C=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=E5=B0=8F=E6=97=B6=E5=90=8E=EF=BC=8C=E6=AF=8F=E5=B0=8F?= =?UTF-8?q?=E6=97=B6=E9=87=8D=E5=A4=8D=E4=B8=80=E6=AC=A1=EF=BC=8C=E4=B8=80?= =?UTF-8?q?=E5=A4=A9=E5=86=85=EF=BC=8C=E8=B6=85=E8=BF=8724=E5=B0=8F?= =?UTF-8?q?=E6=97=B6=E5=90=8E=EF=BC=8C=E5=81=9C=E6=AD=A2=E9=87=8D=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xz/mapper/xml/XzHikvisionSyncMapper.xml | 6 ++++ .../com/zhgd/xmgl/task/HikvisionTask.java | 33 ++++++++++++++++--- 2 files changed, 35 insertions(+), 4 deletions(-) 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());