Commit fce4095a4edb13a25cd55a6b7183d1c76abe6488

Authored by xp.Huang
1 parent dce15884

fix: 海康威视调用api失败,返回错误码方便定位

... ... @@ -104,6 +104,8 @@ public enum ErrorMessage {
104 104 CURRENT_DATA_IN_USE(400080,"当前数据正在被【%s】使用,不能被禁用"),
105 105 REPORT_NAME_ERROR(400081,"报表配置的名称包含斜杠或反斜杠!!!"),
106 106 DEVICE_CREDENTIALS_ASSIGNED(400082,"设备凭证【%s】已分配给其它设备!"),
  107 + HIKVISION_GET_URL_ERROR(400083,"海康威视视API调用获取URL失败!!"),
  108 + HIKVISION_API_ERROR(400084,"海康威视视频预览API调用失败,错误码【%s】"),
107 109 HAVE_NO_PERMISSION(500002,"没有修改权限");
108 110 private final int code;
109 111 private String message;
... ...
... ... @@ -68,18 +68,24 @@ public class HikVisionArtemisPostUtils {
68 68 //返回url地址
69 69 if (StringUtils.isNotEmpty(result)) {
70 70 JsonNode json = JacksonUtil.toJsonNode(result);
71   - json = json.get("data");
72   - String message = null;
73   - if(null == json || json.get("url") == null){
74   - if(null == json){
75   - message = ErrorMessage.VIDEO_PLATFORM_CONFIG_ERROR.getMessage();
76   - }else if(json.get("url") == null && Objects.equals(protocolType.getValue(),
77   - ProtocolType.HLSS.getValue())){
78   - message = ErrorMessage.VIDEO_PLATFORM_NEED_ENABLE_HLS_HTTPS.getMessage();
  71 + if(json.get("code").equals("0")){
  72 + json = json.get("data");
  73 + String message = null;
  74 + if(null == json || json.get("url") == null){
  75 + if(null == json){
  76 + message = ErrorMessage.HIKVISION_GET_URL_ERROR.getMessage();
  77 + }else if(json.get("url") == null && Objects.equals(protocolType.getValue(),
  78 + ProtocolType.HLSS.getValue())){
  79 + message = ErrorMessage.VIDEO_PLATFORM_NEED_ENABLE_HLS_HTTPS.getMessage();
  80 + }
  81 + throw new TkDataValidationException(message);
79 82 }
80   - throw new TkDataValidationException(message);
  83 + return json.get("url").textValue();
  84 + }else{
  85 + String errorCode = json.get("code").toString();
  86 + throw new TkDataValidationException(String.format(ErrorMessage.HIKVISION_API_ERROR.getMessage(),errorCode));
81 87 }
82   - return json.get("url").textValue();
  88 +
83 89 } else {
84 90 throw new TkDataValidationException(ErrorMessage.VIDEO_PLATFORM_CONFIG_ERROR.getMessage());
85 91 }
... ...