From 0b027b85d1c69fdc8af47d7d7495bf375eecafb4 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期四, 20 七月 2023 11:34:57 +0800
Subject: [PATCH] 增加ubcs-file-api模块

---
 Source/UBCS/ubcs-service-api/ubcs-file-api/src/main/java/com/vci/ubcs/file/util/VciZipUtil.java                   |  195 +++++++++++++++++++
 Source/UBCS/ubcs-service-api/ubcs-file-api/src/main/java/com/vci/ubcs/file/constant/VciFileEnumConstant.java      |   19 +
 Source/UBCS/ubcs-service-api/ubcs-file-api/src/main/java/com/vci/ubcs/file/constant/VciFileLangCodeConstant.java  |   88 ++++++++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java             |    2 
 Source/UBCS/ubcs-service-api/ubcs-file-api/pom.xml                                                                |   33 +++
 Source/UBCS/ubcs-service-api/ubcs-file-api/src/main/java/com/vci/ubcs/file/properties/VciFileTransProperties.java |   63 ++++++
 Source/UBCS/ubcs-service/ubcs-code/pom.xml                                                                        |   48 ----
 Source/UBCS/ubcs-service-api/pom.xml                                                                              |    1 
 Source/UBCS/ubcs-service-api/ubcs-file-api/src/main/java/com/vci/ubcs/file/enumpck/VciFileTransProtocolEnum.java  |  145 ++++++++++++++
 9 files changed, 548 insertions(+), 46 deletions(-)

diff --git a/Source/UBCS/ubcs-service-api/pom.xml b/Source/UBCS/ubcs-service-api/pom.xml
index a9abd8a..744e187 100644
--- a/Source/UBCS/ubcs-service-api/pom.xml
+++ b/Source/UBCS/ubcs-service-api/pom.xml
@@ -27,6 +27,7 @@
         <module>ubcs-ddl-api</module>
         <module>ubcs-webservice-api</module>
         <module>ubcs-workflow-api</module>
+        <module>ubcs-file-api</module>
     </modules>
 
     <dependencies>
