From 03bab7e7f1c86cc27ffa984d61c7bd2d9bd3a373 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期三, 01 一月 2025 10:07:45 +0800 Subject: [PATCH] 修改bug和增加多线程处理逻辑 --- guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TaskDetailServiceImpl.java | 15 + guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITaskDetailService.java | 2 guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PatrolTaskServiceImpl.java | 346 ++++++++++++++++++++++++++----------------------- guns-admin/src/main/java/com/stylefeng/guns/modular/api/PatrolTaskController.java | 9 + guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/videoGateway/VideoGateway.java | 4 guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TaskDetailMapper.xml | 1 6 files changed, 206 insertions(+), 171 deletions(-) diff --git a/guns-admin/src/main/java/com/stylefeng/guns/modular/api/PatrolTaskController.java b/guns-admin/src/main/java/com/stylefeng/guns/modular/api/PatrolTaskController.java index 0d7edeb..e2aaf84 100644 --- a/guns-admin/src/main/java/com/stylefeng/guns/modular/api/PatrolTaskController.java +++ b/guns-admin/src/main/java/com/stylefeng/guns/modular/api/PatrolTaskController.java @@ -198,8 +198,13 @@ @PostMapping("/manualAudit") @ApiOperation(value = "人工审核视频通道数据", tags = {"任务记录"}) - public ResultUtil manualAudit(@RequestBody ManualAuditVo vo){ - return taskDetailService.manualAudit(vo); + public ResultUtil manualAudit(@RequestBody ManualAuditVo vo, HttpServletRequest request){ + String token = request.getHeader(JwtConstants.AUTH_HEADER); + if (token != null && token.startsWith("Bearer ")) { + token = token.substring(token.indexOf(" ") + 1); + } + String userId = JwtTokenUtil.getPrivateClaimFromToken(token, "userId"); + return taskDetailService.manualAudit(vo, userId); } diff --git a/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TaskDetailMapper.xml b/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TaskDetailMapper.xml index 845c041..a04916c 100644 --- a/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TaskDetailMapper.xml +++ b/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TaskDetailMapper.xml @@ -89,5 +89,6 @@ <if test="null != status"> and b.status = #{status} </if> + order by b.execution_time desc </select> </mapper> \ No newline at end of file diff --git a/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITaskDetailService.java b/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITaskDetailService.java index fd67dbe..b63b54a 100644 --- a/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITaskDetailService.java +++ b/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITaskDetailService.java @@ -67,7 +67,7 @@ * 人工审核 * @return */ - ResultUtil manualAudit(ManualAuditVo vo); + ResultUtil manualAudit(ManualAuditVo vo, String userId); /** diff --git a/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PatrolTaskServiceImpl.java b/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PatrolTaskServiceImpl.java index 10c27df..d50f66b 100644 --- a/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PatrolTaskServiceImpl.java +++ b/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PatrolTaskServiceImpl.java @@ -38,9 +38,12 @@ import java.util.Arrays; import java.util.List; import java.util.Map; +import java.util.Set; +import java.util.concurrent.CountDownLatch; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; /** * @author zhibing.pu @@ -183,172 +186,193 @@ //获取当前任务中的车船信息 List<TaskDetailVehicles> taskDetailVehicles = taskDetailVehiclesService.selectList(new EntityWrapper<TaskDetailVehicles>().eq("task_detail_id", id)); - int errNum = 0; - for (TaskDetailVehicles taskDetailVehicle : taskDetailVehicles) { - try { - taskDetailVehicle.setStartExecutionTime(LocalDateTime.now()); - Integer taskDetailVehicleId = taskDetailVehicle.getId(); - //车船类型:1 车辆设备 2 船舶设备 - Integer vehicleType = taskDetailVehicle.getVehicleType(); - //车船id - Integer vehicleId = taskDetailVehicle.getVehicleId(); - VehicleOnline vehicleOnline1 = null; - for (VehicleOnline vehicleOnline : vehicleOnlines2018) { - if(null != vehicleOnline.getVehicleId() && vehicleOnline.getVehicleId().equals(vehicleId) && - null != vehicleOnline.getVehicleType() && vehicleOnline.getVehicleType().equals(vehicleType)){ - vehicleOnline1 = vehicleOnline; - String vehicleGpsProtocol = vehicleOnline.getVehicleGpsProtocol(); - vehicleOnline1.setVehicleGpsProtocol("808-guangzhou".equals(vehicleGpsProtocol) ? "1" : "2"); - break; - } - } - if(null == vehicleOnline1){ - for (VehicleOnline vehicleOnline : vehicleOnlines203) { - if(null != vehicleOnline.getVehicleId() && vehicleOnline.getVehicleId().equals(vehicleId) && - null != vehicleOnline.getVehicleType() && vehicleOnline.getVehicleType().equals(vehicleType)){ - vehicleOnline1 = vehicleOnline; - vehicleOnline1.setVehicleGpsProtocol(vehicleOnline.getVehicleGpsProtocol()); - break; + //根据企业id分组用于定义多线上处理 + Set<String> collect = taskDetailVehicles.stream().map(TaskDetailVehicles::getCompanyId).collect(Collectors.toSet()); + //定义线程池 + ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(collect.size(), collect.size(), 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>()); + //定义多线程阻塞 + CountDownLatch countDownLatch = new CountDownLatch(collect.size()); + for (String companyId : collect) { + List<TaskDetailVehicles> vehicles = taskDetailVehicles.stream().filter(s -> s.getCompanyId().equals(companyId)).collect(Collectors.toList()); + threadPoolExecutor.execute(new Runnable() { + @Override + public void run() { + for (TaskDetailVehicles taskDetailVehicle : vehicles) { + try { + taskDetailVehicle.setStartExecutionTime(LocalDateTime.now()); + Integer taskDetailVehicleId = taskDetailVehicle.getId(); + //车船类型:1 车辆设备 2 船舶设备 + Integer vehicleType = taskDetailVehicle.getVehicleType(); + //车船id + Integer vehicleId = taskDetailVehicle.getVehicleId(); + VehicleOnline vehicleOnline1 = null; + for (VehicleOnline vehicleOnline : vehicleOnlines2018) { + if(null != vehicleOnline.getVehicleId() && vehicleOnline.getVehicleId().equals(vehicleId) && + null != vehicleOnline.getVehicleType() && vehicleOnline.getVehicleType().equals(vehicleType)){ + vehicleOnline1 = vehicleOnline; + String vehicleGpsProtocol = vehicleOnline.getVehicleGpsProtocol(); + vehicleOnline1.setVehicleGpsProtocol("808-guangzhou".equals(vehicleGpsProtocol) ? "1" : "2"); + break; + } + } + if(null == vehicleOnline1){ + for (VehicleOnline vehicleOnline : vehicleOnlines203) { + if(null != vehicleOnline.getVehicleId() && vehicleOnline.getVehicleId().equals(vehicleId) && + null != vehicleOnline.getVehicleType() && vehicleOnline.getVehicleType().equals(vehicleType)){ + vehicleOnline1 = vehicleOnline; + vehicleOnline1.setVehicleGpsProtocol(vehicleOnline.getVehicleGpsProtocol()); + break; + } + } + } + //不在线 + if(null == vehicleOnline1){ + taskDetailVehicle.setEndExecutionTime(LocalDateTime.now()); + taskDetailVehicle.setStatus(4); + taskDetailVehiclesService.updateById(taskDetailVehicle); + continue; + } + taskDetailVehicle.setStatus(2); + taskDetailVehiclesService.updateById(taskDetailVehicle); + //成功 + List<TaskDetailVehiclesChannel> taskDetailVehiclesChannels = taskDetailVehiclesChannelService.selectList(new EntityWrapper<TaskDetailVehiclesChannel>().eq("task_detail_vehicles_id", taskDetailVehicleId)); + //开始发送拍照指令,获取照片地址 + String vehicleGpsProtocol = vehicleOnline1.getVehicleGpsProtocol(); + String terminalId = vehicleOnline1.getTerminalId(); + for (TaskDetailVehiclesChannel taskDetailVehiclesChannel : taskDetailVehiclesChannels) { + Integer videoChannel = taskDetailVehiclesChannel.getVideoChannel(); + + if("1".equals(vehicleGpsProtocol)){ + //2018 协议 + String fileId = VideoGateway.cameraShot2018(terminalId, videoChannel, 0); + if(null == fileId){ + log.error("2018年协议发送拍摄指令失败:terminalId-->{},videoChannel-->{}", terminalId, videoChannel); + throw new RuntimeException("2018年协议发送拍摄指令失败:terminalId-->" + terminalId + ",videoChannel-->" + videoChannel); + }else{ + //等待15秒 + Thread.sleep(30000); + + String fileUrl = VideoGateway.getCameraShotByFileId2018(terminalId, fileId, 0); + if(null == fileUrl){ + log.error("2018年协议车辆获取拍摄图片失败:terminalId-->{},fileId-->{}", terminalId, fileId); + //重新发送拍摄指令,如果还是没有获取到图片,标注失败 + fileId = VideoGateway.cameraShot2018(terminalId, videoChannel, 0); + if(null == fileId){ + log.error("2018年协议发送拍摄指令失败:terminalId-->{},videoChannel-->{}", terminalId, videoChannel); + throw new RuntimeException("2018年协议发送拍摄指令失败:terminalId-->" + terminalId + ",videoChannel-->" + videoChannel); + }else{ + //等待15秒 + Thread.sleep(30000); + + fileUrl = VideoGateway.getCameraShotByFileId2018(terminalId, fileId, 0); + if(null == fileUrl){ + log.error("2018年协议车辆获取拍摄图片失败:terminalId-->{},fileId-->{}", terminalId, fileId); + throw new RuntimeException("2018年协议车辆获取拍摄图片失败:terminalId-->" + terminalId + ",fileId-->" + fileId); + }else{ + taskDetailVehiclesChannel.setImageUrl(fileUrl); + taskDetailVehiclesChannel.setSysCreateTime(LocalDateTime.now()); + taskDetailVehiclesChannel.setArtificialStatus(1); + //开始调模型接口得出结果 + Map<String, Object> map = ImageModelUtil.modelCheck(fileUrl, ImageModelEnum.getImageModelEnum(patrolTask.getImageModel())); + Boolean b = (Boolean) map.get("b"); + String r = map.get("r").toString(); + taskDetailVehiclesChannel.setSysStatus(b ? 2 : 3); + taskDetailVehiclesChannel.setResult(r); + taskDetailVehiclesChannelService.updateById(taskDetailVehiclesChannel); + } + } + }else{ + taskDetailVehiclesChannel.setImageUrl(fileUrl); + taskDetailVehiclesChannel.setSysCreateTime(LocalDateTime.now()); + taskDetailVehiclesChannel.setArtificialStatus(1); + //开始调模型接口得出结果 + Map<String, Object> map = ImageModelUtil.modelCheck(fileUrl, ImageModelEnum.getImageModelEnum(patrolTask.getImageModel())); + Boolean b = (Boolean) map.get("b"); + String r = map.get("r").toString(); + taskDetailVehiclesChannel.setSysStatus(b ? 2 : 3); + taskDetailVehiclesChannel.setResult(r); + taskDetailVehiclesChannelService.updateById(taskDetailVehiclesChannel); + } + } + }else{ + //2023 协议 + String fileId = VideoGateway.cameraShot2023(vehicleId, vehicleType, terminalId, videoChannel, 0); + if(null == fileId){ + log.error("2023年协议发送拍摄指令失败:terminalId-->{},videoChannel-->{}", terminalId, videoChannel); + throw new RuntimeException("2023年协议发送拍摄指令失败:terminalId-->" + terminalId + ",videoChannel-->" + videoChannel); + }else{ + //等待15秒 + Thread.sleep(30000); + + String fileUrl = VideoGateway.getCameraShotByFileId2023(fileId, 0); + if(null == fileUrl){ + log.error("2023年协议车辆获取拍摄图片失败:terminalId-->{},fileId-->{}", terminalId, fileId); + //重新发送拍摄指令,如果还是没有获取图片,标注异常 + fileId = VideoGateway.cameraShot2023(vehicleId, vehicleType, terminalId, videoChannel, 0); + if(null == fileId){ + log.error("2023年协议发送拍摄指令失败:terminalId-->{},videoChannel-->{}", terminalId, videoChannel); + throw new RuntimeException("2023年协议发送拍摄指令失败:terminalId-->" + terminalId + ",videoChannel-->" + videoChannel); + }else{ + //等待15秒 + Thread.sleep(30000); + + fileUrl = VideoGateway.getCameraShotByFileId2023(fileId, 0); + if(null == fileUrl){ + log.error("2023年协议车辆获取拍摄图片失败:terminalId-->{},fileId-->{}", terminalId, fileId); + throw new RuntimeException("2023年协议车辆获取拍摄图片失败:terminalId-->" + terminalId + ",fileId-->" + fileId); + }else{ + taskDetailVehiclesChannel.setImageUrl(fileUrl); + taskDetailVehiclesChannel.setSysCreateTime(LocalDateTime.now()); + taskDetailVehiclesChannel.setArtificialStatus(1); + //开始调模型接口得出结果 + Map<String, Object> map = ImageModelUtil.modelCheck(fileUrl, ImageModelEnum.getImageModelEnum(patrolTask.getImageModel())); + Boolean b = (Boolean) map.get("b"); + String r = map.get("r").toString(); + taskDetailVehiclesChannel.setSysStatus(b ? 2 : 3); + taskDetailVehiclesChannel.setResult(r); + taskDetailVehiclesChannelService.updateById(taskDetailVehiclesChannel); + } + } + }else{ + taskDetailVehiclesChannel.setImageUrl(fileUrl); + taskDetailVehiclesChannel.setSysCreateTime(LocalDateTime.now()); + taskDetailVehiclesChannel.setArtificialStatus(1); + //开始调模型接口得出结果 + Map<String, Object> map = ImageModelUtil.modelCheck(fileUrl, ImageModelEnum.getImageModelEnum(patrolTask.getImageModel())); + Boolean b = (Boolean) map.get("b"); + String r = map.get("r").toString(); + taskDetailVehiclesChannel.setSysStatus(b ? 2 : 3); + taskDetailVehiclesChannel.setResult(r); + taskDetailVehiclesChannelService.updateById(taskDetailVehiclesChannel); + } + } + } + } + taskDetailVehicle.setEndExecutionTime(LocalDateTime.now()); + taskDetailVehicle.setStatus(3); + taskDetailVehiclesService.updateById(taskDetailVehicle); + }catch (Exception e){ + e.printStackTrace(); + //失败 + taskDetailVehicle.setEndExecutionTime(LocalDateTime.now()); + taskDetailVehicle.setStatus(5); + taskDetailVehiclesService.updateById(taskDetailVehicle); } } - } - //不在线 - if(null == vehicleOnline1){ - taskDetailVehicle.setEndExecutionTime(LocalDateTime.now()); - taskDetailVehicle.setStatus(4); - taskDetailVehiclesService.updateById(taskDetailVehicle); - continue; - } - taskDetailVehicle.setStatus(2); - taskDetailVehiclesService.updateById(taskDetailVehicle); - //成功 - List<TaskDetailVehiclesChannel> taskDetailVehiclesChannels = taskDetailVehiclesChannelService.selectList(new EntityWrapper<TaskDetailVehiclesChannel>().eq("task_detail_vehicles_id", taskDetailVehicleId)); - //开始发送拍照指令,获取照片地址 - String vehicleGpsProtocol = vehicleOnline1.getVehicleGpsProtocol(); - String terminalId = vehicleOnline1.getTerminalId(); - for (TaskDetailVehiclesChannel taskDetailVehiclesChannel : taskDetailVehiclesChannels) { - Integer videoChannel = taskDetailVehiclesChannel.getVideoChannel(); - if("1".equals(vehicleGpsProtocol)){ - //2018 协议 - String fileId = VideoGateway.cameraShot2018(terminalId, videoChannel, 0); - if(null == fileId){ - log.error("2018年协议发送拍摄指令失败:terminalId-->{},videoChannel-->{}", terminalId, videoChannel); - throw new RuntimeException(); - }else{ - //等待15秒 - Thread.sleep(30000); - - String fileUrl = VideoGateway.getCameraShotByFileId2018(terminalId, fileId, 0); - if(null == fileUrl){ - log.error("2018年协议车辆获取拍摄图片失败:terminalId-->{},fileId-->{}", terminalId, fileId); - //重新发送拍摄指令,如果还是没有获取到图片,标注失败 - fileId = VideoGateway.cameraShot2018(terminalId, videoChannel, 0); - if(null == fileId){ - log.error("2018年协议发送拍摄指令失败:terminalId-->{},videoChannel-->{}", terminalId, videoChannel); - throw new Exception(); - }else{ - //等待15秒 - Thread.sleep(30000); - - fileUrl = VideoGateway.getCameraShotByFileId2018(terminalId, fileId, 0); - if(null == fileUrl){ - log.error("2018年协议车辆获取拍摄图片失败:terminalId-->{},fileId-->{}", terminalId, fileId); - throw new Exception(); - }else{ - taskDetailVehiclesChannel.setImageUrl(fileUrl); - taskDetailVehiclesChannel.setSysCreateTime(LocalDateTime.now()); - taskDetailVehiclesChannel.setArtificialStatus(1); - //开始调模型接口得出结果 - Map<String, Object> map = ImageModelUtil.modelCheck(fileUrl, ImageModelEnum.getImageModelEnum(patrolTask.getImageModel())); - Boolean b = (Boolean) map.get("b"); - String r = map.get("r").toString(); - taskDetailVehiclesChannel.setSysStatus(b ? 2 : 3); - taskDetailVehiclesChannel.setResult(r); - taskDetailVehiclesChannelService.updateById(taskDetailVehiclesChannel); - } - } - }else{ - taskDetailVehiclesChannel.setImageUrl(fileUrl); - taskDetailVehiclesChannel.setSysCreateTime(LocalDateTime.now()); - taskDetailVehiclesChannel.setArtificialStatus(1); - //开始调模型接口得出结果 - Map<String, Object> map = ImageModelUtil.modelCheck(fileUrl, ImageModelEnum.getImageModelEnum(patrolTask.getImageModel())); - Boolean b = (Boolean) map.get("b"); - String r = map.get("r").toString(); - taskDetailVehiclesChannel.setSysStatus(b ? 2 : 3); - taskDetailVehiclesChannel.setResult(r); - taskDetailVehiclesChannelService.updateById(taskDetailVehiclesChannel); - } - } - }else{ - //2023 协议 - String fileId = VideoGateway.cameraShot2023(vehicleId, vehicleType, terminalId, videoChannel, 0); - if(null == fileId){ - log.error("2023年协议发送拍摄指令失败:terminalId-->{},videoChannel-->{}", terminalId, videoChannel); - throw new Exception(); - }else{ - //等待15秒 - Thread.sleep(30000); - - String fileUrl = VideoGateway.getCameraShotByFileId2023(fileId, 0); - if(null == fileUrl){ - log.error("2023年协议车辆获取拍摄图片失败:terminalId-->{},fileId-->{}", terminalId, fileId); - //重新发送拍摄指令,如果还是没有获取图片,标注异常 - fileId = VideoGateway.cameraShot2023(vehicleId, vehicleType, terminalId, videoChannel, 0); - if(null == fileId){ - log.error("2023年协议发送拍摄指令失败:terminalId-->{},videoChannel-->{}", terminalId, videoChannel); - throw new Exception(); - }else{ - //等待15秒 - Thread.sleep(30000); - - fileUrl = VideoGateway.getCameraShotByFileId2023(fileId, 0); - if(null == fileUrl){ - log.error("2023年协议车辆获取拍摄图片失败:terminalId-->{},fileId-->{}", terminalId, fileId); - throw new Exception(); - }else{ - taskDetailVehiclesChannel.setImageUrl(fileUrl); - taskDetailVehiclesChannel.setSysCreateTime(LocalDateTime.now()); - taskDetailVehiclesChannel.setArtificialStatus(1); - //开始调模型接口得出结果 - Map<String, Object> map = ImageModelUtil.modelCheck(fileUrl, ImageModelEnum.getImageModelEnum(patrolTask.getImageModel())); - Boolean b = (Boolean) map.get("b"); - String r = map.get("r").toString(); - taskDetailVehiclesChannel.setSysStatus(b ? 2 : 3); - taskDetailVehiclesChannel.setResult(r); - taskDetailVehiclesChannelService.updateById(taskDetailVehiclesChannel); - } - } - }else{ - taskDetailVehiclesChannel.setImageUrl(fileUrl); - taskDetailVehiclesChannel.setSysCreateTime(LocalDateTime.now()); - taskDetailVehiclesChannel.setArtificialStatus(1); - //开始调模型接口得出结果 - Map<String, Object> map = ImageModelUtil.modelCheck(fileUrl, ImageModelEnum.getImageModelEnum(patrolTask.getImageModel())); - Boolean b = (Boolean) map.get("b"); - String r = map.get("r").toString(); - taskDetailVehiclesChannel.setSysStatus(b ? 2 : 3); - taskDetailVehiclesChannel.setResult(r); - taskDetailVehiclesChannelService.updateById(taskDetailVehiclesChannel); - } - } - } + + //当前线程执行完成后减少等待数 + countDownLatch.countDown(); } - taskDetailVehicle.setEndExecutionTime(LocalDateTime.now()); - taskDetailVehicle.setStatus(3); - taskDetailVehiclesService.updateById(taskDetailVehicle); - }catch (Exception e){ - e.printStackTrace(); - //失败 - taskDetailVehicle.setEndExecutionTime(LocalDateTime.now()); - taskDetailVehicle.setStatus(5); - taskDetailVehiclesService.updateById(taskDetailVehicle); - errNum++; - } + }); } - - taskDetail.setStatus(0 == errNum ? 3 : 4); + try { + countDownLatch.await(); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + int count = taskDetailVehiclesService.selectCount(new EntityWrapper<TaskDetailVehicles>().eq("task_detail_id", id).eq("status", 5)); + taskDetail.setStatus(count > 0 ? 4 : 3); taskDetailService.updateById(taskDetail); } diff --git a/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TaskDetailServiceImpl.java b/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TaskDetailServiceImpl.java index f356efa..6316a59 100644 --- a/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TaskDetailServiceImpl.java +++ b/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TaskDetailServiceImpl.java @@ -36,6 +36,7 @@ import java.net.URLConnection; import java.net.URLEncoder; import java.text.SimpleDateFormat; +import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.*; import java.util.stream.Collectors; @@ -162,16 +163,18 @@ if(null != vo.getSysStatus()){ List<TaskDetailVehiclesChannel> sys_status = taskDetailVehiclesChannelService.selectList(new EntityWrapper<TaskDetailVehiclesChannel>().eq("sys_status", vo.getSysStatus())); List<Integer> collect = sys_status.stream().map(TaskDetailVehiclesChannel::getTaskDetailVehiclesId).collect(Collectors.toList()); - if(collect.size() > 0){ - wrapper.in("id", collect); + if(collect.size() == 0){ + collect.add(-1); } + wrapper.in("id", collect); } if(null != vo.getArtificialStatus()){ List<TaskDetailVehiclesChannel> sys_status = taskDetailVehiclesChannelService.selectList(new EntityWrapper<TaskDetailVehiclesChannel>().eq("artificial_status", vo.getArtificialStatus())); List<Integer> collect = sys_status.stream().map(TaskDetailVehiclesChannel::getTaskDetailVehiclesId).collect(Collectors.toList()); - if(collect.size() > 0){ - wrapper.in("id", collect); + if(collect.size() == 0){ + collect.add(-1); } + wrapper.in("id", collect); } List<TaskDetailVehicles> taskDetailVehiclesList = taskDetailVehiclesService.selectList(wrapper); @@ -237,7 +240,7 @@ * @return */ @Override - public ResultUtil manualAudit(ManualAuditVo vo) { + public ResultUtil manualAudit(ManualAuditVo vo, String userId) { List<TaskDetailVehiclesChannel> taskDetailVehiclesChannels = taskDetailVehiclesChannelService.selectBatchIds(vo.getId()); for (TaskDetailVehiclesChannel taskDetailVehiclesChannel : taskDetailVehiclesChannels) { if(null != taskDetailVehiclesChannel.getArtificialStatus() && 1 != taskDetailVehiclesChannel.getArtificialStatus()){ @@ -245,6 +248,8 @@ } taskDetailVehiclesChannel.setArtificialStatus(vo.getStatus()); taskDetailVehiclesChannel.setRemark(vo.getRemark()); + taskDetailVehiclesChannel.setArtificialCreateTime(LocalDateTime.now()); + taskDetailVehiclesChannel.setArtificialUserId(Integer.valueOf(userId)); taskDetailVehiclesChannelService.updateById(taskDetailVehiclesChannel); } return ResultUtil.success(); diff --git a/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/videoGateway/VideoGateway.java b/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/videoGateway/VideoGateway.java index 7274d05..0ac6279 100644 --- a/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/videoGateway/VideoGateway.java +++ b/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/videoGateway/VideoGateway.java @@ -501,8 +501,8 @@ // locationRealTimeInfoCache(0); - List<Vehicle> 粤AFX998 = VideoGateway.getVehicleList("粤AFX998", null, null, 0); - System.err.println(粤AFX998); + List<VehicleOnline> vehicleOnlines = queryRuntimeInfoByCache(0); + System.err.println(vehicleOnlines); } // public static void main(String[] args) { -- Gitblit v1.7.1