diff --git a/pom.xml b/pom.xml index 202b36e..850ac1b 100644 --- a/pom.xml +++ b/pom.xml @@ -579,6 +579,13 @@ 0.1.40 + + + + io.minio + minio + 3.0.12 + diff --git a/src/main/java/com/nis/restful/RestBusinessCode.java b/src/main/java/com/nis/restful/RestBusinessCode.java index 864ae68..3a66acb 100644 --- a/src/main/java/com/nis/restful/RestBusinessCode.java +++ b/src/main/java/com/nis/restful/RestBusinessCode.java @@ -328,6 +328,10 @@ public enum RestBusinessCode { * 回调类checksum与文件MD5值不一致 */ CheckSumIsWrong(4001603,"checksum与文件MD5值不一致"), + /** + * minio地址和端口不能为空 + */ + MinioUrlIsNull(4001604,"minio地址和端口不能为空"), //配置业务格式验证 20000 /** diff --git a/src/main/java/com/nis/util/Configurations.java b/src/main/java/com/nis/util/Configurations.java index 440aade..9332e86 100644 --- a/src/main/java/com/nis/util/Configurations.java +++ b/src/main/java/com/nis/util/Configurations.java @@ -15,6 +15,7 @@ public final class Configurations { prop.load(Configurations.class.getResourceAsStream("/applicationConfig-maatOracle.properties")); prop.load(Configurations.class.getResourceAsStream("/applicationConfig-rule.properties")); prop.load(Configurations.class.getResourceAsStream("/fastdfs-client.properties")); + prop.load(Configurations.class.getResourceAsStream("/jdbc.properties")); } catch (Exception e) { prop = null; diff --git a/src/main/java/com/nis/util/MinioUtil.java b/src/main/java/com/nis/util/MinioUtil.java new file mode 100644 index 0000000..18a816d --- /dev/null +++ b/src/main/java/com/nis/util/MinioUtil.java @@ -0,0 +1,46 @@ +package com.nis.util; + +import java.io.InputStream; +import java.text.SimpleDateFormat; +import java.util.Date; + +import com.nis.restful.RestBusinessCode; +import com.nis.restful.RestServiceException; + +import io.minio.MinioClient; + +public class MinioUtil { + + private static String minio_url = Configurations.getStringProperty("minio_url", "http://192.168.10.61:9000");; + private static String minio_accessKey = Configurations.getStringProperty("minio_accessKey", "");; + private static String minio_secretKey = Configurations.getStringProperty("minio_secretKey", "");; + private static String minio_bucketName = Configurations.getStringProperty("minio_bucketName", "test");; + + /** + * 上传文件到minio + * @param inputStream 上传的文件流 + * @param fileName 文件名称 + * @param contentType 文件类型 + * @return 返回文件上传路径 + * @throws Exception + */ + public static String uploadFile(InputStream inputStream, String fileName, String contentType) throws Exception { + MinioClient minioClient = null; + if (minio_url != null && !minio_url.trim().equals("")) { + if (minio_accessKey != null && !minio_accessKey.trim().equals("") && minio_secretKey != null + && !minio_secretKey.trim().equals("")) { + minioClient = new MinioClient(minio_url, minio_accessKey, minio_secretKey); + } else { + minioClient = new MinioClient(minio_url); + } + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMDDHHMMss"); + String ymd = sdf.format(new Date()); + String objectName = ymd + "-" + fileName; + minioClient.putObject(minio_bucketName, objectName, inputStream, inputStream.available(), contentType); + String url = minioClient.getObjectUrl(minio_bucketName, objectName); + return url; + }else { + throw new RestServiceException("minio服务器地址为空,请联系管理员检查jdbc.properties中minio_url的值", RestBusinessCode.MinioUrlIsNull.getValue()); + } + } +} diff --git a/src/main/resources/jdbc.properties b/src/main/resources/jdbc.properties index aac4e91..a4be1eb 100644 --- a/src/main/resources/jdbc.properties +++ b/src/main/resources/jdbc.properties @@ -1,9 +1,9 @@ #==========日志库 Mysql======================= jdbc.log.driver=com.mysql.jdbc.Driver #元辰鑫内网 -#jdbc.log.url=jdbc:mysql://10.0.6.249:3306/galaxy?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull +jdbc.log.url=jdbc:mysql://10.0.6.249:3306/galaxy?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull #华严 -jdbc.log.url=jdbc:mysql://192.168.11.242:3306/galaxy?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull +#jdbc.log.url=jdbc:mysql://192.168.11.242:3306/galaxy?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull #元辰鑫外网 #jdbc.log.url=jdbc:mysql://192.168.10.204:3306/galaxy?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull #亦庄演示环境 @@ -41,9 +41,9 @@ bonecp.statementsCacheSize=100 #A版日志库 jdbc.hive.driver=org.apache.hive.jdbc.HiveDriver #元辰鑫内网 -#jdbc.hive.url=jdbc:hive2://10.0.6.202:10000/maat +jdbc.hive.url=jdbc:hive2://10.0.6.202:10000/maat #华严 -jdbc.hive.url=jdbc:hive2://192.168.11.243:2181,192.168.10.76:2181,192.168.10.77:2181/maat;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2 +#jdbc.hive.url=jdbc:hive2://192.168.11.243:2181,192.168.10.76:2181,192.168.10.77:2181/maat;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2 #元辰鑫外网 #jdbc.hive.url=jdbc:hive2://192.168.10.22:10000/maat #亦庄演示环境高可用集群连接,注意使用此种方法需要配置hosts,主机名与ip的对应关系 @@ -113,7 +113,17 @@ druid.log.filters=stat - +######################################################################### +##minio地址 +######################################################################### +##minio的地址,注意前面的http://不要忘记写 +minioUrl=http://192.168.10.61:9000 +##minio的accessKey +minio_accessKey= +##minio的secretKey +minio_secretKey= +##minio的bucketName +minio_bucketName=test @@ -121,9 +131,9 @@ druid.log.filters=stat ##redis连接 ##################################################################################################################################### #元辰鑫内网 -#redis.host=10.0.6.249 +redis.host=10.0.6.249 #华严 -redis.host=192.168.11.243 +#redis.host=192.168.11.243 #元辰鑫外网 #redis.host=192.168.10.205 #亦庄测试环境