Browse Source

/*纠偏按钮接口业务开发*/

master
htjcAdmin 3 weeks ago
parent
commit
eb0d5c6fdf
8 changed files with 115 additions and 4 deletions
  1. +19
    -0
      inspect-ivs/src/main/java/com/inspect/ivs/controller/IvsControlController.java
  2. +39
    -4
      inspect-ivs/src/main/java/com/inspect/ivs/service/IvsResourceRetryableDelegate.java
  3. +13
    -0
      inspect-ivs/src/main/java/com/inspect/ivs/vo/IvsPresetExVo.java
  4. +7
    -0
      inspect-main/inspect-main-task/src/main/java/com/inspect/task/controller/PatrolTaskController.java
  5. +2
    -0
      inspect-main/inspect-main-task/src/main/java/com/inspect/task/mapper/PatrolTaskMapper.java
  6. +3
    -0
      inspect-main/inspect-main-task/src/main/java/com/inspect/task/service/IPatrolTaskService.java
  7. +28
    -0
      inspect-main/inspect-main-task/src/main/java/com/inspect/task/service/impl/PatrolTaskServiceImpl.java
  8. +4
    -0
      inspect-main/inspect-main-task/src/main/resources/mapper/task/PatrolTaskMapper.xml

+ 19
- 0
inspect-ivs/src/main/java/com/inspect/ivs/controller/IvsControlController.java View File

