| | |
| | | import com.ycl.platform.domain.result.OSDResult; |
| | | import com.ycl.utils.StringUtils; |
| | | import constant.ApiConstants; |
| | | import enumeration.DeviceType; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.http.HttpResponse; |
| | | import org.apache.http.auth.AuthScope; |
| | |
| | | |
| | | @Slf4j |
| | | public class HKApi { |
| | | public static OSDResult getOsdByIP(String ip, String userName, String password) { |
| | | public static OSDResult getOsdByIP(String serialNumber, String ip, String userName, String password) { |
| | | OSDResult osdResult = new OSDResult(); |
| | | String hostUrl = "http://" + ip; |
| | | try { |
| | | //获取OSD |
| | | String OSDString = getHttpResponse(hostUrl + ApiConstants.HK_OSD_PATH, userName, password); |
| | | /** |
| | | * 通过国标倒数第七位判断通道 0/全景 1/细节 |
| | | * 对于海康来说: 国标倒7 0/全景/通道2 1/细节/通道1 |
| | | * 对于大华来说: 国标倒7 0/全景/通道1 1/细节/通道2 |
| | | * 宇视单通道不考虑 |
| | | */ |
| | | String OSDString = null; |
| | | if(StringUtils.isEmpty(serialNumber)) return null; |
| | | if(serialNumber.charAt(ApiConstants.SerialNumber_Channel) == ApiConstants.SerialNumber_All ) { |
| | | OSDString = getHttpResponse(hostUrl + ApiConstants.HK_OSD_PATH_2, userName, password); |
| | | }else if(serialNumber.charAt(ApiConstants.SerialNumber_Channel) == ApiConstants.SerialNumber_Detail){ |
| | | OSDString = getHttpResponse(hostUrl + ApiConstants.HK_OSD_PATH_1, userName, password); |
| | | } |
| | | //通过设备类型判断(弃用) |
| | | // if(serialNumber.charAt(ApiConstants.SerialNumber_Category) == 1 ){ |
| | | // //枪机 |
| | | // if(serialNumber.charAt(ApiConstants.SerialNumber_Channel) == 1){ |
| | | // OSDString = getHttpResponse(hostUrl + ApiConstants.HK_OSD_PATH_1, userName, password); |
| | | // }else if(serialNumber.charAt(ApiConstants.SerialNumber_Channel) == 0){ |
| | | // OSDString = getHttpResponse(hostUrl + ApiConstants.HK_OSD_PATH_2, userName, password); |
| | | // } |
| | | // }else if(serialNumber.charAt(ApiConstants.SerialNumber_Category) == 2){ |
| | | // //球机 |
| | | // if(serialNumber.charAt(ApiConstants.SerialNumber_Channel) == 0){ |
| | | // OSDString = getHttpResponse(hostUrl + ApiConstants.HK_OSD_PATH_1, userName, password); |
| | | // }else if(serialNumber.charAt(ApiConstants.SerialNumber_Channel) == 1){ |
| | | // OSDString = getHttpResponse(hostUrl + ApiConstants.HK_OSD_PATH_2, userName, password); |
| | | // } |
| | | // }else if(serialNumber.charAt(ApiConstants.SerialNumber_Category) == 3){ |
| | | // //卡口 单通道 |
| | | // OSDString = getHttpResponse(hostUrl + ApiConstants.HK_OSD_PATH_1, userName, password); |
| | | // }else if(serialNumber.charAt(ApiConstants.SerialNumber_Category) == 4){ |
| | | // //高空 |
| | | // if(serialNumber.charAt(ApiConstants.SerialNumber_Channel) == 0){ |
| | | // OSDString = getHttpResponse(hostUrl + ApiConstants.HK_OSD_PATH_1, userName, password); |
| | | // }else if(serialNumber.charAt(ApiConstants.SerialNumber_Channel) == 1){ |
| | | // OSDString = getHttpResponse(hostUrl + ApiConstants.HK_OSD_PATH_2, userName, password); |
| | | // } |
| | | // } |
| | | if (OSDString == null) return null; |
| | | |
| | | //解析xml |
| | |
| | | Date date = new Date(); |
| | | //解析xml |
| | | parseXMl(timeString, "Time", "localTime", osdResult, date, ip); |
| | | osdResult.setDeviceBrand(DeviceType.HK.getType()); |
| | | } catch (Exception e) { |
| | | return null; |
| | | } |