From 836df57f8158c86d0e4825b07cf745faa27d7389 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期二, 21 一月 2025 11:35:17 +0800 Subject: [PATCH] 修改bug --- guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/videoGateway/VideoGateway.java | 85 ++++++++++++++++++++++++++++++++++-------- 1 files changed, 68 insertions(+), 17 deletions(-) diff --git a/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/videoGateway/VideoGateway.java b/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/videoGateway/VideoGateway.java index 89cce0e..3dd55af 100644 --- a/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/videoGateway/VideoGateway.java +++ b/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/videoGateway/VideoGateway.java @@ -9,6 +9,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.stylefeng.guns.core.util.ToolUtil; import com.stylefeng.guns.modular.system.util.videoGateway.model.*; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; @@ -286,6 +287,7 @@ HttpRequest post = HttpUtil.createPost("https://zhyn.cg.gz.gov.cn/map/web/vehicleCtrl/" + terminalId + "/cameraShot"); post.header("operate-terminal", "4"); post.header("token", accountLogin.getToken()); + log.info("【2018年协议发送拍摄指令接口】请求地址:" + post.getUrl()); Map<String, Object> body = new HashMap<>(); body.put("channelId", channelId); log.info("【2018年协议发送拍摄指令接口】请求参数:" + JSON.toJSONString(body)); @@ -295,7 +297,7 @@ log.error("token失效,重新登录"); if(num == 3){ log.error("token失效,请联系管理员"); - return null; + throw new RuntimeException("token失效,请联系管理员"); } num++; accountLogin = null; @@ -306,10 +308,24 @@ Integer code = result.getInteger("code"); if(0 != code){ log.error(result.getString("msg")); - return null; + throw new RuntimeException("【2018年协议发送拍摄指令接口】失败:" + execute.body()); } //返回文件ID - return result.getString("data"); + String data = result.getString("data"); + if(ToolUtil.isEmpty(data)){ + if(num == 12){ + log.error(result.getString("msg")); + throw new RuntimeException("【2018年协议发送拍摄指令接口】12次(1分钟)失败:" + execute.body()); + } + num++; + try { + Thread.sleep(5000); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + return cameraShot2018(terminalId, channelId, num); + } + return data; } @@ -328,14 +344,13 @@ HttpRequest get = HttpUtil.createGet("https://zhyn.cg.gz.gov.cn/api/cws-business/biz-device-send-records/v1/cameraShot?vehicleId=" + vehicleId + "&vehicleType=" + vehicleType + "&terminalId=" + terminalId + "&channelId=" + channelId); get.header("operate-terminal", "4"); get.header("token", accountLogin.getToken()); - Map<String, Object> body = new HashMap<>(); log.info("【2023年协议发送拍摄指令接口】请求参数:" + get.getUrl()); HttpResponse execute = get.execute(); if(401 == execute.getStatus()){ log.error("token失效,重新登录"); if(num == 3){ log.error("token失效,请联系管理员"); - return null; + throw new RuntimeException("token失效,请联系管理员"); } num++; accountLogin = null; @@ -346,10 +361,24 @@ Integer code = result.getInteger("code"); if(0 != code){ log.error(result.getString("msg")); - return null; + throw new RuntimeException("【2023年协议发送拍摄指令接口】失败:" + execute.body()); } //返回文件ID - return result.getString("data"); + String data = result.getString("data"); + if(ToolUtil.isEmpty(data)){ + if(num == 12){ + log.error(result.getString("msg")); + throw new RuntimeException("【2023年协议发送拍摄指令接口】12次(1分钟)失败:" + execute.body()); + } + num++; + try { + Thread.sleep(5000); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + return cameraShot2023(vehicleId, vehicleType, terminalId, channelId, num); + } + return data; } @@ -372,7 +401,7 @@ log.error("token失效,重新登录"); if(num == 3){ log.error("token失效,请联系管理员"); - return null; + throw new RuntimeException("token失效,请联系管理员"); } num++; accountLogin = null; @@ -383,13 +412,24 @@ Integer code = result.getInteger("code"); if(0 != code){ log.error(result.getString("msg")); - return null; + throw new RuntimeException("【2018年协议车辆获取拍摄图片】失败:" + execute.body()); } //图片地址 String data = result.getString("data"); - if(null == data){ - return null; + if(ToolUtil.isEmpty(data)){ + if(num == 12){ + log.error(result.getString("msg")); + throw new RuntimeException("【2018年协议车辆获取拍摄图片】12次(1分钟)失败:" + execute.body()); + } + num++; + try { + Thread.sleep(5000); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + return getCameraShotByFileId2018(terminalId, fileId, num); } + data = data.replaceAll(";", ""); return "https://zhyn-pic.cg.gz.gov.cn" + data; } @@ -412,7 +452,7 @@ log.error("token失效,重新登录"); if(num == 3){ log.error("token失效,请联系管理员"); - return null; + throw new RuntimeException("token失效,请联系管理员"); } num++; accountLogin = null; @@ -423,13 +463,24 @@ Integer code = result.getInteger("code"); if(0 != code){ log.error(result.getString("msg")); - return null; + throw new RuntimeException("【2023年协议车辆获取拍摄图片】失败:" + execute.body()); } //图片地址 String data = result.getString("data"); - if(null == data){ - return null; + if(ToolUtil.isEmpty(data)){ + if(num == 12){ + log.error(result.getString("msg")); + throw new RuntimeException("【2023年协议车辆获取拍摄图片】12次(1分钟)失败:" + execute.body()); + } + num++; + try { + Thread.sleep(5000); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + return getCameraShotByFileId2023(fileId, num); } + data = data.replaceAll(";", ""); return "https://zhyn-pic.cg.gz.gov.cn" + data; } @@ -499,8 +550,8 @@ // locationRealTimeInfoCache(0); - List<Vehicle> 粤AFX998 = VideoGateway.getVehicleList("粤AFX998", null, null, 0); - System.err.println(粤AFX998); + List<VehicleOnline> vehicleOnlines = queryRuntimeInfoByCache(0); + System.err.println(vehicleOnlines); } // public static void main(String[] args) { -- Gitblit v1.7.1