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/core/utils/FtpUtil.java                                |   48 ++++++------
 server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java                              |    2 
 server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java                    |    4 
 server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java                                   |   13 ---
 server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncImgServiceImpl.java |  155 ++++++++++++++++++++++++--------------
 5 files changed, 125 insertions(+), 97 deletions(-)

diff --git a/server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java b/server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java
index 58d4b0c..4955c56 100644
--- a/server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java
+++ b/server/dmvisit_admin/src/main/java/com/doumee/task/ScheduleTool.java
@@ -1,24 +1,12 @@
 package com.doumee.task;
 
 
-import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.service.business.impl.hksync.HkSyncImgServiceImpl;
-import org.apache.http.client.methods.CloseableHttpResponse;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.client.utils.URIBuilder;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClients;
-import org.apache.http.util.EntityUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.scheduling.annotation.EnableScheduling;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
-
-import java.io.IOException;
-import java.net.URI;
-import java.util.Date;
-import java.util.Map;
 
 /**
  * 瀹氭椂浠诲姟
@@ -47,6 +35,5 @@
     public void downloadHkImg() throws Exception {
         hkSyncImgService.downHKImgs(0);
     }
-
 
 }
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
index 3f6ab67..a7db94a 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKConstants.java
@@ -7,8 +7,8 @@
 
 @Data
 public class HKConstants {
-    public static final String IMG_INDEX ="HKIMG_" ;
-    public static final String IMG_INDEX_ERROR ="HKIMG_ERROR=" ;
+    public static final String IMG_INDEX ="HKIMG=" ;
+    public static final String IMG_INDEX_ERROR ="HKIMG=ERROR=" ;
     private Logger logger = LoggerFactory.getLogger(HKConstants.class);
     //娴峰悍骞冲彴鏍规嵁鐜板満鐜閰嶇疆http杩樻槸https
     public static final String RESPONSE_SUCCEE = "0";
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java b/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
index 3c51aa3..84e1f7f 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -44,6 +44,7 @@
     public static final String FILE_DIR = "";
     // 璁垮鏉ヨ閰嶇疆
     public static final String VISIT_CONFIG = "VISIT_CONFIG";
+    public static final String MEMBER_IMG = "MEMBER_IMG";
     // 鍔冲姟鏉ヨ閰嶇疆
     public static final String LABOR_CONFIG = "LABOR_CONFIG";
     public static final String VISIT_EVENT_IMG = "VISIT_EVENT_IMG";
@@ -54,6 +55,7 @@
     public static final String FTP_PORT ="FTP_PORT" ;
     public static final String FTP_USERNAME ="FTP_USERNAME" ;
     public static final String FTP_PWD ="FTP_PWD" ;
+    public static final String FTP_RESOURCE_PATH ="FTP_RESOURCE_PATH" ;
     public static  boolean DEALING_HK_IMG = false;
     // ERP鎺ュ彛閰嶇疆
     public static final String ERP_CONFIG = "ERP_CONFIG";
diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/utils/FtpUtil.java b/server/dmvisit_service/src/main/java/com/doumee/core/utils/FtpUtil.java
index 9e2a26a..a62bf46 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/core/utils/FtpUtil.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/core/utils/FtpUtil.java
@@ -29,6 +29,10 @@
 @Slf4j
 public class FtpUtil {
 	public FTPClient ftpClient = new FTPClient();
+	public static String hostname;
+	public static int port;
+	public static String username;
+	public static  String password;
 
 	public FtpUtil() {
 		// 璁剧疆灏嗚繃绋嬩腑浣跨敤鍒扮殑鍛戒护杈撳嚭鍒版帶鍒跺彴
@@ -39,26 +43,22 @@
 	public FtpUtil(String hostname, int port, String username, String password)
 			throws IOException {
 		// 璁剧疆灏嗚繃绋嬩腑浣跨敤鍒扮殑鍛戒护杈撳嚭鍒版帶鍒跺彴
-		connect(hostname, port, username, password);
+		FtpUtil.hostname =hostname;
+		FtpUtil.port =port;
+		FtpUtil.username =username;
+		FtpUtil.password =password;
+		connect();
 	}
 
 	/** */
 	/**
 	 * 杩炴帴鍒癋TP鏈嶅姟鍣�
 	 *
-	 * @param hostname
-	 *            涓绘満鍚�
-	 * @param port
-	 *            绔彛
-	 * @param username
-	 *            鐢ㄦ埛鍚�
-	 * @param password
 	 *            瀵嗙爜
 	 * @return 鏄惁杩炴帴鎴愬姛
 	 * @throws IOException
 	 */
