BUG修复

This commit is contained in:
pengjie 2025-02-28 14:50:27 +08:00
parent b95256f82c
commit 1598527dd6
2 changed files with 63 additions and 55 deletions

View File

@ -15,7 +15,7 @@
select count(*) count, select count(*) count,
IFNULL(sum(online),0) onlineCount IFNULL(sum(online),0) onlineCount
from safety_hat_dev from safety_hat_dev
where 1 = 1 where type = 1
<if test="devSn != null and devSn != ''"> <if test="devSn != null and devSn != ''">
and dev_sn = #{devSn} and dev_sn = #{devSn}
</if> </if>

View File

@ -110,7 +110,7 @@ public class SafetyHatTask {
} }
// 设置每秒最大请求数 // 设置每秒最大请求数
private static final double MAX_REQUESTS_PER_SECOND = 10.0; private static final double MAX_REQUESTS_PER_SECOND = 20.0;
// 创建一个RateLimiter实例 // 创建一个RateLimiter实例
private static final RateLimiter rateLimiter = RateLimiter.create(MAX_REQUESTS_PER_SECOND); private static final RateLimiter rateLimiter = RateLimiter.create(MAX_REQUESTS_PER_SECOND);
@ -131,9 +131,21 @@ public class SafetyHatTask {
for (SafetyHatDev dev : devList) { for (SafetyHatDev dev : devList) {
// 等待从RateLimiter获取权限 // 等待从RateLimiter获取权限
rateLimiter.acquire(); rateLimiter.acquire();
CompletableFuture.runAsync(() -> {
doGet(dev, project);
}).exceptionally(throwable -> {
log.error("err", throwable);
return null;
});
}
}
}
}
private void doGet(SafetyHatDev dev, Project project) {
if (StrUtil.isBlank(dev.getExtUserId())) { if (StrUtil.isBlank(dev.getExtUserId())) {
log.info("定时2分钟获取安全帽数据任务安全帽外部user_id没有设置,devSn:{}", dev.getDevSn()); log.info("定时2分钟获取安全帽数据任务安全帽外部user_id没有设置,devSn:{}", dev.getDevSn());
continue; return;
} }
SafetyHatData lastData = safetyHatDataMapper.selectOne(new LambdaQueryWrapper<SafetyHatData>() SafetyHatData lastData = safetyHatDataMapper.selectOne(new LambdaQueryWrapper<SafetyHatData>()
.eq(SafetyHatData::getDevSn, dev.getDevSn()).orderByDesc(SafetyHatData::getUploadTime).last("limit 1")); .eq(SafetyHatData::getDevSn, dev.getDevSn()).orderByDesc(SafetyHatData::getUploadTime).last("limit 1"));
@ -162,7 +174,7 @@ public class SafetyHatTask {
if (rsJo.getBoolean("status")) { if (rsJo.getBoolean("status")) {
JSONArray dataJa = rsJo.getJSONArray("data"); JSONArray dataJa = rsJo.getJSONArray("data");
if (CollUtil.isEmpty(dataJa)) { if (CollUtil.isEmpty(dataJa)) {
continue; return;
} }
for (int i = 0; i < dataJa.size(); i++) { for (int i = 0; i < dataJa.size(); i++) {
JSONObject dataJo = dataJa.getJSONObject(i); JSONObject dataJo = dataJa.getJSONObject(i);
@ -185,10 +197,6 @@ public class SafetyHatTask {
} }
} }
}
}
}
// /** // /**
// * 定时设置昨天的轨迹到数据库 // * 定时设置昨天的轨迹到数据库
// */ // */