package com.ld.igds.protocol.openapi;
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.ld.igds.camera.CameraUtil;
|
import com.ld.igds.inout.ApiInoutService;
|
import com.ld.igds.inout.dto.ApiInoutData;
|
import com.ld.igds.inout.dto.InoutData;
|
import com.ld.igds.io.constant.ProtocolEnum;
|
import com.ld.igds.protocol.openapi.data.PlateReqVo;
|
import com.ld.igds.protocol.openapi.data.SinglePlateRepVo;
|
import com.ld.igds.util.HttpUtils;
|
import lombok.extern.slf4j.Slf4j;
|
import org.apache.commons.lang3.StringUtils;
|
import org.springframework.stereotype.Component;
|
|
/**
|
* @Desc: OPEN-API HTTP请求协议实现
|
* @author: andy.jia
|
* @update-time: 2023/6/29 15:21
|
*/
|
@Slf4j
|
@Component
|
public class OpenApiInoutService implements ApiInoutService {
|
|
|
private String http_url = "http://192.168.10.6:8081/api/anpr/plate/single-recognition";
|
|
@Override
|
public String getProtocol() {
|
return ProtocolEnum.FZZY_OPENAPI_HTTP.getCode();
|
}
|
|
@Override
|
public ApiInoutData getIcCardNum(ApiInoutData param) {
|
|
param.setErrorMsg("当前协议不支持");
|
return param;
|
}
|
|
@Override
|
public ApiInoutData getPlateNum(ApiInoutData param) {
|
|
try {
|
|
|
log.info("-----------调用风正致远---OPEN-API-HTTP车牌识别-----");
|
|
String rtsp = param.getMediaAddr();
|
|
if (StringUtils.isEmpty(rtsp)) {
|
param.setErrorMsg("当前车牌识别设备未配置播放地址");
|
|
return param;
|
}
|
|
//说明地址未做信息替换
|
if (rtsp.indexOf("{0}") > 0) {
|
rtsp = CameraUtil.updateMediaAddr(rtsp, param.getLoginId(), param.getPwd(), param.getIp(), param.getPortCtrl(), param.getChanNum());
|
}
|
|
PlateReqVo reqVo = new PlateReqVo();
|
reqVo.setImage(null);
|
reqVo.setLimit(1);
|
reqVo.setRtsp(rtsp);
|
|
String jsonReturn = HttpUtils.doPostJson(http_url, JSONObject.toJSONString(reqVo));
|
|
SinglePlateRepVo repVo = JSONObject.parseObject(jsonReturn, SinglePlateRepVo.class);
|
|
if (0 == repVo.getCode() && "SUCCESS".equalsIgnoreCase(repVo.getMessage())) {
|
param.setPlateNum(repVo.getPlateNo());
|
} else {
|
param.setErrorMsg("识别失败:" +repVo.getMessage());
|
}
|
|
} catch (Exception e) {
|
param.setErrorMsg("识别失败:" + e.getMessage());
|
}
|
|
return param;
|
}
|
|
@Override
|
public String initLpr(ApiInoutData param) {
|
param.setErrorMsg("当前协议不支持");
|
return "当前协议不支持";
|
}
|
|
@Override
|
public String gateControl(ApiInoutData param) {
|
return "当前协议不支持";
|
}
|
|
@Override
|
public String lightControl(ApiInoutData param) {
|
return null;
|
}
|
|
@Override
|
public String noticeRadio(ApiInoutData param, InoutData data) {
|
return "当前协议不支持";
|
}
|
|
@Override
|
public String noticeLed(ApiInoutData param, InoutData data) {
|
return "当前协议不支持";
|
}
|
}
|