@ -11,6 +11,7 @@ import com.inspect.ivs.service.IvsResourceRetryableDelegate;
import com.inspect.ivs.util.UriUtils;
import com.inspect.ivs.view.IvsPresetListView;
import com.inspect.ivs.view.IvsPresetView;
import com.inspect.ivs.vo.IvsPresetExVo;
import com.inspect.ivs.vo.IvsVo;
import com.inspect.ivs.vo.IvsPresetVo;
import com.inspect.ivs.vo.IvsPtzVo;
@ -94,6 +95,24 @@ public class IvsControlController {
paramJsonRemove.put("presetIndex", Integer.parseInt(ivsPresetVo.getPreset()));
ivsCommonService.delete(ivsResourceRetryableDelegate.getLabel(), UriUtils.parseForReplace(IvsConst.URI_PRESET_REMOVE, paramJsonRemove));
return Response.ok();
} else if (command.equals("correction")) {
return Response.ok();
} else {
return Response.ok();
}
}
@GetMapping({"presetEx"})
public Response presetEx(IvsPresetExVo ivsPresetVo) {
String command = ivsPresetVo.getCommand();
log.info("PRESET_EX param: {}, command: {}", ivsPresetVo, command);
if (command.equals("correction")) {
String uuid = ivsResourceRetryableDelegate.getLabel();
log.info("PRESET_EX CORRECTION UUID: {}, CameraCode: {}",
uuid,
ivsPresetVo.getCameraCode());
ivsPresetVo.setUUID(uuid);
return ivsResourceRetryableDelegate.gotoSnapshotPresetExRetryable(version, ivsPresetVo);
} else {
return Response.ok();
}


+ 39
- 4
inspect-ivs/src/main/java/com/inspect/ivs/service/IvsResourceRetryableDelegate.java View File

@ -8,10 +8,7 @@ import com.inspect.ivs.constant.IvsConst;
import com.inspect.ivs.util.UriUtils;
import com.inspect.ivs.view.IvsPlatformSnapshotView;
import com.inspect.ivs.view.IvsSnapshotView;
import com.inspect.ivs.vo.IvsChanSnapVo;
import com.inspect.ivs.vo.IvsDevChanSnapVo;
import com.inspect.ivs.vo.IvsPresetVo;
import com.inspect.ivs.vo.IvsVo;
import com.inspect.ivs.vo.*;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
@ -105,6 +102,44 @@ public class IvsResourceRetryableDelegate {
return Response.fail();
}
// 转到预置位
@Retryable(
value = RuntimeException.class,
maxAttempts = RETRYABLE_MAX,
backoff = @Backoff(delay = 2000)) // 每次重试间隔 2
public Response<Void> gotoSnapshotPresetExRetryable(String version, IvsPresetExVo ivsPresetVo) {
int retryCount = RetrySynchronizationManager.getContext() != null
? RetrySynchronizationManager.getContext().getRetryCount() + 1
: 1;
log.info("URI_PTZ_CONTROL_EX CORRECTION: retryCount: {}, BODY: {}",
retryCount,
ivsPresetVo);
log.debug("URI_PTZ_CONTROL_EX CORRECTION: IVS VERSION: {}", version);
JSONObject paramJson = new JSONObject();
paramJson.put("cameraCode", ivsPresetVo.getCameraCode());
paramJson.put("controlCode", "11");
paramJson.put("controlPara1", ivsPresetVo.getControlPara1());
paramJson.put("controlPara2", ivsPresetVo.getControlPara2());
try {
final String apiAddr = getApiAddress(ivsPresetVo);
log.info("URI_PTZ_CONTROL_EX CORRECTION apiAddr: {}", apiAddr);
ivsCommonService.postJson(ivsPresetVo.getUUID(), apiAddr, IvsConst.URI_PTZ_CONTROL, paramJson, IvsResult.class);
log.info("URI_PTZ_CONTROL_EX CORRECTION SUCCESS retryCount: {}, apiAddr: {}", retryCount, apiAddr);
} catch (Exception e) {
log.info("URI_PTZ_CONTROL_EX CORRECTION FAIL retryCount: {}, UUID: {}", retryCount, ivsPresetVo.getUUID());
//throw new IOException("URI_PTZ_CONTROL GOTO: FAIL UUID: " + ivsPresetVo.getUUID() + ", retryCount: " + retryCount + ", MSG: " + e);
throw new RuntimeException("URI_PTZ_CONTROL_EX CORRECTION: FAIL UUID: " + ivsPresetVo.getUUID() + ", retryCount: " + retryCount + ", MSG: " + e);
}
return Response.ok();
}
@SuppressWarnings("unused")
@Recover
public Response<Void> recover(RuntimeException e, String version, IvsPresetExVo ivsPresetVo) {
log.info("URI_PTZ_CONTROL_EX CORRECTION RECOVER UUID: {}, MSG: {}", ivsPresetVo.getUUID(), e.getMessage());
return Response.fail();
}
// 下发拍照命令
@Retryable(
value = IOException.class,


+ 13
- 0
inspect-ivs/src/main/java/com/inspect/ivs/vo/IvsPresetExVo.java View File

@ -0,0 +1,13 @@
package com.inspect.ivs.vo;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class IvsPresetExVo extends IvsVo {
private String command;
private String controlCode;
private String controlPara1;
private String controlPara2;
}

+ 7
- 0
inspect-main/inspect-main-task/src/main/java/com/inspect/task/controller/PatrolTaskController.java View File

@ -793,6 +793,13 @@ public class PatrolTaskController extends BaseController {
return toAjax(1);
}
@PostMapping({"/correction"})
public AjaxResult correctionAlgorithm(@RequestBody PatrolData patrolData) {
logger.info("correctionAlgorithm patrolData: {}", patrolData);
patrolTaskService.correctionAlgorithm(patrolData);
return toAjax(1);
}
public String calcWeekList(String week) {
List<String> weekList = new ArrayList<>();
if (week.contains(StringUtils.COMMA)) {


+ 2
- 0
inspect-main/inspect-main-task/src/main/java/com/inspect/task/mapper/PatrolTaskMapper.java View File

@ -43,4 +43,6 @@ public interface PatrolTaskMapper {
int deletePatrolTaskByTaskIds(Long[] taskIds);
List<Map<String, Long>> selectTaskRationalGroupByType();
String selectChannelCodeByPatrolPointId(String patrolPointId);
}

+ 3
- 0
inspect-main/inspect-main-task/src/main/java/com/inspect/task/service/IPatrolTaskService.java View File

@ -1,6 +1,7 @@
package com.inspect.task.service;
import com.inspect.task.domain.DeviceConvert;
import com.inspect.task.domain.PatrolData;
import com.inspect.task.domain.PatrolTask;
import java.util.List;
@ -48,4 +49,6 @@ public interface IPatrolTaskService {
List<Map<String, String>> defectList3();
List<Map<String, String>> pointStatistics();
void correctionAlgorithm(PatrolData patrolData);
}

+ 28
- 0
inspect-main/inspect-main-task/src/main/java/com/inspect/task/service/impl/PatrolTaskServiceImpl.java View File

@ -1,19 +1,25 @@
package com.inspect.task.service.impl;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.inspect.analysis.mapper.ResultAnalysisMapper;
import com.inspect.base.core.utils.DateUtils;
import com.inspect.task.domain.DeviceConvert;
import com.inspect.task.domain.PatrolData;
import com.inspect.task.domain.PatrolTask;
import com.inspect.task.mapper.PatrolTaskMapper;
import com.inspect.task.service.IPatrolTaskService;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Slf4j
@Service
public class PatrolTaskServiceImpl implements IPatrolTaskService {
@ -112,4 +118,26 @@ public class PatrolTaskServiceImpl implements IPatrolTaskService {
public List<Map<String, String>> pointStatistics() {
return this.resultAnalysisMapper.pointStatistics();
}
public void correctionAlgorithm(PatrolData patrolData) {
log.info("controller correctionAlgorithm pointId: {}, resValue: {}",
patrolData.getPointId(),
patrolData.getResValue());
final String channelCode = patrolTaskMapper.selectChannelCodeByPatrolPointId(patrolData.getPointId());
log.info("controller correctionAlgorithm channelCode: {}", channelCode);
ObjectMapper mapper = new ObjectMapper();
List<List<Double>> list;
try {
list = mapper.readValue(patrolData.getResValue(), new TypeReference<List<List<Double>>>() {
});
log.info("controller correctionAlgorithm correction value: {}", list);
} catch (Exception e) {
log.info("controller correctionAlgorithm correction value exception");
list = new ArrayList<>();
}
if(list.size() == 2 && list.get(0).size() == 2 && list.get(1).size() == 2) {
}
}
}

+ 4
- 0
inspect-main/inspect-main-task/src/main/resources/mapper/task/PatrolTaskMapper.xml View File

@ -347,4 +347,8 @@
from patrol_task p
group by p.type;
</select>
<select id="selectChannelCodeByPatrolPointId" resultType="java.lang.String" parameterType="java.lang.String">
select d.channel_code from patrol_preset_pos d where d.patrol_point_id = #{patrolPointId} limit 1
</select>
</mapper>

Loading…
Cancel
Save