From 1e6eb4d87c28c065ce707112d69e712e851e482e Mon Sep 17 00:00:00 2001 From: yinhuaiwei Date: Wed, 14 Jan 2026 09:53:26 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=BA=A0=E5=81=8F=E7=AE=97=E6=B3=95?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=BA=A0=E5=81=8F=E5=90=8E=E6=8A=93=E6=8B=8D?= =?UTF-8?q?=E6=A0=A1=E5=87=86=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/inspect/task/domain/PatrolData.java | 12 +++- .../task/service/IPatrolTaskService.java | 2 +- .../service/impl/PatrolTaskServiceImpl.java | 63 ++++++++++++++----- .../mapper/task/PatrolResultMapper.xml | 2 + 4 files changed, 59 insertions(+), 20 deletions(-) diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/task/domain/PatrolData.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/task/domain/PatrolData.java index 0064dc0..29c086f 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/task/domain/PatrolData.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/task/domain/PatrolData.java @@ -80,7 +80,8 @@ public class PatrolData implements Comparable { private String filePath; private String suggestion; - + // 纠偏后的图片 + private String originalValue; public String warnStatus(String ws) { @@ -243,6 +244,10 @@ public class PatrolData implements Comparable { return this.suggestion; } + public String getOriginalValue() { + return originalValue; + } + public void setDeviceName(String deviceName) { this.deviceName = deviceName; } @@ -355,7 +360,9 @@ public class PatrolData implements Comparable { this.suggestion = suggestion; } - + public void setOriginalValue(String originalValue) { + this.originalValue = originalValue; + } protected boolean canEqual(Object other) { return other instanceof PatrolData; @@ -407,6 +414,7 @@ public class PatrolData implements Comparable { ", imageNormalUrlPath='" + imageNormalUrlPath + '\'' + ", filePath='" + filePath + '\'' + ", suggestion='" + suggestion + '\'' + + ", originalValue='" + originalValue + '\'' + '}'; } } diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/task/service/IPatrolTaskService.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/task/service/IPatrolTaskService.java index dcddc64..63a8378 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/task/service/IPatrolTaskService.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/task/service/IPatrolTaskService.java @@ -51,7 +51,7 @@ public interface IPatrolTaskService { List> pointStatistics(); - void correctionAlgorithm(PatrolData patrolData); + boolean correctionAlgorithm(PatrolData patrolData); void executeAsync(PatrolTaskStatus taskStatus); diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/task/service/impl/PatrolTaskServiceImpl.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/task/service/impl/PatrolTaskServiceImpl.java index 673f4a6..0523398 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/task/service/impl/PatrolTaskServiceImpl.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/task/service/impl/PatrolTaskServiceImpl.java @@ -5,6 +5,8 @@ import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import com.inspect.analysis.domain.ResultAnalysis; import com.inspect.analysis.mapper.ResultAnalysisMapper; +import com.inspect.base.core.sftp.SftpClient; +import com.inspect.base.core.sftp.SftpUploadEntity; import com.inspect.base.core.utils.DateUtils; import com.inspect.base.core.utils.HttpClientUtils; import com.inspect.base.core.utils.StringUtils; @@ -33,6 +35,8 @@ import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; +import java.util.List; + @Slf4j @EnableScheduling @Service @@ -48,6 +52,8 @@ public class PatrolTaskServiceImpl implements IPatrolTaskService { @Autowired private TaskCalendarGenerator taskCalendarGenerator; + @Autowired + private SftpClient sftpClient; final ResultAnalysisMapper resultAnalysisMapper; @@ -110,7 +116,7 @@ public class PatrolTaskServiceImpl implements IPatrolTaskService { } public int updatePatrolTask(PatrolTask patrolTask) { - int count = this.patrolTaskMapper.updatePatrolTask(patrolTask); + int count = this.patrolTaskMapper.updatePatrolTask(patrolTask); taskCalendarGenerator.onTaskChange(); return count; } @@ -153,16 +159,17 @@ public class PatrolTaskServiceImpl implements IPatrolTaskService { return this.resultAnalysisMapper.pointStatistics(); } - public void correctionAlgorithm(PatrolData patrolData) { + @Override + public boolean correctionAlgorithm(PatrolData patrolData) { log.info("controller correctionAlgorithm pointId: {}, resValue: {}", patrolData.getPointId(), patrolData.getResValue()); final Map result = patrolTaskMapper.selectChannelCodeByPatrolPointId(patrolData.getPointId()); - final String channelCode = (String)result.get("channel_code"); - final String presetPosCode = (String)result.get("preset_pos_code"); - final String presetPosName = (String)result.get("preset_pos_name"); + final String channelCode = (String) result.get("channel_code"); + final String presetPosCode = (String) result.get("preset_pos_code"); + final String presetPosName = (String) result.get("preset_pos_name"); final Integer patrolPointId = (Integer) result.get("patrol_point_id"); - final String videoNvrCode = (String)result.get("video_nvr_code"); + final String videoNvrCode = (String) result.get("video_nvr_code"); log.info("controller correctionAlgorithm channelCode: {}, presetPosCode: {}, presetPosName: {}, patrolPointId: {}, videoNvrCode: {}", channelCode, presetPosCode, @@ -178,10 +185,10 @@ public class PatrolTaskServiceImpl implements IPatrolTaskService { + "&name=" + URLEncoder.encode(presetPosName, ("UTF-8")) + "&id=" + patrolPointId + "&host=" + "null" - + "&port=" + "null" - + "&username=" + "null" - + "&password=" + "null" - + "&address=" + "null"; + + "&port=" + "null" + + "&username=" + "null" + + "&password=" + "null" + + "&address=" + "null"; log.info("controller correctionAlgorithm preset url2: {}, param2: {}", url2, param2); HttpClientUtils.get(url2, param2); } catch (Exception e) { @@ -207,7 +214,7 @@ public class PatrolTaskServiceImpl implements IPatrolTaskService { String controlPara1 = ""; String controlPara2 = ""; - if(list.size() == 2 && list.get(0).size() == 2 && list.get(1).size() == 2) { + if (list.size() == 2 && list.get(0).size() == 2 && list.get(1).size() == 2) { controlPara1 = list.get(0).get(0) + "," + list.get(0).get(1); controlPara2 = list.get(1).get(0) + "," + list.get(1).get(1); } @@ -217,9 +224,9 @@ public class PatrolTaskServiceImpl implements IPatrolTaskService { + "&code=" + channelCode + "&controlCode=" + "31" + "&controlPara1=" + controlPara1 - + "&controlPara2=" + controlPara2 - ; + + "&controlPara2=" + controlPara2; log.info("controller correctionAlgorithm correction param: {}", param); + // 设置预置位 try { HttpClientUtils.get(url, param); Thread.sleep(5000); @@ -228,8 +235,7 @@ public class PatrolTaskServiceImpl implements IPatrolTaskService { final String param3 = "command=correctionSet" + "&code=" + channelCode + "&preset=" + presetPosCode - + "&name=" + URLEncoder.encode(presetPosName, ("UTF-8")) - ; + + "&name=" + URLEncoder.encode(presetPosName, ("UTF-8")); try { HttpClientUtils.get(url3, param3); } catch (Exception e) { @@ -238,14 +244,37 @@ public class PatrolTaskServiceImpl implements IPatrolTaskService { } catch (Exception e) { log.info("controller correctionAlgorithm HttpClientUtils.get execute exception: {}", e.getMessage()); } - if(!StringUtils.isEmpty(patrolData.getLineId())) { + // 抓拍新点位图片 + final String urlCapture = "http://199.199.199.154:9906" + "/api/v1/device/channelsnap" + + "?serial=" + videoNvrCode + + "&realtime=true" + + "&code=" + channelCode; + + String fileTypeDir = "snap/"; + String fileName = "correction_" + System.currentTimeMillis() + ".jpg"; + String filePath = ""; + try { + String[] split = urlCapture.split("\\?"); + SftpUploadEntity sftpUploadEntity = new SftpUploadEntity(HttpClientUtils.getStream(split[0], split[split.length - 1])); + sftpUploadEntity.setFilePath(fileTypeDir); + sftpUploadEntity.setFileName(fileName.split(StringUtils.HASHTAG)[0]); + filePath = sftpClient.upload(sftpUploadEntity); + } catch (Exception e) { + log.info("correction ftp error:{}", e.getMessage()); + } + + // 更新结果 + if (!StringUtils.isEmpty(patrolData.getLineId()) && filePath != "") { ResultAnalysis resultAnalysis = new ResultAnalysis(); resultAnalysis.setLineId(Long.valueOf(patrolData.getLineId())); resultAnalysis.setResStatus("4"); resultAnalysis.setDescription("已完成纠偏"); - log.info("controller correctionAlgorithm updateResultAnalysis: {}", resultAnalysis); + resultAnalysis.setOriginalValue(filePath); resultAnalysisMapper.updateResultAnalysis(resultAnalysis); + log.info("controller correctionAlgorithm updateResultAnalysis: {}", resultAnalysis); + return true; } + return false; } /** diff --git a/inspect-main/inspect-main-task/src/main/resources/mapper/task/PatrolResultMapper.xml b/inspect-main/inspect-main-task/src/main/resources/mapper/task/PatrolResultMapper.xml index 503a73c..7f9b2be 100644 --- a/inspect-main/inspect-main-task/src/main/resources/mapper/task/PatrolResultMapper.xml +++ b/inspect-main/inspect-main-task/src/main/resources/mapper/task/PatrolResultMapper.xml @@ -183,6 +183,7 @@ +