lishuai
2023-12-26 70577a6d6cf2bded29e71dcad11a0c2605193d20
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -8,6 +8,7 @@
import com.doumee.core.haikang.model.param.request.event.acs.EventAcsInfoRequest;
import com.doumee.core.haikang.model.param.request.event.acs.EventAcsRequest;
import com.doumee.core.haikang.model.param.request.event.acs.EventDeviceDataRequest;
import com.doumee.core.haikang.model.param.request.event.parks.EventParkInfoRequest;
import com.doumee.core.haikang.model.param.request.event.parks.EventParkRequest;
import com.doumee.core.haikang.model.param.request.event.visit.EventVisitDataRequest;
import com.doumee.core.haikang.model.param.request.event.visit.EventVisitInfoRequest;
@@ -148,14 +149,16 @@
        event.setIsdeleted(Constants.ZERO);
        event.setCreateDate(DateUtil.getISO8601DateByStr(request.getHappenTime()));
        event.setEventId(request.getEventId());
        event.setEventType( request.getData().getExtEventType()!=null?request.getData().getExtEventType()+"":null);
        event.setEventType(request.getEventType());
        event.setAccessChannel(request.getData().getExtAccessChannel());
        event.setUserType(request.getData().getUserType());
        event.setSvrIndexCode(request.getData().getSvrIndexCode());
        event.setStatus(request.getStatus());
        event.setExtEventType(request.getData().getExtEventType()!=null?request.getData().getExtEventType():null);
        event.setSrcType(request.getSrcType());
        event.setSrcName(request.getSrcName());
        event.setSrcIndex(request.getSrcIndex());
        event.setSrcParentIndex(request.getSrcParentIndex());
        event.setSeq(request.getData().getSeq());
        event.setTimeout(request.getTimeout());
        event.setExtEventType(request.getData().getExtEventType());
@@ -367,7 +370,7 @@
        Retention retention = new Retention();
        retention.setIsdeleted(Constants.ZERO);
        retention.setCreateDate(DateUtil.getISO8601DateByStr(request.getHappenTime()));
        retention.setClasses(visits.getMemberClasses());
        retention.setClasses(visits.getClasses());
        retention.setCode(visits.getCode());
        retention.setIdcardNo(visits.getIdcardNo());
        retention.setIdcardDecode(visits.getIdcardDecode());
@@ -399,7 +402,23 @@
        String result = null;
        log.info("【海康停车场事件推送】========开始=========:\n"+JSONObject.toJSONString(param));
        try {
            if(param == null || param.getParams() == null || param.getParams().getEvents()==null){
                return null;
            }
            //门禁事件集合
            List<EventParkInfoRequest> events  = param.getParams().getEvents();
            List<CarEvent> list = new ArrayList<>();
            for(EventParkInfoRequest request : events){
                if(request.getData() ==null ||StringUtils.isBlank(request.getData().getPlateNo())){
                    continue;
                }
                //封装事件信息表对象
                list.add(getParkEventModelByRequest(request));
            }
            if(list.size()>0){
                //插入门禁记录
                carEventMapper.insertBatchSomeColumn(list);
            }
            log.error("【海康停车场事件推送】========成功=======");
        }catch (Exception e){
@@ -409,6 +428,67 @@
        return  null;
    }
    /**
     * 根据推送数据封装停车事件对象信息
     * @param request
     * @return
     */
    private CarEvent getParkEventModelByRequest(EventParkInfoRequest request) {
        CarEvent event = new CarEvent();
        event.setIsdeleted(Constants.ZERO);
        event.setCreateDate(DateUtil.getISO8601DateByStr(request.getHappenTime()));
        event.setVehicleType(request.getData().getVehicleType());
        event.setVehicleColor(request.getData().getVehicleColor());
        event.setVehicleClass(request.getData().getVehicleClass());
        event.setTimestr(request.getData().getTime());
        event.setTimeout(request.getTimeout());
        event.setSvrIndex(request.getSrcIndex());
        event.setSubModel(request.getData().getSubModel());
        event.setSubLogo(request.getData().getSubLogo());
        event.setStatus(request.getStatus());
        event.setSrcType(request.getSrcType());
        event.setSrcParentIndex(request.getSrcParentIndex());
        event.setSrcName(request.getSrcName());
        event.setSrcIndex(request.getSrcIndex());
        event.setRoadwayType(request.getData().getRoadwayType());
        event.setRoadwayName(request.getData().getRoadwayName());
        event.setRoadwayIndex(request.getData().getRoadwayIndex());
        event.setPlateType(request.getData().getPlateType());
        event.setTimeout(request.getTimeout());
        event.setPlateNos(request.getData().getPlateNo());
        event.setPlateColor(request.getData().getPlateColor());
        event.setPlateBelieve(request.getData().getPlateBelieve());
        event.setParkName(request.getData().getParkName());
        event.setParkIndex(request.getData().getParkIndex());
        event.setMainLogo(request.getData().getMainLogo());
        event.setInoutType(request.getData().getInoutType());
        event.setHappenTime(request.getHappenTime());
        event.setGateName(request.getData().getGateName());
        event.setGateIndex(request.getData().getGateIndex());
        event.setEventType(request.getEventType());
        event.setEventIndex(request.getData().getEventIndex());
        event.setEventCmd(request.getData().getEventCmd());
        event.setCardNo(request.getData().getCardNo());
        event.setCarAttributeName(request.getData().getCarAttributeName());
        if(request.getData().getInResult()!=null && request.getData().getInResult().getRlsResult() !=null ){
            //放行方式
            event.setReleaseWay(request.getData().getInResult().getRlsResult().getReleaseWay());
            event.setReleaseAuth(request.getData().getInResult().getRlsResult().getReleaseAuth());
            event.setReleaseReason(request.getData().getInResult().getRlsResult().getReleaseReason());
            event.setReleaseResult(request.getData().getInResult().getRlsResult().getReleaseResult());
            event.setReleaseResultEx(request.getData().getInResult().getRlsResult().getReleaseResultEx());
        }
        if(request.getData().getPicUrl()!=null){
            //车辆和和车牌照片
            event.setVehiclePicUrl(getHkImgUrl(request.getData().getPicUrl().getVehiclePicUrl()));
            event.setPlatePicUrl(getHkImgUrl(request.getData().getPicUrl().getPlatePicUrl()));
        }
        return event;
    }
    private void saveInterfaceLog(Object param, String path,String result) {
        InterfaceLog hkMonitoryLogDO=new InterfaceLog();
        hkMonitoryLogDO.setType(1);