diff --git a/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java b/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java index 75c95f78d..2b769b214 100644 --- a/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java +++ b/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java @@ -78,7 +78,7 @@ public class HikvisionCall { List hikvisionRequestRetries = hikvisionRequestRetryMapper.selectList(new LambdaQueryWrapper() .lt(HikvisionRequestRetry::getRequestNum, 4)); for (HikvisionRequestRetry retry : hikvisionRequestRetries) { - HikvisionUtil.doPost(retry.getHost(), retry.getPath(), retry.getBody(), null, retry.getAppKey(), retry.getAppSecret()); + HikvisionUtil.doPost(retry.getHost(), retry.getPath(), retry.getBody(), null, retry.getAppKey(), retry.getAppSecret(), retry.getId()); } } diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/HikvisionRequestRetryMapper.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/HikvisionRequestRetryMapper.java index 0fda13885..b7c6af312 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/HikvisionRequestRetryMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/HikvisionRequestRetryMapper.java @@ -16,4 +16,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; @Mapper public interface HikvisionRequestRetryMapper extends BaseMapper { + Integer addOne(HikvisionRequestRetry entity); } diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/HikvisionRequestRetryMapper.xml b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/HikvisionRequestRetryMapper.xml index 5f1942ff6..8a62770a7 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/HikvisionRequestRetryMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/HikvisionRequestRetryMapper.xml @@ -1,4 +1,8 @@ + diff --git a/src/main/java/com/zhgd/xmgl/util/HikvisionUtil.java b/src/main/java/com/zhgd/xmgl/util/HikvisionUtil.java index 12c15ae37..759ddc582 100644 --- a/src/main/java/com/zhgd/xmgl/util/HikvisionUtil.java +++ b/src/main/java/com/zhgd/xmgl/util/HikvisionUtil.java @@ -32,13 +32,14 @@ public class HikvisionUtil { } public static String doPost(String host, String path, String body, Map querys, String appKey, String appSecret) { - return doPost(host, path, body, querys, appKey, appSecret, false); + return doPost(host, path, body, querys, appKey, appSecret, null); } - public static String doPost(String host, String path, String body, Map querys, String appKey, String appSecret, boolean isRetry) { + public static String doPost(String host, String path, String body, Map querys, String appKey, String appSecret, Long hikvisionRequestRetryId) { log.info("HikvisionUtil#doPost.url:{}", host + path); log.info("HikvisionUtil#doPost.body:{}", body); String responseStr = null; + boolean isException = false; try { Map headers = new HashMap(); headers.put("Accept", "*/*"); @@ -51,8 +52,9 @@ public class HikvisionUtil { responseStr = getResponseResult(response); log.info("HikvisionUtil#doPost.getResponseResult:{}", responseStr); } catch (Exception var10) { + isException = true; var10.printStackTrace(); - if (!isRetry) { + if (hikvisionRequestRetryId == null) { HikvisionRequestRetry entity = new HikvisionRequestRetry(); entity.setUrl(host + path); entity.setHost(host); @@ -65,8 +67,15 @@ public class HikvisionUtil { entity.setAppKey(appKey); entity.setAppSecret(appSecret); hikvisionRequestRetryMapper.insert(entity); + } else { + HikvisionRequestRetry entity = new HikvisionRequestRetry(); + entity.setId(hikvisionRequestRetryId); + hikvisionRequestRetryMapper.addOne(entity); } } + if (!isException && hikvisionRequestRetryId != null) { + hikvisionRequestRetryMapper.deleteById(hikvisionRequestRetryId); + } return responseStr; }