|
|
|
@ -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, |
|
|
|
|