| | |
| | | @Autowired |
| | | private SystemDictDataBiz systemDictDataBiz; |
| | | @Override |
| | | @Async |
| | | public String downHKImgs(int type){ |
| | | if(Constants.DEALING_HK_IMG){ |
| | | return null ; |
| | |
| | | try { |
| | | //查询所有访客事件记录中所有下载的海康端 抓拍照片 和 照片 |
| | | startDealVisitImg(); |
| | | |
| | | //查询所有停车场事件记录中所有下载的海康端 车牌图片 和 车辆图片 |
| | | startDealCarImg(); |
| | | //查询所有门禁事件记录中所有下载的海康端 抓拍照片 和 身份证图片URL |
| | | startDealDeviceImg(); |
| | | }catch (Exception e){ |
| | | |
| | | e.printStackTrace(); |
| | | }finally { |
| | | Constants.DEALING_HK_IMG =false; |
| | | } |
| | |
| | | private void startDealDeviceImg() { |
| | | List<DeviceEvent> deviceEventList = deviceEventMapper.selectList(new QueryWrapper<DeviceEvent>().lambda() |
| | | .eq(DeviceEvent::getIsdeleted,Constants.ZERO) |
| | | .and(wrapper ->{wrapper.likeLeft(DeviceEvent::getExtEventPictureURL,HKConstants.IMG_INDEX) |
| | | .and(wrapper ->{wrapper.likeRight(DeviceEvent::getExtEventPictureURL,HKConstants.IMG_INDEX) |
| | | .or() |
| | | .likeLeft(DeviceEvent::getExtEventIDCardPictureURL,HKConstants.IMG_INDEX) ;})); |
| | | .likeRight(DeviceEvent::getExtEventIDCardPictureURL,HKConstants.IMG_INDEX) ;})); |
| | | Date date= new Date(); |
| | | if(deviceEventList !=null && deviceEventList.size()>0){ |
| | | for(DeviceEvent model:deviceEventList){ |
| | | String img1 = model.getExtEventPictureURL(); |
| | | String img2 = model.getExtEventIDCardPictureURL(); |
| | | String serverIndex = model.getSvrIndexCode();//服务器编码 |
| | | String rs1 = downHkImgToFtp(img1,serverIndex,Constants.DEVICE_EVENT_IMG); |
| | | String rs2 = downHkImgToFtp(img2,serverIndex,Constants.DEVICE_EVENT_IMG); |
| | | if(StringUtils.isBlank(serverIndex)){ |
| | | continue; |
| | | } |
| | | String rs1 = null; |
| | | String rs2 = null; |
| | | DeviceEvent event = new DeviceEvent(); |
| | | event.setId(model.getId()); |
| | | event.setEditDate(date); |
| | | if(StringUtils.isNotBlank(rs1)){ |
| | | event.setExtEventPictureURL(rs1); |
| | | }else{ |
| | | event.setExtEventPictureURL(img1.replace(HKConstants.IMG_INDEX, HKConstants.IMG_INDEX_ERROR)); |
| | | |
| | | if(StringUtils.isNotBlank(model.getExtEventPictureURL())){ |
| | | String img1 = model.getExtEventPictureURL().replace(HKConstants.IMG_INDEX_ERROR, "").replace(HKConstants.IMG_INDEX, ""); |
| | | rs1 = downHkImgToFtp(img1,serverIndex,Constants.DEVICE_EVENT_IMG); |
| | | if(StringUtils.isNotBlank(rs1)){ |
| | | event.setExtEventPictureURL(rs1); |
| | | }else{ |
| | | event.setExtEventPictureURL(model.getExtEventPictureURL().replace(HKConstants.IMG_INDEX, HKConstants.IMG_INDEX_ERROR)); |
| | | } |
| | | } |
| | | if(StringUtils.isNotBlank(rs2)){ |
| | | event.setExtEventIDCardPictureURL(rs2); |
| | | }else{ |
| | | event.setExtEventIDCardPictureURL(img2.replace(HKConstants.IMG_INDEX, HKConstants.IMG_INDEX_ERROR)); |
| | | if(StringUtils.isNotBlank(model.getExtEventIDCardPictureURL())){ |
| | | String img2 = model.getExtEventIDCardPictureURL().replace(HKConstants.IMG_INDEX_ERROR, "").replace(HKConstants.IMG_INDEX, ""); |
| | | rs2 = downHkImgToFtp(img2,serverIndex,Constants.DEVICE_EVENT_IMG); |
| | | |
| | | if(StringUtils.isNotBlank(rs2)){ |
| | | event.setExtEventIDCardPictureURL(rs2); |
| | | }else{ |
| | | event.setExtEventIDCardPictureURL(model.getExtEventIDCardPictureURL().replace(HKConstants.IMG_INDEX, HKConstants.IMG_INDEX_ERROR)); |
| | | } |
| | | } |
| | | deviceEventMapper.updateById(event); |
| | | } |
| | |
| | | private void startDealCarImg() { |
| | | List<CarEvent> carEventList = carEventMapper.selectList(new QueryWrapper<CarEvent>().lambda() |
| | | .eq(CarEvent::getIsdeleted,Constants.ZERO) |
| | | .and(wrapper ->{wrapper.likeLeft(CarEvent::getPlatePicUrl,HKConstants.IMG_INDEX) |
| | | .and(wrapper ->{wrapper.likeRight(CarEvent::getPlatePicUrl,HKConstants.IMG_INDEX) |
| | | .or() |
| | | .likeLeft(CarEvent::getVehiclePicUrl,HKConstants.IMG_INDEX) ;})); |
| | | .likeRight(CarEvent::getVehiclePicUrl,HKConstants.IMG_INDEX) ;})); |
| | | Date date= new Date(); |
| | | if(carEventList !=null && carEventList.size()>0){ |
| | | for(CarEvent model:carEventList){ |
| | | String img1 = model.getPlatePicUrl(); |
| | | String img2 = model.getVehiclePicUrl(); |
| | | String serverIndex = model.getSvrIndex();//服务器编码 |
| | | String rs1 = downHkImgToFtp(img1,serverIndex,Constants.CAR_EVENT_IMG); |
| | | String rs2 = downHkImgToFtp(img2,serverIndex,Constants.CAR_EVENT_IMG); |
| | | if(StringUtils.isBlank(serverIndex)){ |
| | | continue; |
| | | } |
| | | CarEvent event = new CarEvent(); |
| | | event.setId(model.getId()); |
| | | event.setEditDate(date); |
| | | if(StringUtils.isNotBlank(rs1)){ |
| | | event.setPlatePicUrl(rs1); |
| | | }else{ |
| | | event.setPlatePicUrl(img1.replace(HKConstants.IMG_INDEX, HKConstants.IMG_INDEX_ERROR)); |
| | | String rs1 = null; |
| | | String rs2 = null; |
| | | |
| | | if(StringUtils.isNotBlank(model.getPlatePicUrl())){ |
| | | String img1 = model.getPlatePicUrl().replace(HKConstants.IMG_INDEX_ERROR, "").replace(HKConstants.IMG_INDEX, ""); |
| | | rs1 = downHkImgToFtp(img1,serverIndex,Constants.CAR_EVENT_IMG); |
| | | if(StringUtils.isNotBlank(rs1)){ |
| | | event.setPlatePicUrl(rs1); |
| | | }else{ |
| | | event.setPlatePicUrl(model.getPlatePicUrl().replace(HKConstants.IMG_INDEX, HKConstants.IMG_INDEX_ERROR)); |
| | | } |
| | | } |
| | | if(StringUtils.isNotBlank(rs2)){ |
| | | event.setVehiclePicUrl(rs2); |
| | | }else{ |
| | | event.setVehiclePicUrl(img2.replace(HKConstants.IMG_INDEX, HKConstants.IMG_INDEX_ERROR)); |
| | | if(StringUtils.isNotBlank(model.getVehiclePicUrl())){ |
| | | String img2 = model.getVehiclePicUrl().replace(HKConstants.IMG_INDEX_ERROR, "").replace(HKConstants.IMG_INDEX, ""); |
| | | rs2 = downHkImgToFtp(img2,serverIndex,Constants.CAR_EVENT_IMG); |
| | | if(StringUtils.isNotBlank(rs2)){ |
| | | event.setVehiclePicUrl(rs2); |
| | | }else{ |
| | | event.setVehiclePicUrl(model.getVehiclePicUrl().replace(HKConstants.IMG_INDEX, HKConstants.IMG_INDEX_ERROR)); |
| | | } |
| | | } |
| | | |
| | | carEventMapper.updateById(event); |
| | | } |
| | | } |
| | |
| | | private void startDealVisitImg() { |
| | | List<VisitEvent> visitEventList = visitEventMapper.selectList(new QueryWrapper<VisitEvent>().lambda() |
| | | .eq(VisitEvent::getIsdeleted,Constants.ZERO) |
| | | .and(wrapper ->{wrapper.likeLeft(VisitEvent::getCaptureUrl,HKConstants.IMG_INDEX) |
| | | .and(wrapper ->{wrapper.likeRight(VisitEvent::getCaptureUrl,HKConstants.IMG_INDEX) |
| | | .or() |
| | | .likeLeft(VisitEvent::getPhotoUrl,HKConstants.IMG_INDEX) ;})); |
| | | .likeRight(VisitEvent::getPhotoUrl,HKConstants.IMG_INDEX) ;})); |
| | | |
| | | Date date= new Date(); |
| | | if(visitEventList !=null && visitEventList.size()>0){ |
| | | for(VisitEvent model:visitEventList){ |
| | | String img1 = model.getCaptureUrl(); |
| | | String img2 = model.getPhotoUrl(); |
| | | String serverIndex = model.getSvrIndexCode();//服务器编码 |
| | | String rs1 = downHkImgToFtp(img1,serverIndex,Constants.VISIT_EVENT_IMG); |
| | | String rs2 = downHkImgToFtp(img2,serverIndex,Constants.VISIT_EVENT_IMG); |
| | | if(StringUtils.isBlank(serverIndex)){ |
| | | continue; |
| | | } |
| | | VisitEvent event = new VisitEvent(); |
| | | event.setId(model.getId()); |
| | | event.setEditDate(date); |
| | | if(StringUtils.isNotBlank(rs1)){ |
| | | event.setCaptureUrl(rs1); |
| | | }else{ |
| | | event.setCaptureUrl(img1.replace(HKConstants.IMG_INDEX, HKConstants.IMG_INDEX_ERROR)); |
| | | String rs1 = null; |
| | | String rs2 = null; |
| | | if(StringUtils.isNotBlank(model.getCaptureUrl())){ |
| | | String img1 = model.getCaptureUrl().replace(HKConstants.IMG_INDEX_ERROR, "").replace(HKConstants.IMG_INDEX, ""); |
| | | rs1 = downHkImgToFtp(img1,serverIndex,Constants.VISIT_EVENT_IMG); |
| | | if(StringUtils.isNotBlank(rs1)){ |
| | | event.setCaptureUrl(rs1); |
| | | }else{ |
| | | event.setCaptureUrl(model.getCaptureUrl().replace(HKConstants.IMG_INDEX, HKConstants.IMG_INDEX_ERROR)); |
| | | } |
| | | } |
| | | if(StringUtils.isNotBlank(rs2)){ |
| | | event.setPhotoUrl(rs2); |
| | | }else{ |
| | | event.setPhotoUrl(img2.replace(HKConstants.IMG_INDEX, HKConstants.IMG_INDEX_ERROR)); |
| | | if(StringUtils.isNotBlank(model.getPhotoUrl())){ |
| | | String img2 = model.getPhotoUrl().replace(HKConstants.IMG_INDEX_ERROR, "").replace(HKConstants.IMG_INDEX, ""); |
| | | rs2 = downHkImgToFtp(img2,serverIndex,Constants.VISIT_EVENT_IMG); |
| | | if(StringUtils.isNotBlank(rs2)){ |
| | | event.setPhotoUrl(rs2); |
| | | }else{ |
| | | event.setPhotoUrl(model.getPhotoUrl().replace(HKConstants.IMG_INDEX, HKConstants.IMG_INDEX_ERROR)); |
| | | } |
| | | } |
| | | |
| | | visitEventMapper.updateById(event); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | private String downHkImgToFtp(String img1, String serverIndex, String folder) { |
| | | public static FtpUtil ftp = null; |
| | | private String downHkImgToFtp(String img1, String serverIndex, String folder_code) { |
| | | String folder = systemDictDataBiz.queryByCode(Constants.FTP,folder_code).getCode(); |
| | | InputStream is = null; |
| | | if(StringUtils.equals(folder,Constants.CAR_EVENT_IMG)){ |
| | | if(StringUtils.equals(folder_code,Constants.CAR_EVENT_IMG)){ |
| | | //停车场抓拍图 |
| | | CarPictureRequest param = new CarPictureRequest(); |
| | | param.setPicUri(img1); |
| | | param.setPicUri(img1.replace(HKConstants.IMG_INDEX_ERROR,"").replace(HKConstants.IMG_INDEX,"")); |
| | | param.setAswSyscode(serverIndex); |
| | | is = HKService.getCarPicture(param); |
| | | }else if(StringUtils.equals(folder,Constants.DEVICE_EVENT_IMG)){ |
| | | }else if(StringUtils.equals(folder_code,Constants.DEVICE_EVENT_IMG)){ |
| | | //门禁事件图片 |
| | | DevicePictureRequest param = new DevicePictureRequest(); |
| | | param.setPicUri(img1); |
| | | param.setPicUri(img1.replace(HKConstants.IMG_INDEX_ERROR,"").replace(HKConstants.IMG_INDEX,"")); |
| | | param.setSvrIndexCode(serverIndex); |
| | | is = HKService.getDevicePicture(param); |
| | | }else if(StringUtils.equals(folder,Constants.VISIT_EVENT_IMG)){ |
| | | }else if(StringUtils.equals(folder_code,Constants.VISIT_EVENT_IMG)){ |
| | | //访客事件图片 |
| | | VisitPictureRequest param = new VisitPictureRequest(); |
| | | param.setPicUri(img1); |
| | | param.setPicUri(img1.replace(HKConstants.IMG_INDEX_ERROR,"").replace(HKConstants.IMG_INDEX,"")); |
| | | param.setSvrIndexCode(serverIndex); |
| | | is = HKService.getVisitPicture(param); |
| | | } |
| | | if(is ==null){ |
| | | return null; |
| | | } |
| | | //TODO------jiangping--------- |
| | | try { |
| | | FtpUtil ftp = new FtpUtil(systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_HOST).getCode(), |
| | | Integer.parseInt(systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_PORT).getCode()), |
| | | systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_USERNAME).getCode(), |
| | | systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_PWD).getCode()); |
| | | if(ftp == null){ |
| | | ftp = new FtpUtil(systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_HOST).getCode(), |
| | | Integer.parseInt(systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_PORT).getCode()), |
| | | systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_USERNAME).getCode(), |
| | | systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_PWD).getCode()); |
| | | }else{ |
| | | ftp.connect(); |
| | | } |
| | | String date = DateUtil.getNowShortDate(); |
| | | String fName = File.separator+date+File.separator+ UUID.randomUUID().toString()+".jpg"; |
| | | String fName = date+"/"+ UUID.randomUUID().toString()+".jpg"; |
| | | String fileName = folder+fName; |
| | | boolean r = ftp.uploadInputstream(is,fileName);//上传 |
| | | if(r){ |
| | | log.info("【海康图片下载上传FTP失败】======================" ); |
| | | log.info("【海康图片下载上传FTP成功】======================" ); |
| | | return fName; |
| | | }else{ |
| | | log.error("【海康图片下载上传FTP失败】======================" ); |