From 4109495b9c51a4bbd8b0a7c3c69093909d2e33e1 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期一, 07 四月 2025 18:55:05 +0800 Subject: [PATCH] 修改接口bug --- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CarServiceImpl.java | 24 ++++++++++++++++++------ 1 files changed, 18 insertions(+), 6 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CarServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CarServiceImpl.java index 5931356..e4ec30f 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CarServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/CarServiceImpl.java @@ -1,6 +1,7 @@ package com.ruoyi.system.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.dataInterchange.api.feignClient.UPExgMsgRegisterClient; @@ -121,22 +122,33 @@ public void taskUpdateCarStatus() { List<Car> list = this.list(); for (Car car : list) { + LambdaUpdateWrapper<Car> updateWrapper = new LambdaUpdateWrapper<>(); GnssDataVo gnssDataVo = (GnssDataVo) redisTemplate.opsForValue().get("location:" + car.getVehicleNumber()); if (null == gnssDataVo) { - car.setStatus(1); + if (car.getStatus() == 1) { + updateWrapper.set(Car::getDownlineTime, LocalDateTime.now()); + } + updateWrapper.set(Car::getStatus, 4); + this.update(updateWrapper); } else { String dateTime = gnssDataVo.getDate() + " " + gnssDataVo.getTime(); LocalDateTime localDateTime = LocalDateTime.parse(dateTime, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); long second = localDateTime.toEpochSecond(ZoneOffset.ofHours(8)); if (System.currentTimeMillis() / 1000 > second + 60) { - car.setStatus(4); + if (car.getStatus() == 1) { + updateWrapper.set(Car::getDownlineTime, LocalDateTime.now()); + } + updateWrapper.set(Car::getStatus, 4); + this.update(updateWrapper); } else { - car.setStatus(1); + if (car.getStatus() != 1) { + updateWrapper.set(Car::getDownlineTime, null); + updateWrapper.set(Car::getOnlineTime, LocalDateTime.now()); + } + updateWrapper.set(Car::getStatus, 1); + this.update(updateWrapper); } } - } - if (list.size() > 0) { - this.updateBatchById(list); } } } -- Gitblit v1.7.1