润德每秒查一次限制修改

This commit is contained in:
guoshengxiong 2025-12-03 09:03:11 +08:00
parent c50491d3f5
commit 362893f098

View File

@ -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) @SchedulerLock(name = "getHelmetData", lockAtMostFor = 1000 * 60 * 2, lockAtLeastFor = 1000 * 10)
@RequestMapping("getHelmetData") @RequestMapping("getHelmetData")
public void getHelmetData() { public void getHelmetData() {
List<Project> projectList = projectService.list(Wrappers.<Project>lambdaQuery().ne(Project::getHelmetUser, "").ne(Project::getHelmetPassword, "")); List<Project> projectList = projectService.list(Wrappers.<Project>lambdaQuery().ne(Project::getHelmetUser, "").ne(Project::getHelmetPassword, ""));
String before7Date = DateUtil.formatDateTime(DateUtil.offsetDay(new Date(), -7)); String before7Date = DateUtil.formatDateTime(DateUtil.offsetDay(new Date(), -7));
if (CollUtil.isNotEmpty(projectList)) { if (CollUtil.isNotEmpty(projectList)) {
log.info("定时2分钟获取安全帽数据任务开始"); log.info("定时5分钟获取安全帽数据任务开始");
for (Project project : projectList) { for (Project project : projectList) {
List<SafetyHatDev> devList = safetyHatDevMapper.selectList(new LambdaQueryWrapper<SafetyHatDev>() List<SafetyHatDev> devList = safetyHatDevMapper.selectList(new LambdaQueryWrapper<SafetyHatDev>()
.eq(SafetyHatDev::getProjectSn, project.getProjectSn()) .eq(SafetyHatDev::getProjectSn, project.getProjectSn())
@ -163,7 +163,7 @@ public class SafetyHatTask {
pJo.put("end", end); pJo.put("end", end);
String json = pJo.toJSONString(); String json = pJo.toJSONString();
try { try {
Thread.sleep(1000); Thread.sleep(2000);
} catch (InterruptedException e) { } catch (InterruptedException e) {
e.printStackTrace(); e.printStackTrace();
} }
@ -217,20 +217,27 @@ public class SafetyHatTask {
@RequestMapping("setYesterdayHelmetData") @RequestMapping("setYesterdayHelmetData")
public void setYesterdayHelmetData() { public void setYesterdayHelmetData() {
log.info("定时设置昨天的轨迹到数据库任务开始"); log.info("定时设置昨天的轨迹到数据库任务开始");
String before7Date = DateUtil.formatDateTime(DateUtil.offsetDay(new Date(), -7));
List<Project> projectList = projectService.list(Wrappers.<Project>lambdaQuery().ne(Project::getHelmetUser, "").ne(Project::getHelmetPassword, "")); List<Project> projectList = projectService.list(Wrappers.<Project>lambdaQuery().ne(Project::getHelmetUser, "").ne(Project::getHelmetPassword, ""));
if (CollUtil.isNotEmpty(projectList)) { if (CollUtil.isNotEmpty(projectList)) {
for (Project project : projectList) { for (Project project : projectList) {
List<SafetyHatDev> devList = safetyHatDevMapper.selectList(new LambdaQueryWrapper<SafetyHatDev>() List<SafetyHatDev> devList = safetyHatDevMapper.selectList(new LambdaQueryWrapper<SafetyHatDev>()
.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) { 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 yB = DateUtil.beginOfDay(DateUtil.offsetDay(new Date(), -1));
DateTime yE = DateUtil.endOfDay(DateUtil.offsetDay(new Date(), -1)); DateTime yE = DateUtil.endOfDay(DateUtil.offsetDay(new Date(), -1));
String start = yB.getTime() / 1000L + ""; String start = yB.getTime() / 1000L + "";
String end = yE.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"; String url = "https://caps.runde.pro/api/index.php?ctl=location&act=get_user_path_web";
JSONObject pJo = new JSONObject(); JSONObject pJo = new JSONObject();
pJo.put("admin_id", project.getHelmetUser()); pJo.put("admin_id", project.getHelmetUser());