From 6c40e04eb7c2060feb2533735cd3089d438965e5 Mon Sep 17 00:00:00 2001 From: nidapeng <jp@doumee.com> Date: 星期二, 19 三月 2024 17:19:36 +0800 Subject: [PATCH] 整理 --- server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncImgServiceImpl.java | 206 +++++++++++++++++++++++++++++++++++---------------- 1 files changed, 140 insertions(+), 66 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..00fbb5a 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 @@ -3,6 +3,7 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.doumee.biz.system.SystemDictDataBiz; +import com.doumee.config.DataSyncConfig; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; import com.doumee.core.haikang.model.HKConstants; @@ -15,19 +16,14 @@ import com.doumee.core.utils.DateUtil; import com.doumee.core.utils.FtpUtil; import com.doumee.dao.business.*; -import com.doumee.dao.business.model.CarEvent; -import com.doumee.dao.business.model.Device; -import com.doumee.dao.business.model.DeviceEvent; -import com.doumee.dao.business.model.VisitEvent; +import com.doumee.dao.business.model.*; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; +import java.io.*; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -45,13 +41,14 @@ @Autowired private CarEventMapper carEventMapper; @Autowired + private MemberMapper memberMapper; + @Autowired private DeviceEventMapper deviceEventMapper; @Autowired private VisitEventMapper visitEventMapper; @Autowired private SystemDictDataBiz systemDictDataBiz; @Override - @Async public String downHKImgs(int type){ if(Constants.DEALING_HK_IMG){ return null ; @@ -60,45 +57,86 @@ try { //鏌ヨ鎵�鏈夎瀹簨浠惰褰曚腑鎵�鏈変笅杞界殑娴峰悍绔� 鎶撴媿鐓х墖 鍜� 鐓х墖 startDealVisitImg(); - //鏌ヨ鎵�鏈夊仠杞﹀満浜嬩欢璁板綍涓墍鏈変笅杞界殑娴峰悍绔� 杞︾墝鍥剧墖 鍜� 杞﹁締鍥剧墖 startDealCarImg(); //鏌ヨ鎵�鏈夐棬绂佷簨浠惰褰曚腑鎵�鏈変笅杞界殑娴峰悍绔� 鎶撴媿鐓х墖 鍜� 韬唤璇佸浘鐗嘦RL startDealDeviceImg(); + //鏌ヨ鎵�鏈変汉鍛樹汉鑴哥収鐗� + startDealMemberImg(); }catch (Exception e){ - + e.printStackTrace(); }finally { Constants.DEALING_HK_IMG =false; } return null; } + private void startDealMemberImg() { + List<Member> list = memberMapper.selectList(new QueryWrapper<Member>().lambda() + .eq(Member::getIsdeleted,Constants.ZERO) + .likeRight(Member::getFaceImg,HKConstants.IMG_INDEX)); + Date date= new Date(); + if(list !=null && list.size()>0){ + for(Member model:list){ + String serverIndex = model.getFaceServerIndexCode();//鏈嶅姟鍣ㄧ紪鐮� + if(StringUtils.isBlank(serverIndex)){ + continue; + } + String rs1 = null; + Member event = new Member(); + event.setId(model.getId()); + event.setEditDate(date); + if(StringUtils.isNotBlank(model.getFaceImg())){ + String img1 = model.getFaceImg().replace(HKConstants.IMG_INDEX_ERROR, "").replace(HKConstants.IMG_INDEX, ""); + rs1 = downHkImgToFtp(img1,serverIndex,Constants.MEMBER_IMG); + if(StringUtils.isNotBlank(rs1)){ + event.setFaceImg(rs1); + }else{ + event.setFaceImg(model.getFaceImg().replace(HKConstants.IMG_INDEX, HKConstants.IMG_INDEX_ERROR)); + } + } + memberMapper.updateById(event); + } + } + + } 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 +147,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 +191,95 @@ 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); + }else if(StringUtils.equals(folder_code,Constants.MEMBER_IMG)){ + //璁垮浜嬩欢鍥剧墖 + FacePictureRequest param = new FacePictureRequest(); + param.setPicUri(img1.replace(HKConstants.IMG_INDEX_ERROR,"").replace(HKConstants.IMG_INDEX,"")); + param.setServerIndexCode(serverIndex); + is = HKService.getFaceInputStream(param); } - //TODO------jiangping--------- + if(is ==null){ + return null; + } + 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()+".png"; 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