From 1ad5e3d97eb99662b08c0f5acff34875deca04c1 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期二, 06 五月 2025 17:27:12 +0800 Subject: [PATCH] 修改功能 --- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WarnServiceImpl.java | 35 +++++++++++++++++++++++++++++++---- 1 files changed, 31 insertions(+), 4 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WarnServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WarnServiceImpl.java index 2b0bff9..db0db5d 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WarnServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WarnServiceImpl.java @@ -86,9 +86,13 @@ warn.setEndTime(LocalDateTime.ofInstant(Instant.ofEpochMilli(vo.getCreateTime() * 1000), ZoneOffset.ofHours(8)).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); warn.setWarnType(WarnType.getWarnTypeName(vo.getWarnType())); warn.setWarnNumber(1); - warn.setSpeed(new BigDecimal(vo.getSpeed())); - warn.setLongitude(new BigDecimal(vo.getLongitude()).divide(new BigDecimal(1000000)).toString()); - warn.setLatitude(new BigDecimal(vo.getLatitude()).divide(new BigDecimal(1000000)).toString()); + warn.setSpeed(null == vo.getSpeed() ? BigDecimal.ZERO : new BigDecimal(vo.getSpeed())); + if(null != vo.getLongitude()){ + warn.setLongitude(new BigDecimal(vo.getLongitude()).divide(new BigDecimal(1000000)).toString()); + } + if(null != vo.getLatitude()){ + warn.setLatitude(new BigDecimal(vo.getLatitude()).divide(new BigDecimal(1000000)).toString()); + } Map<String, String> geocode = null; try { geocode = GDMapGeocodingUtil.geocode(warn.getLongitude(), warn.getLatitude()); @@ -112,6 +116,7 @@ } warn.setCreateTime(LocalDateTime.now()); warn.setObjectId(vo.getInfoId()); + warn.setVehicleNumber(vo.getVehicleNo()); warns.add(warn); } if (warns.size() > 0) { @@ -119,6 +124,28 @@ } } + + /** + * 定时保存车辆id和司机id + */ + @Override + public void taskSaveCarIdAndDriverId() { + List<Warn> list = this.list(new LambdaQueryWrapper<Warn>().isNull(Warn::getCarId).or().isNull(Warn::getDriverId)); + List<Car> carList = carService.list(); + List<Driver> driverList = driverService.list(new LambdaQueryWrapper<Driver>().eq(Driver::getStatus, 1)); + for (Warn warn : list) { + Optional<Driver> optional = driverList.stream().filter(s -> s.getVehicleNumber().equals(warn.getVehicleNumber())).findFirst(); + if (optional.isPresent()) { + warn.setDriverId(optional.get().getId()); + this.updateById(warn); + } + Optional<Car> optional1 = carList.stream().filter(s -> s.getVehicleNumber().equals(warn.getVehicleNumber())).findFirst(); + if (optional1.isPresent()) { + warn.setCarId(optional1.get().getId()); + this.updateById(warn); + } + } + } /** * 定时任务修改预警信息处理结果 @@ -158,7 +185,7 @@ */ @Override public PageInfo<CarWarnListResp> getCarWarnList(CarWarnListReq carWarnListReq) { - PageInfo<CarWarnListResp> pageInfo = new PageInfo<>(carWarnListReq.getPageCurr(), carWarnListReq.getPageCurr()); + PageInfo<CarWarnListResp> pageInfo = new PageInfo<>(carWarnListReq.getPageCurr(), carWarnListReq.getPageSize()); return this.baseMapper.getCarWarnList(pageInfo, carWarnListReq); } -- Gitblit v1.7.1