From cc5d567bc58ce9657ce504fac6daa804ef9a15fa Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期五, 15 十二月 2023 10:29:08 +0800 Subject: [PATCH] 海康接口对接开发 --- server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncImgServiceImpl.java | 155 ++++++++++++++++++++++++++++++++------------------- 1 files changed, 97 insertions(+), 58 deletions(-) diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncImgServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncImgServiceImpl.java index 643bbd3..ba0a311 100644 --- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncImgServiceImpl.java +++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncImgServiceImpl.java @@ -51,7 +51,6 @@ @Autowired private SystemDictDataBiz systemDictDataBiz; @Override - @Async public String downHKImgs(int type){ if(Constants.DEALING_HK_IMG){ return null ; @@ -60,13 +59,12 @@ try { //鏌ヨ鎵�鏈夎瀹簨浠惰褰曚腑鎵�鏈変笅杞界殑娴峰悍绔� 鎶撴媿鐓х墖 鍜� 鐓х墖 startDealVisitImg(); - //鏌ヨ鎵�鏈夊仠杞﹀満浜嬩欢璁板綍涓墍鏈変笅杞界殑娴峰悍绔� 杞︾墝鍥剧墖 鍜� 杞﹁締鍥剧墖 startDealCarImg(); //鏌ヨ鎵�鏈夐棬绂佷簨浠惰褰曚腑鎵�鏈変笅杞界殑娴峰悍绔� 鎶撴媿鐓х墖 鍜� 韬唤璇佸浘鐗嘦RL startDealDeviceImg(); }catch (Exception e){ - + e.printStackTrace(); }finally { Constants.DEALING_HK_IMG =false; } @@ -76,29 +74,40 @@ 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); } @@ -109,30 +118,41 @@ 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); } } @@ -142,70 +162,89 @@ 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("銆愭捣搴峰浘鐗囦笅杞戒笂浼燜TP澶辫触銆�======================" ); + log.info("銆愭捣搴峰浘鐗囦笅杞戒笂浼燜TP鎴愬姛銆�======================" ); return fName; }else{ log.error("銆愭捣搴峰浘鐗囦笅杞戒笂浼燜TP澶辫触銆�======================" ); -- Gitblit v1.9.3