| | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.doumee.config.DataSyncConfig; |
| | | import com.doumee.config.SpringContextUtil; |
| | | import com.doumee.core.haikang.model.HKConstants; |
| | | import com.doumee.core.haikang.model.param.request.event.acs.EventAcsInfoRequest; |
| | |
| | | private DeviceEventMapper deviceEventMapper; |
| | | @Autowired |
| | | private MemberMapper memberMapper; |
| | | @Autowired |
| | | private DeviceMapper deviceMapper; |
| | | @Autowired |
| | | private DataSyncConfig dataSyncConfig; |
| | | @Autowired |
| | | private CarEventMapper carEventMapper; |
| | | @Autowired |
| | |
| | | }catch (Exception e) { |
| | | log.error("【海康门禁事件推送】========失败=======:\n" + e.getMessage()); |
| | | }finally { |
| | | saveInterfaceLog(param,"/business/hksync/push/acs",result); |
| | | saveInterfaceLog(param,"/business/hksync/push/acs",result,false);//不计日志 |
| | | } |
| | | return null; |
| | | |
| | |
| | | Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda().eq(Member::getHkId,userNo).last("limit 1")); |
| | | if(member !=null){ |
| | | //如果人员信息存在,则删除之前的所有进场数据(无论此次推送是进厂还是出场推送事件) |
| | | Device d = deviceMapper.selectOne(new QueryWrapper<Device>().lambda() |
| | | .eq(Device::getDoorId,request.getSrcIndex()) |
| | | .eq(Device::getIsdeleted,Constants.ZERO) |
| | | .last("limit 1" )); |
| | | delRetentionLis.add(member.getId()); |
| | | if(Constants.formatIntegerNum(request.getData().getExtEventInOut()) == Constants.ONE){ |
| | | if(!(Constants.equalsInteger(d.getIsEntrance(),Constants.ONE) && Constants.formatIntegerNum(request.getData().getExtEventInOut()) != Constants.ONE)){ |
| | | //如果是进门,录入人员的在场数据记录 |
| | | retentionList.add(getRetentionModelByRequest(member,request)); |
| | | } |
| | |
| | | private Retention getRetentionModelByRequest(Member member, EventAcsInfoRequest request) { |
| | | Retention retention = new Retention(); |
| | | retention.setIsdeleted(Constants.ZERO); |
| | | retention.setCreateDate(DateUtil.getISO8601DateByStr(request.getData().getExtReceiveTime())); |
| | | retention.setCreateDate(DateUtil.getISO8601DateByStr(request.getHappenTime())); |
| | | retention.setClasses(member.getClasses()); |
| | | retention.setCode(member.getCode()); |
| | | retention.setIdcardNo(member.getIdcardNo()); |
| | |
| | | retention.setCompanyId(member.getCompanyId()); |
| | | retention.setCompanyName(member.getCompanyName()); |
| | | retention.setEventCode(request.getData().getExtEventCode()+""); |
| | | retention.setEventDate(DateUtil.getISO8601DateByStr(request.getData().getExtReceiveTime())); |
| | | retention.setEventDate(DateUtil.getISO8601DateByStr(request.getHappenTime())); |
| | | retention.setFaceImg(member.getFaceImg()); |
| | | retention.setImgurl(member.getImgurl()); |
| | | retention.setPhone(member.getPhone()); |
| | |
| | | |
| | | log.error("【海康访客事件推送】========失败=======:\n"+e.getMessage()); |
| | | } |
| | | saveInterfaceLog(param,"/business/hksync/push/visit",result); |
| | | saveInterfaceLog(param,"/business/hksync/push/visit",result,true); |
| | | return null; |
| | | |
| | | } |
| | |
| | | if(visits !=null){ |
| | | //如果人员信息存在,则删除之前的所有进场数据(无论此次推送是进厂还是出场推送事件) |
| | | delRetentionLis.add(visits.getMemberId()); |
| | | if(dataSyncConfig.getOrgUserDataOrigin() == DataSyncConfig.origin.hk){ |
| | | //如果是伊利大屏项目,不做处理 |
| | | return; |
| | | } |
| | | Visits updateVistis = new Visits(); |
| | | updateVistis.setId(visits.getId()); |
| | | if(Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.VISIT_SIGN_IN.getKey()){ |
| | |
| | | retention.setType(visits.getMemberType()); |
| | | retention.setCompanyId(visits.getCompanyId()); |
| | | retention.setCompanyName(visits.getCompanyName()); |
| | | retention.setEventCode(request.getEventType()+""); |
| | | retention.setEventCode(request.getSrcType()+""); |
| | | retention.setEventDate(retention.getCreateDate()); |
| | | retention.setFaceImg(visits.getFaceImg()); |
| | | retention.setImgurl(visits.getImgurl()); |
| | | retention.setPhone(visits.getPhone()); |
| | | retention.setMemberId(visits.getMemberId()); |
| | | retention.setDeviceName(request.getSrcName()); |
| | | retention.setDeviceIndex(request.getSrcIndex()); |
| | | // retention.setDeviceName(request.getSrcName()); |
| | | // retention.setDeviceIndex(request.getSrcIndex()); |
| | | |
| | | return retention; |
| | | } |
| | |
| | | |
| | | log.error("【海康停车场事件推送】========失败=======:\n"+e.getMessage()); |
| | | } |
| | | saveInterfaceLog(param,"/business/hksync/push/parks",result); |
| | | saveInterfaceLog(param,"/business/hksync/push/parks",result,false); |
| | | return null; |
| | | } |
| | | |
| | |
| | | event.setPlatePicUrl(getHkImgUrl(request.getData().getPicUrl().getPlatePicUrl())); |
| | | } |
| | | if(StringUtils.isNotBlank(event.getPlateNos())){ |
| | | ParkBook cars = parkBookMapper.selectOne(new QueryWrapper<ParkBook>().lambda() |
| | | .eq(ParkBook::getCarCode,event.getPlateNos()) |
| | | .eq(ParkBook::getIsdeleted,Constants.ONE ) |
| | | ParkBook cars = parkBookMapper.selectOne(new QueryWrapper<ParkBook>().lambda() |
| | | .eq(ParkBook::getCarCode,event.getPlateNos()) |
| | | .eq(ParkBook::getIsdeleted,Constants.ZERO ) |
| | | .last("limit 1" )); |
| | | if(cars!=null){ |
| | | event.setMemberId(cars.getMemberId()); |
| | | }else{ |
| | | Visits visits = visitsMapper.selectOne(new QueryWrapper<Visits>().lambda() |
| | | .eq(Visits::getCarNos,event.getPlateNos()) |
| | | .eq(Visits::getIsdeleted,Constants.ZERO ) |
| | | .in(Visits::getStatus,Constants.VisitStatus.signin,Constants.VisitStatus.signout)//最近一个已到达或者已签离 |
| | | .isNull(Visits::getParentId) |
| | | .orderByDesc(Visits::getId) |
| | | .last("limit 1" )); |
| | | if(cars!=null){ |
| | | event.setMemberId(cars.getMemberId()); |
| | | if(visits!=null){ |
| | | //最近使用该车的申请人(已到达) |
| | | event.setMemberId(visits.getMemberId()); |
| | | } |
| | | |
| | | } |
| | | if(Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.PARK_PASS_IN.getKey()){ |
| | | //如果是入厂放行 |
| | | delRetentionList.add(event.getPlateNos()); |
| | |
| | | return retention; |
| | | } |
| | | |
| | | private void saveInterfaceLog(Object param, String path,String result) { |
| | | private void saveInterfaceLog(Object param, String path,String result,boolean need) { |
| | | if(!need){ |
| | | return; |
| | | } |
| | | InterfaceLog hkMonitoryLogDO=new InterfaceLog(); |
| | | hkMonitoryLogDO.setType(1); |
| | | hkMonitoryLogDO.setCreateDate(new Date()); |