diff --git a/Source/UBCS/ubcs-service-api/ubcs-file-api/pom.xml b/Source/UBCS/ubcs-service-api/ubcs-file-api/pom.xml
new file mode 100644
index 0000000..defef95
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-file-api/pom.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>ubcs-service-api</artifactId>
+        <groupId>com.vci.ubcs</groupId>
+        <version>3.0.1.RELEASE</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>ubcs-file-api</artifactId>
+    <dependencies>
+        <dependency>
+            <groupId>com.vci.ubcs</groupId>
+            <artifactId>ubcs-util-api</artifactId>
+            <version>3.0.1.RELEASE</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.ant</groupId>
+            <artifactId>ant</artifactId>
+            <version>1.8.2</version>
+            <scope>compile</scope>
+        </dependency>
+    </dependencies>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+    </properties>
+
+</project>
diff --git a/Source/UBCS/ubcs-service-api/ubcs-file-api/src/main/java/com/vci/ubcs/file/constant/VciFileEnumConstant.java b/Source/UBCS/ubcs-service-api/ubcs-file-api/src/main/java/com/vci/ubcs/file/constant/VciFileEnumConstant.java
new file mode 100644
index 0000000..adbf82b
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-file-api/src/main/java/com/vci/ubcs/file/constant/VciFileEnumConstant.java
@@ -0,0 +1,19 @@
+package com.vci.ubcs.file.constant;
+
+/**
+ * 鏂囦欢鏈嶅姟涓灇涓剧殑闈欐�佸��
+ * @author weidy
+ * @date 2020/3/12
+ */
+public class VciFileEnumConstant {
+
+	/**
+	 * 鏂囦欢浼犺緭鍗忚
+	 */
+	public static final String FILE_TRANS_PROTOCOL = "fileTransProtocol";
+	/**
+	 * 鏂囦粨鎿嶄綔绯荤粺鐨勭被鍨�
+	 */
+	public static final String FILE_SERVICE_OS_TYPE = "fileServiceOsType";
+
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-file-api/src/main/java/com/vci/ubcs/file/constant/VciFileLangCodeConstant.java b/Source/UBCS/ubcs-service-api/ubcs-file-api/src/main/java/com/vci/ubcs/file/constant/VciFileLangCodeConstant.java
new file mode 100644
index 0000000..3f80fef
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-file-api/src/main/java/com/vci/ubcs/file/constant/VciFileLangCodeConstant.java
@@ -0,0 +1,88 @@
+package com.vci.ubcs.file.constant;
+
+/**
+ * 鏂囦欢鏈嶅姟鐨勫璇唬鍙�
+ * @author weidy
+ * @date 2020/8/4 13:37
+ */
+public class VciFileLangCodeConstant {
+
+	/**
+	 * 鏂囦欢鏈壘鍒�
+	 */
+	public static final String FILE_NOT_FOUND = "fileNotFound";
+
+	/**
+	 * 鍘嬬缉鏂囦欢閿欒
+	 */
+	public static final String ZIP_FILE_ERROR = "zipFileError";
+	/**
+	 * 鍘嬬缉鍖呯殑鍚嶇О涓虹┖
+	 */
+	public static final String ZIP_FILE_NAME_NULL = "zipFileNameNull";
+
+	/**
+	 * 鏂囦欢涓虹┖
+	 */
+	public static final String FILES_NULL = "fileNull";
+
+	/**
+	 * 鏂囦欢浠撲笉瀛樺湪
+	 */
+	public static final String FILE_VOLUME_NOT_EXIST ="fileVolumeNotExist";
+
+	/**
+	 * 鏂囨。绫诲瀷涓嶅瓨鍦�
+	 */
+	public static final String FILE_DOC_CLASSIFY_NOT_EXIST = "fileDocClassifyNotExist";
+
+	/**
+	 * 鏂囦欢鐢熸晥
+	 */
+	public static final String FILE_RELEASED = "fileReleased";
+
+	/**
+	 * 鏂囦欢淇℃伅涓嶅瓨鍦�
+	 */
+	public static final String FILE_INFO_NOT_EXIST = "fileInfoNotExist";
+
+	/**
+	 * 鏂囦欢淇℃伅鍒濆鍖栧け璐�
+	 */
+	public static final String FILE_INFO_INIT_FAIL = "fileInfoInitFail";
+
+	/**
+	 * 鏂囦欢淇℃伅鍒濆鍖栨垚鍔�
+	 */
+	public static final String FILE_INFO_INIT_SUCCESS = "fileInfoInitSuccess";
+
+	/**
+	 * 璇诲彇鏂囦欢澶辫触
+	 */
+	public static final String FILE_READ_FAIL = "fileReadFail";
+
+	/**
+	 * 鐩綍涓嶅瓨鍦�
+	 */
+	public static final String FOLDER_NOT_EXIST = "folderNotExist";
+
+	/**
+	 * 涓嶆槸鏂囦欢澶�
+	 */
+	public static final String IS_NOT_FOLDER = "isNotFolder";
+
+	/**
+	 * 璇诲彇鍘嬬缉鍖呭け璐�
+	 */
+	public static final String ZIP_FILE_READ_ERROR = "zipFileReadError";
+
+	/**
+	 * 鏂囦欢涓嶅瓨鍦紝鏃犳硶鍏变韩
+	 */
+	public static final String FILE_NOT_EXIST_CANNOT_SHARED = "fileNotExistCannotShared";
+
+	/**
+	 * 鏂囦欢鍏变韩澶辫触
+	 */
+	public static final String FILE_SHARED_FAIL = "fileSharedFail";
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-file-api/src/main/java/com/vci/ubcs/file/enumpck/VciFileTransProtocolEnum.java b/Source/UBCS/ubcs-service-api/ubcs-file-api/src/main/java/com/vci/ubcs/file/enumpck/VciFileTransProtocolEnum.java
new file mode 100644
index 0000000..3eeaa3b
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-file-api/src/main/java/com/vci/ubcs/file/enumpck/VciFileTransProtocolEnum.java
@@ -0,0 +1,145 @@
+package com.vci.ubcs.file.enumpck;
+
+
+import com.vci.ubcs.file.constant.VciFileEnumConstant;
+import com.vci.ubcs.starter.annotation.VciEnum;
+import com.vci.ubcs.starter.web.enumpck.BaseEnum;
+
+/**
+ * 鏂囦欢浼犺緭鐨勫崗璁柟寮�
+ * @author weidy
+ * @date 2020/3/11
+ */
+@VciEnum(name = VciFileEnumConstant.FILE_TRANS_PROTOCOL,text = "鏂囦欢浼犺緭鐨勫崗璁�")
+public enum VciFileTransProtocolEnum implements BaseEnum {
+	/**
+	 * 骞冲彴鍘熸湁鐨凜ORBA鏈嶅姟
+	 */
+	CORBA("corba","骞冲彴鍘熸湁鐨凜ORBA鏈嶅姟"),
+	/**
+	 * minio杞婚噺鍖栨枃浠舵湇鍔�
+	 */
+	MINIO("minio","杞婚噺鍖栨枃浠舵湇鍔�"),
+	/**
+	 * mongoDB鍒嗗竷寮忔枃浠舵湇鍔�
+	 */
+	MONGO("mongo","mongoDB鍒嗗竷寮忔枃浠舵湇鍔�"),
+	/**
+	 * 瀛樺偍鍒癋TP鏈嶅姟涓�
+	 */
+	FTP("ftp","瀛樺偍鍒癋TP鏈嶅姟涓�"),
+	/**
+	 * 涓嬭浇鎴愬姛
+	 */
+	LOCAL("local","鏈湴瀛樺偍"),
+
+	/**
+	 * HTTP鏌ョ湅
+	 */
+	HTTP("http","浠呬娇鐢℉TTP鏌ョ湅"),
+	/**
+	 * NAS鏈嶅姟涓婂瓨鍌�
+	 */
+	NAS("nas","NAS鏈嶅姟涓婂瓨鍌�"),
+
+	/**
+	 * Thrift杩滅▼璋冪敤
+	 */
+	THRIFT("thrift","Thrift杩滅▼璋冪敤");
+
+	/**
+	 * 鏋氫妇鍊�
+	 */
+	private String value;
+
+	/**
+	 * 鏋氫妇鏄剧ず鍊�
+	 */
+	private String text;
+	/**
+	 * 鑾峰彇鏋氫妇鍊�
+	 * @return 鏋氫妇鍊�
+	 */
+	@Override
+	public String getValue() {
+		return value;
+	}
+
+	/**
+	 * 璁剧疆鏋氫妇鍊�
+	 * @param value 鏋氫妇鍊�
+	 */
+	public void setValue(String value) {
+		this.value = value;
+	}
+
+	/**
+	 * 鑾峰彇鏄剧ず鏂囨湰
+	 * @return 鏄剧ず鏂囨湰
+	 */
+	@Override
+	public String getText() {
+		return text;
+	}
+
+	/**
+	 * 璁剧疆鏄剧ず鏂囨湰
+	 * @param text 鏄剧ず鏂囨湰
+	 */
+	public void setText(String text) {
+		this.text = text;
+	}
+
+
+	/**
+	 * 鍐呴儴鏋勯�犲嚱鏁�
+	 * @param value 鏋氫妇鐨勫��
+	 */
+	private VciFileTransProtocolEnum(String value, String text){
+		this.value = value;
+		this.text = text;
+	}
+
+	/**
+	 * 鏍规嵁鍚嶇О鑾峰彇瀵瑰簲鐨勬灇涓惧��
+	 * @param text 鍚嶇О
+	 * @return 鏋氫妇鍊�
+	 */
+	public static String getValueByText(String text){
+		for(VciFileTransProtocolEnum wenum : VciFileTransProtocolEnum.values()){
+			if(wenum.getText().equalsIgnoreCase(text)){
+				return wenum.getValue();
+			}
+		}
+		return "";
+	}
+
+	/**
+	 * 鏍规嵁鏋氫妇鍊艰幏鍙栧悕绉�
+	 * @param value 鏋氫妇鍊�
+	 * @return 鍚嶇О
+	 */
+	public static String getTextByValue(String value){
+		for(VciFileTransProtocolEnum wenum : VciFileTransProtocolEnum.values()){
+			if(wenum.getValue().equalsIgnoreCase(value)){
+				return wenum.getText();
+			}
+		}
+		return "";
+	}
+
+	/**
+	 * 鏍规嵁鏋氫妇鍊艰幏鍙栨灇涓惧璞�
+	 * @param value 鏋氫妇鍊�
+	 * @return 鏋氫妇瀵硅薄
+	 */
+	public static VciFileTransProtocolEnum forValue(String value){
+		for(VciFileTransProtocolEnum wenum : VciFileTransProtocolEnum.values()){
+			if(wenum.getValue().equalsIgnoreCase(value)){
+				return wenum;
+			}
+		}
+		return null;
+	}
+
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-file-api/src/main/java/com/vci/ubcs/file/properties/VciFileTransProperties.java b/Source/UBCS/ubcs-service-api/ubcs-file-api/src/main/java/com/vci/ubcs/file/properties/VciFileTransProperties.java
new file mode 100644
index 0000000..1b81502
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-file-api/src/main/java/com/vci/ubcs/file/properties/VciFileTransProperties.java
@@ -0,0 +1,63 @@
+package com.vci.ubcs.file.properties;
+
+import com.vci.ubcs.file.enumpck.VciFileTransProtocolEnum;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * 涓婁紶涓嬭浇
+ * @author weidy
+ * @date 2020/3/11
+ */
+@Configuration
+@ConfigurationProperties(prefix = "vci.file")
+public class VciFileTransProperties {
+
+	/**
+	 * 浼犺緭鍗忚
+	 */
+	private VciFileTransProtocolEnum transProtocal;
+
+	/**
+	 * 鏄惁妫�鏌ユ暟鎹簱琛�
+	 */
+	private String checkTableExist;
+
+	/**
+	 * 鍘嬬缉鍖呯殑鏍煎紡
+	 */
+	private String zipCharset = "GBK";
+
+	public VciFileTransProtocolEnum getTransProtocal() {
+		return transProtocal;
+	}
+
+	public void setTransProtocal(VciFileTransProtocolEnum transProtocal) {
+		this.transProtocal = transProtocal;
+	}
+
+	public String getCheckTableExist() {
+		return checkTableExist;
+	}
+
+	public void setCheckTableExist(String checkTableExist) {
+		this.checkTableExist = checkTableExist;
+	}
+
+	public String getZipCharset() {
+		return zipCharset;
+	}
+
+	public void setZipCharset(String zipCharset) {
+		this.zipCharset = zipCharset;
+	}
+
+	@Override
+	public String toString() {
+		return "VciFileTransProperties{" +
+			"transProtocal=" + transProtocal +
+			", checkTableExist='" + checkTableExist + '\'' +
+			", zipCharset='" + zipCharset + '\'' +
+			'}';
+	}
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-file-api/src/main/java/com/vci/ubcs/file/util/VciZipUtil.java b/Source/UBCS/ubcs-service-api/ubcs-file-api/src/main/java/com/vci/ubcs/file/util/VciZipUtil.java
new file mode 100644
index 0000000..dda96e2
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-file-api/src/main/java/com/vci/ubcs/file/util/VciZipUtil.java
@@ -0,0 +1,195 @@
+package com.vci.ubcs.file.util;
+
+
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.vci.ubcs.file.constant.VciFileLangCodeConstant;
+import com.vci.ubcs.file.properties.VciFileTransProperties;
+import com.vci.ubcs.starter.exception.VciBaseException;
+import com.vci.ubcs.starter.web.util.LangBaseUtil;
+import org.apache.commons.io.IOUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import org.apache.tools.zip.ZipEntry;
+import org.apache.tools.zip.ZipOutputStream;
+
+/**
+ * zip鐩稿叧鐨勫伐鍏风被
+ * @author weidy
+ * @date 2020/3/12
+ */
+@Component
+public class VciZipUtil {
+
+	/**
+	 * 鏂囦欢浼犺緭閰嶇疆
+	 */
+	@Autowired(required = false)
+	private VciFileTransProperties transProperties;
+
+	/**
+	 * 鑾峰彇zip鐨勫瓧绗﹂泦
+	 * @return 榛樿涓篏BK锛屽惁鍒欓渶瑕侀厤缃�
+	 */
+	private String getZipCharset(){
+		return (transProperties == null || StringUtils.isBlank(transProperties.getZipCharset()))?"GBK":transProperties.getZipCharset();
+	}
+
+	/**
+	 * 灏嗘枃浠跺す鍘嬬缉鎴愬帇缂╁寘
+	 * @param folder 鏂囦欢澶硅矾寰�
+	 * @param zipFileName zip鏂囦欢鍚�
+	 * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮坊鍔犲嚭閿欑殑浼氭姏鍑哄紓甯�
+	 */
+	public void folderToZipFile(String folder, String zipFileName) throws VciBaseException {
+		folderToZipFile(folder,zipFileName,getZipCharset());
+	}
+
+	/**
+	 * 灏嗘枃浠跺す鍘嬬缉鎴愬帇缂╁寘
+	 * @param folder 鏂囦欢澶硅矾寰�
+	 * @param zipFileName zip鏂囦欢鍚�
+	 * @param zipEncode zip鐨勫瓧绗﹂泦锛寃indows搴旇涓篏BK
+	 * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮坊鍔犲嚭閿欑殑浼氭姏鍑哄紓甯�
+	 */
+	public void folderToZipFile(String folder, String zipFileName,String zipEncode) throws VciBaseException{
+		File sourceFile = new File(folder);
+		if(!sourceFile.exists()){
+			throw new VciBaseException(VciFileLangCodeConstant.FILE_NOT_FOUND,new String[]{folder});
+		}
+		ZipOutputStream zos = null;
+		try {
+			zos = new ZipOutputStream(new FileOutputStream(zipFileName));
+			zos.setEncoding(zipEncode);
+			//榛樿鏄疷TF-8鏍煎紡鐨�
+			addFileToZip(zos, new File(folder).listFiles(),folder + File.separator);
+		}catch (Throwable e){
+			throw new VciBaseException(LangBaseUtil.getErrorMsg(e),new String[]{});
+		}finally {
+			try{
+				if(zos!=null){
+					zos.close();
+				}
+			}catch (Exception e){
+
+			}
+		}
+	}
+
+	/**
+	 * 灏嗘枃浠跺す鍘嬬缉鎴愬帇缂╁寘
+	 * @param zos zip杈撳嚭娴�
+	 * @param files 瑕佸帇缂╃殑鏂囦欢
+	 * @param rootPath 鍘嬬缉鐨勬枃浠朵腑鐨勯《灞傜洰褰�
+	 * @throws VciBaseException 鏂囦欢涓嶅瓨鍦紝鎴栬�呭唴瀹瑰嚭鐜伴敊璇細鎶涘嚭寮傚父
+	 */
+	private void addFileToZip(ZipOutputStream zos,File[] files,String rootPath) throws VciBaseException{
+		if(files!=null && files.length>0) {
+			for (File file : files) {
+				if(StringUtils.isBlank(rootPath)){
+					try {
+						rootPath = file.getParent();
+						if (rootPath == null) {
+							rootPath = file.getPath();
+						}
+					}catch (Throwable e){
+						rootPath = file.getPath();
+					}
+				}
+				if (!file.exists()) {
+					throw new VciBaseException(VciFileLangCodeConstant.FILE_NOT_FOUND,new String[]{file.getAbsolutePath()});
+				}
+				if (file.isDirectory()) {
+					addFileToZip(zos, file.listFiles(),rootPath);
+				}else{
+					InputStream is = null;
+					try {
+						is = new FileInputStream(file);
+						String entryName = file.getAbsolutePath().replace(rootPath,"");
+						if(entryName.startsWith("\\")) {
+							entryName = entryName.substring(1);
+						}
+						ZipEntry zipEntry = new ZipEntry(entryName);
+						zos.putNextEntry(zipEntry);
+						byte[] b = new byte[100];
+						int length = 0;
+						while ((length = is.read(b)) != -1) {
+							zos.write(b, 0, length);
+						}
+					} catch (Exception e) {
+						throw new VciBaseException(VciFileLangCodeConstant.ZIP_FILE_ERROR,new String[]{file.getAbsolutePath()},e);
+					} finally {
+						try {
+							IOUtils.closeQuietly(is);
+						} catch (Exception e) {
+
+						}
+					}
+				}
+			}
+		}
+	}
+
+	/**
+	 * 灏嗗崟涓枃浠舵坊鍔犲埌zip涓�
+	 * @param file 鏂囦欢
+	 * @param zipFile zip鏂囦欢
+	 * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮坊鍔犲嚭閿欑殑浼氭姏鍑哄紓甯�
+	 */
+	public void addFileToZip(File file, String zipFile) throws VciBaseException{
+		if(file == null || !file.exists() ){
+			throw new VciBaseException(VciFileLangCodeConstant.FILE_NOT_FOUND ,new String[]{file.getAbsolutePath()});
+		}
+		if(StringUtils.isBlank(zipFile)){
+			throw new VciBaseException(VciFileLangCodeConstant.ZIP_FILE_NAME_NULL,new String[0]);
+		}
+		addFileToZip(new File[]{file},zipFile);
+	}
+
+
+	/**
+	 * 灏嗗涓釜鏂囦欢娣诲姞鍒皕ip涓�
+	 * @param files 鏂囦欢
+	 * @param zipFile zip鏂囦欢
+	 * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮坊鍔犲嚭閿欑殑浼氭姏鍑哄紓甯�
+	 */
+	public void addFileToZip(File[] files, String zipFile) throws VciBaseException{
+		addFileToZip(files, zipFile,getZipCharset());
+	}
+
+	/**
+	 * 灏嗗涓釜鏂囦欢娣诲姞鍒皕ip涓�
+	 * @param files 鏂囦欢
+	 * @param zipFile zip鏂囦欢
+	 * @param zipEncode zip鐨勫瓧绗﹂泦
+	 * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呮坊鍔犲嚭閿欑殑浼氭姏鍑哄紓甯�
+	 */
+	public void addFileToZip(File[] files, String zipFile,String zipEncode) throws VciBaseException{
+		if(files == null || files.length == 0){
+			throw new VciBaseException(VciFileLangCodeConstant.FILES_NULL,new String[0]);
+		}
+		if(StringUtils.isBlank(zipFile)){
+			throw new VciBaseException(VciFileLangCodeConstant.ZIP_FILE_NAME_NULL,new String[0]);
+		}
+		ZipOutputStream zos = null;
+		try {
+			zos = new ZipOutputStream(new FileOutputStream(zipFile));
+			zos.setEncoding(zipEncode);
+			addFileToZip(zos, files,"");
+		}catch (Throwable e){
+			throw new VciBaseException(LangBaseUtil.getErrorMsg(e),new String[]{},e);
+		}finally {
+			try{
+				if(zos!=null){
+					zos.close();
+				}
+			}catch (Exception e){
+
+			}
+		}
+	}
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/pom.xml b/Source/UBCS/ubcs-service/ubcs-code/pom.xml
index dd79fa6..abf2d37 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/pom.xml
+++ b/Source/UBCS/ubcs-service/ubcs-code/pom.xml
@@ -145,51 +145,9 @@
         <!--axis2 end -->
 
         <dependency>
-            <groupId>com.vci</groupId>
-            <artifactId>vci-file-api</artifactId>
-            <version>1.0-SNAPSHOT</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.springframework.boot</groupId>
-                    <artifactId>spring-boot-starter-log4j2</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.apache.logging.log4j</groupId>
-                    <artifactId>log4j-slf4j-impl</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.apache.logging.log4j</groupId>
-                    <artifactId>log4j-api</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.apache.logging.log4j</groupId>
-                    <artifactId>log4j-core</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.apache.logging.log4j</groupId>
-                    <artifactId>log4j-jul</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>io.github.openfeign.form</groupId>
-                    <artifactId>feign-form</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.springframework.boot</groupId>
-                    <artifactId>spring-boot-starter</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.springframework.boot</groupId>
-                    <artifactId>spring-boot-starter-web</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.apache.commons</groupId>
-                    <artifactId>commons-compress</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>io.github.openfeign.form</groupId>
-                    <artifactId>feign-form-spring</artifactId>
-                </exclusion>
-            </exclusions>
+            <groupId>com.vci.ubcs</groupId>
+            <artifactId>ubcs-file-api</artifactId>
+            <version>3.0.1.RELEASE</version>
         </dependency>
 
     </dependencies>
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
index f19ae9b..1a3e472 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmIOServiceImpl.java
@@ -3,7 +3,6 @@
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.nacos.common.utils.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.vci.file.util.VciZipUtil;
 import com.vci.ubcs.code.bo.AttributeValue;
 import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO;
 import com.vci.ubcs.code.bo.CodeTemplateAttrSqlBO;
@@ -21,6 +20,7 @@
 import com.vci.ubcs.code.vo.webserviceModel.attrmap.DataObjectVO;
 import com.vci.ubcs.code.vo.webserviceModel.attrmap.RowDatas;
 import com.vci.ubcs.code.vo.webserviceModel.result.xml.XMLResultDataObjectDetailDO;
+import com.vci.ubcs.file.util.VciZipUtil;
 import com.vci.ubcs.omd.feign.IBtmTypeClient;
 import com.vci.ubcs.omd.feign.IWebSecretClient;
 import com.vci.ubcs.omd.vo.BtmTypeVO;

--
Gitblit v1.9.3