jiangping
2025-05-08 ea0698e0384aa60d3e2bad7da5efd7ea4fb8cf71
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncPushServiceImpl.java
@@ -1,7 +1,6 @@
package com.doumee.service.business.impl.hksync;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.nacos.shaded.org.checkerframework.checker.units.qual.C;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.doumee.biz.system.SystemDictDataBiz;
@@ -25,7 +24,6 @@
import com.doumee.dao.business.model.*;
import com.doumee.dao.business.model.Member;
import com.doumee.dao.web.reqeust.SavePlatformWarnEventDTO;
import com.doumee.service.business.CategoryService;
import com.doumee.service.business.VisitsService;
import com.doumee.service.business.impl.PlatformWarnEventServiceImpl;
import com.doumee.service.business.third.TmsService;
@@ -33,9 +31,7 @@
import com.doumee.service.business.third.model.response.TmsOrderInfoResponse;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.net.ftp.FTP;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -576,7 +572,6 @@
                record.setMemberType(Constants.ZERO);
                record.setIsdeleted(Constants.ZERO);
                record.setMemberName(visits.getName());
                record.setCarCode(request.getData().getVisitorInformationList().get(0).getPlateNo());
                record.setObjId(visits.getId());
                record.setMemberId(visits.getMemberId());
                record.setObjType(Constants.TWO);
@@ -585,21 +580,8 @@
                record.setInOrOut(Constants.ZERO);
                record.setHkEventId(request.getEventId());
                record.setHkId(visits.getHkId());
                Category category = null;
                if(StringUtils.isNotBlank(record.getCarCode())){
                      category = categoryMapper.selectJoinOne(Category.class, new MPJLambdaWrapper<Category>()
                            .selectAll(Category.class)
                            .select("t4.name",Category::getParentName)
                            .leftJoin("category t4 on t.parent_id=t4.id")
                            .eq(Category::getIsdeleted,Constants.ZERO)
                            .eq(Category::getBizType,Constants.RetentionCarType.fkCar)
                            .last("limit 1"));
                      if(category ==null){
                          category = new Category();
                          category.setName("访客车辆");
                      }
                    category.setParentName(StringUtils.defaultString(category.getParentName(),"访客车辆"));
                }
                record.setDeviceName((request.getData()!=null &&request.getData().getParamValues()!=null)?
                        request.getData().getParamValues().getSrcName():request.getSrcName());
                //如果是访客通行
                if(request.getData()!=null&&request.getData().getParamValues()!=null &&
                        StringUtils.equals(request.getData().getParamValues().getInOrOut(),"0")){
@@ -617,18 +599,40 @@
                    inoutDayCount.setOutVisitorNum(Constants.formatIntegerNum(inoutDayCount.getOutVisitorNum())+1);
                    record.setInOrOut(Constants.ONE);
                }
                if(record.getCarCode()!=null){
                if(StringUtils.isNotBlank(record.getCarCode())
                        &&request.getData().getParamValues()!=null
                        && StringUtils.isNotBlank(request.getData().getParamValues().getParkIndex())){
                    //如果是停车场事件,记录车辆类型
                    Category category = null;
                    if(StringUtils.isNotBlank(record.getCarCode())){
                        category = categoryMapper.selectJoinOne(Category.class, new MPJLambdaWrapper<Category>()
                                .selectAll(Category.class)
                                .select("t4.name",Category::getParentName)
                                .leftJoin("category t4 on t.parent_id=t4.id")
                                .eq(Category::getIsdeleted,Constants.ZERO)
                                .eq(Category::getBizType,Constants.RetentionCarType.fkCar)
                                .last("limit 1"));
                        if(category ==null){
                            category = new Category();
                            category.setName("访客车辆");
                        }
                        category.setParentName(StringUtils.defaultString(category.getParentName(),"访客车辆"));
                    }
                    record.setCarBizType(Constants.RetentionCarType.fkCar);
                    record.setCategoryId(category.getId());
                    record.setCarCode(request.getData().getVisitorInformationList().get(0).getPlateNo());
                    record.setDeviceName(request.getData().getParamValues().getGateName());
                    record.setCategoryName(category.getName());
                    record.setCategoryParentId(category.getParentId());
                    record.setCategoryParentName(category.getParentName());
                    if(Constants.equalsInteger(record.getInOrOut(),Constants.ONE)){
                    record.setRemark("访客跟随车辆离园并自动签离");
                    try {
                        //访客申请自动签离
                        visitsService.visitLevelForCarOut(visits);
                    }catch (Exception e){
                        log.error("访客跟随车辆出园自动签离失败:==========="+e.getMessage());
                        }
                    }
                }
                inoutRecordList.add(record);
@@ -695,6 +699,10 @@
        event.setSrcParentIndex(request.getSrcParentIndex());
        event.setSrcName((request.getData()!=null &&request.getData().getParamValues()!=null)?
                request.getData().getParamValues().getSrcName():request.getSrcName());
        if(StringUtils.isBlank(event.getSrcName())){
            event.setSrcName((request.getData()!=null &&request.getData().getParamValues()!=null)?
                    request.getData().getParamValues().getGateName()+ request.getData().getParamValues().getParkIndex():request.getSrcName());
        }
        event.setSrcIndex(request.getSrcIndex());
        event.setSex(detail.getSex());
        event.setPurpose(request.getData().getVisitorInvoices().getVisitReason());
@@ -1018,7 +1026,7 @@
                    carrecord.setCompanyId(carTypeJob.getCompanyId());
                    carrecord.setCompanyName(carTypeJob.getCompanyNamePath());
                    carrecord.setType(Constants.RetentionMemberType.car);
                    if(carModel.getMemberPhone()!=null || StringUtils.isNotBlank(carModel.getMemberName())){
                    if(carTypeJob.getDriverName()!=null || StringUtils.isNotBlank(carTypeJob.getDrivierPhone())){
                        //货运司机(如果司机手机号或者姓名不为空)
                        carrecord.setMemberType(Constants.RetentionMemberType.driver);
                    }
@@ -1068,7 +1076,7 @@
                carrecord.setInOrOut(Constants.ONE);
            }
            //车辆进入记录对应业务类型
            if(1==2 && isCarInOrOutEvent(request) &&( event.getCarType() ==null || event.getCarType().equals(Constants.RetentionCarType.other))){
            if( isCarInOrOutEvent(request) &&( event.getCarType() ==null || event.getCarType().equals(Constants.RetentionCarType.other))){
                //如果未识别到车型,不是固定车 也不是货运车辆,则检查是否是访客车
                visitsList =  visitsMapper.selectList(new QueryWrapper<Visits>().lambda()
                                .eq(Visits::getCarNos,event.getPlateNos())
@@ -1084,6 +1092,7 @@
                    event.setCarType(Constants.RetentionCarType.fkCar);
                    int index =0;
                    carrecord.setCarBizType(Constants.RetentionCarType.fkCar);
                    if(1==2){
                    Category category =findCategoryByBizType(Constants.RetentionCarType.fkCar,"访客车辆","访客车辆",categoryList);
                    carrecord.setCategoryId(category.getId());
                    carrecord.setCategoryName(StringUtils.defaultString(category.getName(),"访客车辆"));
@@ -1123,6 +1132,7 @@
                    }
                }
            }
            }
            if(isCarInOrOutEvent(request) && event.getCarType() !=null && !event.getCarType().equals(Constants.RetentionCarType.fkCar)){
                //录入非访客类型车辆进出记录
                dealNotFkCarMemberBiz(event,request,carrecord,retentionList,inoutDayCount,inoutRecordList);