jiangping
2024-09-14 ccc10c31c93733544212e88bc880744a0595f0d7
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -155,7 +155,7 @@
                        .eq(Device::getIsdeleted,Constants.ZERO)
                        .last("limit 1" ));
                delRetentionLis.add(member.getId());
                if(!(Constants.equalsInteger(d.getIsEntrance(),Constants.ONE) && Constants.formatIntegerNum(request.getData().getExtEventInOut()) != Constants.ONE)){
                if(d!=null && !(Constants.equalsInteger(d.getIsEntrance(),Constants.ONE) && Constants.formatIntegerNum(request.getData().getExtEventInOut()) != Constants.ONE)){
                    //如果是进门,录入人员的在场数据记录
                    retentionList.add(getRetentionModelByRequest(member,request));
                }
@@ -334,7 +334,7 @@
     * @return
     */
    @Override
    public String    dealVisitEventIccm(EventVisitIccmRequest param, HttpServletResponse response){
    public String     dealVisitEventIccm(EventVisitIccmRequest param, HttpServletResponse response){
        log.info("【海康访客事件推送】==========开始=======:\n"+JSONObject.toJSONString(param));
        String result = null;
        try {
@@ -354,7 +354,8 @@
                    continue;
                }
                //海康访客记录编码
                dealVisitDataByRequstIccm(request,delRetentionLis,retentionList,list);
                dealVisitDataByRequstIccm(request,delRetentionLis,retentionList);
                list.add(getVisitEventModelByRequestIccm(request,request.getData().getVisitorInformationList().get(0)));
            }
            if(list.size()>0){
                //插入门禁记录
@@ -382,7 +383,7 @@
    /**
     *  根据访客推送访客记录编码,处理访客记录、在场人员等信息
     */
    private void dealVisitDataByRequstIccm(EventVisitIccmInfoRequest request, List<Integer> delRetentionLis, List<Retention> retentionList,List<VisitEvent> list) {
    private void dealVisitDataByRequstIccm(EventVisitIccmInfoRequest request, List<Integer> delRetentionLis, List<Retention> retentionList ) {
        EventVisitIccmDataRequest model = request.getData();
        EventVisitIccmInvoiceParamRequest data =  request.getData().getVisitorInvoices();
@@ -427,6 +428,7 @@
            updateVistis.setEditDate(new Date());
            //更新访客来访或者签离时间信息
            visitsMapper.updateById(updateVistis) ;
        }
    }
    private Retention getRetentionModelByVisitRequest(Visits visits, String happentTime,String srcType) {
@@ -453,7 +455,7 @@
        return retention;
    }
    private VisitEvent getVisitEventModelByRequest(EventVisitIccmInfoRequest request,EventVisitIccmDetailParamRequest detail) {
    private VisitEvent getVisitEventModelByRequestIccm(EventVisitIccmInfoRequest request,EventVisitIccmDetailParamRequest detail) {
        if(request.getData().getTargetPerson() ==null){
            request.getData().setTargetPerson(new EventVisitIccmTargetParamRequest());
        }
@@ -806,12 +808,11 @@
            List<EventPlatformInfoRequest> events  = param.getParams().getEvents();
            List<Platform> list = new ArrayList<>();
            for(EventPlatformInfoRequest request : events){
                List<EventPlatformDataRequest>  dataList = request.getData();
                if(dataList ==null || dataList.size()==0){
                EventPlatformDataRequest   data = request.getData();
                if(data ==null ){
                    continue;
                }
                Integer  workStatus = 0;
                for(EventPlatformDataRequest data : dataList){
                    if( data.getHPWorkingStatus() ==null ||  data.getHPWorkingStatus().size() ==0){
                        continue;//如何推送状态集合为空,不处理跳过
                    }
@@ -821,15 +822,11 @@
                            .last("limit 1"));
                    if(model ==null){
                        continue;//监控点未同步,跳过处理
                    }
                    //各车道车辆状态
                    for(EventPlatformStatusInfoRequest status : data.getHPWorkingStatus()){
                    }
                    break;//只处理第一个数据状态
                }
            }
            result = "成功";
            log.error("【海康月台工作状态事件推送】========成功=======");