-	public boolean connect(String hostname, int port, String username,
-			String password) throws IOException {
+	public boolean connect() throws IOException {
 		ftpClient.connect(hostname, port);
 		ftpClient.setControlEncoding("GBK");
 		if (FTPReply.isPositiveCompletion(ftpClient.getReplyCode())) {
@@ -243,8 +243,8 @@
 			ftpClient.setControlEncoding("GBK");
 			// 瀵硅繙绋嬬洰褰曠殑澶勭悊
 			String remoteFileName = remote;
-			if (remote.contains(File.separator)) {
-				remoteFileName = remote.substring(remote.lastIndexOf(File.separator) + 1);
+			if (remote.contains("/")) {
+				remoteFileName = remote.substring(remote.lastIndexOf("/") + 1);
 				// 鍒涘缓鏈嶅姟鍣ㄨ繙绋嬬洰褰曠粨鏋勶紝鍒涘缓澶辫触鐩存帴杩斿洖
 				if (StringUtils.equals(CreateDirecroty(remote, ftpClient), "2")) {
 					log.error("鍒涘缓ftp鐩綍澶辫触======================="+remote);
@@ -298,8 +298,8 @@
 		String result;
 		// 瀵硅繙绋嬬洰褰曠殑澶勭悊
 		String remoteFileName = remote ;
-		 if (remote.contains(File.separator)) {
-			remoteFileName = remote.substring(remote.lastIndexOf(File.separator) + 1);
+		 if (remote.contains("/")) {
+			remoteFileName = remote.substring(remote.lastIndexOf("/") + 1);
 			// 鍒涘缓鏈嶅姟鍣ㄨ繙绋嬬洰褰曠粨鏋勶紝鍒涘缓澶辫触鐩存帴杩斿洖
 			if (StringUtils.equals(CreateDirecroty(remote, ftpClient), "2")) {
 				return "2";
@@ -372,20 +372,20 @@
 			throws IOException {
 		String status = "1";
 		// UploadStatus status = UploadStatus.Create_Directory_Success;
-		String directory = remote.substring(0, remote.lastIndexOf(File.separator) + 1);
-		if (!directory.equalsIgnoreCase(File.separator)
+		String directory = remote.substring(0, remote.lastIndexOf("/") + 1);
+		if (!directory.equalsIgnoreCase("/")
 				&& !ftpClient.changeWorkingDirectory(new String(directory
 				.getBytes("GBK"), "iso-8859-1"))) {
 			// 濡傛灉杩滅▼鐩綍涓嶅瓨鍦紝鍒欓�掑綊鍒涘缓杩滅▼鏈嶅姟鍣ㄧ洰褰�
 			int start = 0;
 			int end = 0;
-			if (directory.startsWith(File.separator)) {
+			if (directory.startsWith("/")) {
 				start = 1;
 			} else {
 				start = 0;
 			}
 			end = directory
-					.indexOf(File.separator, start);
+					.indexOf("/", start);
 			while (true) {
 				String subDirectory = new String(remote.substring(start, end)
 						.getBytes("GBK"), "iso-8859-1");
@@ -400,7 +400,7 @@
 				}
 
 				start = end + 1;
-				end = directory.indexOf(File.separator,
+				end = directory.indexOf("/",
 						start);
 
 				// 妫�鏌ユ墍鏈夌洰褰曟槸鍚﹀垱寤哄畬姣�
@@ -541,7 +541,7 @@
 	public static void main(String[] args) throws Exception {
 		try {
 			FtpUtil ftpUtil = new FtpUtil("175.27.187.84", 21, "ftpuser","doumee168" );
-			ftpUtil.uploadOnlineFile("https://profile-avatar.csdnimg.cn/default.jpg!1", "test"+File.separator, UUID.randomUUID().toString()+"test.jpg");
+			ftpUtil.uploadOnlineFile("https://profile-avatar.csdnimg.cn/default.jpg!1", "test"+"/", UUID.randomUUID().toString()+"test.jpg");
 			/*FtpUtil myFtp = new FtpUtil("106.15.54.228", 21, "ftptlg",
 					"tlg168.com");
 			System.out.println(myFtp.upload("D:\\devices.sql", "/1111/devices.sql"));
@@ -631,7 +631,7 @@
 			String remoteDirectoryPath) throws Exception {
 		File src = new File(localDirectory);
 		try {
-			remoteDirectoryPath =  remoteDirectoryPath  + File.separator;
+			remoteDirectoryPath =  remoteDirectoryPath  + "/";
 			boolean makeDirFlag = this.ftpClient.makeDirectory(remoteDirectoryPath);
 		}catch (IOException e) {
 			e.printStackTrace();
@@ -645,7 +645,7 @@
 			String tPath = remoteDirectoryPath+f.getName();
 			if (!f.isDirectory()) {
 
-				int dNum = getNumFromStr(tPath,File.separator.toCharArray()[0]);
+				int dNum = getNumFromStr(tPath,"/".toCharArray()[0]);
 				uploadFile(f, tPath);
 				if(dNum -2>=0){
 					for (int i = 0; i < dNum-1; i++) {
@@ -654,7 +654,7 @@
 				}
 			}else{
 				uploadDirectory(srcName,
-						tPath+File.separator);
+						tPath+"/");
 			}
 		}
 		return true;
@@ -666,7 +666,7 @@
 	 * */
 	public boolean delDirectory(String pathName ) throws Exception {
 		try {
-			this.ftpClient.changeWorkingDirectory( pathName.substring(0, pathName.lastIndexOf(File.separator)) );
+			this.ftpClient.changeWorkingDirectory( pathName.substring(0, pathName.lastIndexOf("/")) );
 			ftpClient.removeDirectory(pathName);
 		}catch (IOException e) {
 			e.printStackTrace();
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