diff --git a/src/main/java/com/zhgd/xmgl/task/SafetyHatTask.java b/src/main/java/com/zhgd/xmgl/task/SafetyHatTask.java index 8a0247ddd..b12f3cf52 100644 --- a/src/main/java/com/zhgd/xmgl/task/SafetyHatTask.java +++ b/src/main/java/com/zhgd/xmgl/task/SafetyHatTask.java @@ -126,16 +126,16 @@ public class SafetyHatTask { } /** - * 定时2分钟获取安全帽数据(每次处理前120个) + * 定时5分钟获取安全帽数据(每次处理前120个) */ - @Scheduled(cron = "0 */2 * * * ?") + @Scheduled(cron = "0 */5 * * * ?") @SchedulerLock(name = "getHelmetData", lockAtMostFor = 1000 * 60 * 2, lockAtLeastFor = 1000 * 10) @RequestMapping("getHelmetData") public void getHelmetData() { List projectList = projectService.list(Wrappers.lambdaQuery().ne(Project::getHelmetUser, "").ne(Project::getHelmetPassword, "")); String before7Date = DateUtil.formatDateTime(DateUtil.offsetDay(new Date(), -7)); if (CollUtil.isNotEmpty(projectList)) { - log.info("定时2分钟获取安全帽数据任务开始"); + log.info("定时5分钟获取安全帽数据任务开始"); for (Project project : projectList) { List devList = safetyHatDevMapper.selectList(new LambdaQueryWrapper() .eq(SafetyHatDev::getProjectSn, project.getProjectSn()) @@ -163,7 +163,7 @@ public class SafetyHatTask { pJo.put("end", end); String json = pJo.toJSONString(); try { - Thread.sleep(1000); + Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } @@ -217,20 +217,27 @@ public class SafetyHatTask { @RequestMapping("setYesterdayHelmetData") public void setYesterdayHelmetData() { log.info("定时设置昨天的轨迹到数据库任务开始"); + String before7Date = DateUtil.formatDateTime(DateUtil.offsetDay(new Date(), -7)); List projectList = projectService.list(Wrappers.lambdaQuery().ne(Project::getHelmetUser, "").ne(Project::getHelmetPassword, "")); if (CollUtil.isNotEmpty(projectList)) { for (Project project : projectList) { List devList = safetyHatDevMapper.selectList(new LambdaQueryWrapper() - .eq(SafetyHatDev::getProjectSn, project.getProjectSn())); + .eq(SafetyHatDev::getProjectSn, project.getProjectSn()) + .isNotNull(SafetyHatDev::getExtUserId) + .ge(SafetyHatDev::getHeartbeatTime, before7Date) + .orderByAsc(SafetyHatDev::getRdDataTime) + .last("limit 120") + ); for (SafetyHatDev dev : devList) { - if (StrUtil.isBlank(dev.getExtUserId())) { - log.info("定时设置昨天的轨迹到数据库任务,安全帽外部user_id没有设置,devSn:{}", dev.getDevSn()); - continue; - } DateTime yB = DateUtil.beginOfDay(DateUtil.offsetDay(new Date(), -1)); DateTime yE = DateUtil.endOfDay(DateUtil.offsetDay(new Date(), -1)); String start = yB.getTime() / 1000L + ""; String end = yE.getTime() / 1000L + ""; + try { + Thread.sleep(3000); + } catch (InterruptedException e) { + e.printStackTrace(); + } String url = "https://caps.runde.pro/api/index.php?ctl=location&act=get_user_path_web"; JSONObject pJo = new JSONObject(); pJo.put("admin_id", project.getHelmetUser());