From 961dc7c1040fe7b52667c0e5a866a49578063ee4 Mon Sep 17 00:00:00 2001 From: hejiayang <296714699@qq.com> Date: Wed, 18 Mar 2026 13:49:08 +0800 Subject: [PATCH] =?UTF-8?q?fix(watch-job):=20=E7=A9=BA=E5=80=BC=E6=8A=A5?= =?UTF-8?q?=E9=94=99=E5=A4=84=E7=90=86:=20=E5=9C=A8SyncUserStatJob?= =?UTF-8?q?=E4=B8=AD=E6=B7=BB=E5=8A=A0=E7=A9=BA=E5=80=BC=E6=A3=80=E6=9F=A5?= =?UTF-8?q?=20=E6=95=B0=E6=8D=AE=E5=BA=93=E8=A7=84=E8=8C=83:=20"limit=201"?= =?UTF-8?q?=E6=9B=BF=E6=8D=A2=E4=B8=BA"FETCH=20FIRST=201=20ROWS=20ONLY"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../renkang/watch/async/AsyncImportService.java | 2 +- .../com/renkang/watch/task/SyncUserStatJob.java | 14 ++++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/async/AsyncImportService.java b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/async/AsyncImportService.java index 9a45c05..41a3ce4 100644 --- a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/async/AsyncImportService.java +++ b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/async/AsyncImportService.java @@ -613,7 +613,7 @@ public class AsyncImportService { queryWrapper.eq(WatchBindHis::getWatchNo,device.getWatchNo()); queryWrapper.isNull(WatchBindHis::getBindEndDate); queryWrapper.orderByDesc(WatchBindHis::getCreateDate); - queryWrapper.last("limit 1"); + queryWrapper.last("FETCH FIRST 1 ROWS ONLY"); //解绑 WatchBindHis updateHis = watchBindHisMapper.selectOne(queryWrapper); //修改绑定用户 diff --git a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/task/SyncUserStatJob.java b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/task/SyncUserStatJob.java index 3263651..92f85d5 100644 --- a/health-watch/health-watch-biz/src/main/java/com/renkang/watch/task/SyncUserStatJob.java +++ b/health-watch/health-watch-biz/src/main/java/com/renkang/watch/task/SyncUserStatJob.java @@ -251,7 +251,7 @@ public class SyncUserStatJob { .isNotNull(WatchDataStepsHf::getStepCount) .gt(WatchDataStepsHf::getStepCount, 0) .orderByDesc(WatchDataStepsHf::getStepCount) - .last("limit 1"); + .last("FETCH FIRST 1 ROWS ONLY"); WatchDataStepsHf latest = watchDataStepsHfServiceService.getOne(queryWrapper); if (ObjectUtil.isNull(latest)) { return; @@ -306,21 +306,21 @@ public class SyncUserStatJob { queryWrapper.isNotNull(WatchDataSteps::getDataValue); queryWrapper.gt(WatchDataSteps::getDataValue, 0); queryWrapper.orderByDesc(WatchDataSteps::getMaxId); - queryWrapper.last("limit 1"); + queryWrapper.last("FETCH FIRST 1 ROWS ONLY"); WatchDataSteps list = watchDataStepsService.getOne(queryWrapper); LambdaQueryWrapper watchDataDistanceQueryWrapper = getQueryWrapper(userId, dateStr); watchDataDistanceQueryWrapper.gt(WatchDataDistance::getDataValue, 0); watchDataDistanceQueryWrapper.isNotNull(WatchDataDistance::getDataValue); watchDataDistanceQueryWrapper.orderByDesc(WatchDataDistance::getMaxId); - watchDataDistanceQueryWrapper.last("limit 1"); + watchDataDistanceQueryWrapper.last("FETCH FIRST 1 ROWS ONLY"); WatchDataDistance watchDataDistanceList = watchDataDistanceService.getOne(watchDataDistanceQueryWrapper); LambdaQueryWrapper watchDataCalorieQueryWrapper = getQueryWrapper(userId, dateStr); watchDataCalorieQueryWrapper.gt(WatchDataCalorie::getDataValue, 0); watchDataCalorieQueryWrapper.isNotNull(WatchDataCalorie::getDataValue); watchDataCalorieQueryWrapper.orderByDesc(WatchDataCalorie::getMaxId); - watchDataCalorieQueryWrapper.last("limit 1"); + watchDataCalorieQueryWrapper.last("FETCH FIRST 1 ROWS ONLY"); WatchDataCalorie watchDataCalorieList = watchDataCalorieService.getOne(watchDataCalorieQueryWrapper); if (ObjectUtil.isNull(list) && ObjectUtil.isNull(watchDataDistanceList) && ObjectUtil.isNull(watchDataCalorieList)) { @@ -833,7 +833,9 @@ public class SyncUserStatJob { rate.setSilenceMinValue((int) silenceMin); rate.setSilenceAvgValue((int) silenceSize); rate.setNewValue(currentDataValue.intValue()); - rate.setSilenceNewValue(watchDataHeartRate.getSilenceValue().intValue()); + if(watchDataHeartRate.getSilenceValue() != null){ + rate.setSilenceNewValue(watchDataHeartRate.getSilenceValue().intValue()); + } rate.setLastUploadTime(watchDataHeartRate.getTimeStamp()); SyncUserStatJob bean = SpringContextUtils.getBean(SyncUserStatJob.class); @@ -928,7 +930,7 @@ public class SyncUserStatJob { LambdaQueryWrapper deviceWrapper = new LambdaQueryWrapper<>(); deviceWrapper.eq(WatchDevice::getBindUserId, user.getId()); deviceWrapper.orderByDesc(WatchDevice::getBindDate); - deviceWrapper.last("limit 1"); + deviceWrapper.last("FETCH FIRST 1 ROWS ONLY"); WatchDevice watchDevice = watchDeviceMapper.selectOne(deviceWrapper); if (watchDevice != null) { watchData.setWatchNo(watchDevice.getWatchNo());