CZT
2023-10-30 b5a5795a5a64d9a5b78b338de74909e240fe73c3
igds-protocol-block/src/main/java/com/ld/igds/protocol/openapi/OpenApiInoutService.java
@@ -1,8 +1,15 @@
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;
@@ -11,11 +18,12 @@
 * @author: andy.jia
 * @update-time: 2023/6/29 15:21
 */
@Slf4j
@Component
public class OpenApiInoutService implements ApiInoutService {
    private String http_url = "http://127.0.0.1:8081:/api/anpr/plate/single-recognition";
    private String http_url = "http://127.0.0.1:8081/api/anpr/plate/single-recognition";
    @Override
    public String getProtocol() {
@@ -32,22 +40,42 @@
    @Override
    public ApiInoutData getPlateNum(ApiInoutData param) {
        try {
        String rtsp = param.getMediaAddr();
        if (StringUtils.isEmpty(rtsp)) {
            param.setErrorMsg("当前车牌识别设备未配置播放地址");
            log.info("-----------调用风正致远---OPEN-API-HTTP车牌识别-----");
            return param;
            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());
        }
        //说明地址未做信息替换
        if (rtsp.indexOf("{0}") > 0) {
        }
        // HttpUtils.doPostJson()
        return param;
    }
@@ -64,12 +92,17 @@
    }
    @Override
    public String noticeRadio(ApiInoutData param) {
    public String lightControl(ApiInoutData param) {
        return null;
    }
    @Override
    public String noticeRadio(ApiInoutData param, InoutData data) {
        return "当前协议不支持";
    }
    @Override
    public String noticeLed(ApiInoutData param) {
    public String noticeLed(ApiInoutData param, InoutData data) {
        return "当前协议不支持";
    }
}