|
|
|
@ -1,12 +1,16 @@ |
|
|
|
package com.inspect.ivs.service; |
|
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject; |
|
|
|
import com.inspect.base.core.domain.Response; |
|
|
|
import com.inspect.base.core.utils.StringUtils; |
|
|
|
import com.inspect.ivs.base.feign.domain.IvsResult; |
|
|
|
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 org.apache.http.HttpResponse; |
|
|
|
import org.apache.http.client.methods.HttpGet; |
|
|
|
import org.apache.http.impl.client.CloseableHttpClient; |
|
|
|
@ -42,6 +46,41 @@ public class IvsResourceRetryableDelegate { |
|
|
|
@Resource |
|
|
|
private IvsCommonService ivsCommonService; |
|
|
|
|
|
|
|
@Retryable( |
|
|
|
value = IOException.class, |
|
|
|
maxAttempts = RETRYABLE_MAX, |
|
|
|
backoff = @Backoff(delay = 2000)) // 每次重试间隔 2 秒 |
|
|
|
public Response<Void> gotoSnapshotPresetRetryable(String version, IvsPresetVo ivsPresetVo) throws IOException{ |
|
|
|
int retryCount = RetrySynchronizationManager.getContext() != null |
|
|
|
? RetrySynchronizationManager.getContext().getRetryCount() + 1 |
|
|
|
: 1; |
|
|
|
log.info("URI_PTZ_CONTROL GOTO: retryCount: {}, UUID: {}", retryCount, ivsPresetVo.getUUID()); |
|
|
|
JSONObject paramJson = new JSONObject(); |
|
|
|
paramJson.put("cameraCode", ivsPresetVo.getCameraCode()); |
|
|
|
log.debug("URI_PTZ_CONTROL GOTO: IVS VERSION: {}", version); |
|
|
|
if (version.equals("1800")) { |
|
|
|
paramJson.put("controlCode", 11); |
|
|
|
} else { |
|
|
|
paramJson.put("controlCode", "11"); |
|
|
|
} |
|
|
|
paramJson.put("controlPara1", ivsPresetVo.getPreset()); |
|
|
|
paramJson.put("controlPara2", ""); |
|
|
|
try { |
|
|
|
ivsCommonService.postJson(ivsPresetVo.getUUID(), paramJson, IvsConst.URI_PTZ_CONTROL, IvsResult.class); |
|
|
|
} catch (Exception e) { |
|
|
|
log.info("URI_PTZ_CONTROL GOTO FAIL retryCount: {}, UUID: {}", retryCount, ivsPresetVo.getUUID()); |
|
|
|
throw new IOException("URI_PTZ_CONTROL GOTO: FAIL UUID: " + ivsPresetVo.getUUID() + ", retryCount: " + retryCount); |
|
|
|
} |
|
|
|
return Response.ok(); |
|
|
|
} |
|
|
|
|
|
|
|
@SuppressWarnings("unused") |
|
|
|
@Recover |
|
|
|
public Response<Void> recover(IOException e, String version, IvsPresetVo ivsPresetVo) { |
|
|
|
log.info("URI_PTZ_CONTROL GOTO RECOVER UUID: {}, MSG: {}", ivsPresetVo.getUUID(), e.getMessage()); |
|
|
|
return Response.fail(); |
|
|
|
} |
|
|
|
|
|
|
|
@Retryable( |
|
|
|
value = IOException.class, |
|
|
|
maxAttempts = RETRYABLE_MAX, |
|
|
|
@ -53,7 +92,7 @@ public class IvsResourceRetryableDelegate { |
|
|
|
log.info("URI_PLATFORM_SNAPSHOT retryCount: {}, UUID: {}", retryCount, ivsDevChanSnapVo.getUUID()); |
|
|
|
IvsSnapshotView ivsSnapshotView; |
|
|
|
try { |
|
|
|
ivsSnapshotView = ivsCommonService.get(getLabel(), UriUtils.parse(IvsConst.URI_PLATFORM_SNAPSHOT, ivsDevChanSnapVo), IvsSnapshotView.class); |
|
|
|
ivsSnapshotView = ivsCommonService.get(ivsDevChanSnapVo.getUUID(), UriUtils.parse(IvsConst.URI_PLATFORM_SNAPSHOT, ivsDevChanSnapVo), IvsSnapshotView.class); |
|
|
|
log.info("URI_PLATFORM_SNAPSHOT SUCCESS retryCount: {}, UUID: {}", retryCount, ivsDevChanSnapVo.getUUID()); |
|
|
|
} catch (Exception e) { |
|
|
|
log.info("URI_PLATFORM_SNAPSHOT FAIL retryCount: {}, UUID: {}", retryCount, ivsDevChanSnapVo.getUUID()); |
|
|
|
@ -81,7 +120,7 @@ public class IvsResourceRetryableDelegate { |
|
|
|
log.info("URI_SNAPSHOT_LIST retryCount: {}, UUID: {}", retryCount, ivsChanSnapVo.getUUID()); |
|
|
|
IvsPlatformSnapshotView snapShotView; |
|
|
|
try { |
|
|
|
snapShotView = ivsCommonService.postJson(getLabel(), ivsChanSnapVo, IvsConst.URI_SNAPSHOT_LIST, IvsPlatformSnapshotView.class); |
|
|
|
snapShotView = ivsCommonService.postJson(ivsChanSnapVo.getUUID(), ivsChanSnapVo, IvsConst.URI_SNAPSHOT_LIST, IvsPlatformSnapshotView.class); |
|
|
|
log.info("URI_SNAPSHOT_LIST SUCCESS retryCount: {}, UUID: {}", retryCount, ivsChanSnapVo.getUUID()); |
|
|
|
} catch (Exception e) { |
|
|
|
log.info("URI_SNAPSHOT_LIST FAIL retryCount: {}, UUID: {}", retryCount, ivsChanSnapVo.getUUID()); |
|
|
|
|