fuyu 5 роки тому
батько
коміт
59eef83dc0

+ 5 - 0
dicom_monitor.iml

@@ -51,5 +51,10 @@
     <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore:4.4.1" level="project" />
     <orderEntry type="library" name="Maven: org.jdom:jdom:1.1" level="project" />
     <orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.51" level="project" />
+    <orderEntry type="library" name="Maven: cn.ucloud.ufile:ufile-client-java:2.1.1" level="project" />
+    <orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.5" level="project" />
+    <orderEntry type="library" name="Maven: com.squareup.okhttp3:okhttp:3.11.0" level="project" />
+    <orderEntry type="library" name="Maven: com.squareup.okio:okio:1.14.0" level="project" />
+    <orderEntry type="library" name="Maven: cn.ucloud.ufile:ufile-core:2.1.1" level="project" />
   </component>
 </module>

+ 30 - 0
logs/2019-06-25/sys-2019-06-25.0.log

@@ -0,0 +1,30 @@
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/zzp/test/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/zzp/test/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:D:\ZSKK_SYSTEM\ScpServer\Release\DICOM
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/zzp/test/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/zzp/test/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/zzp/test/src
+--------------------------------------------------
+

+ 5 - 0
logs/2019-08-12/sys-2019-08-12.0.log

@@ -0,0 +1,5 @@
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+

+ 25 - 0
logs/2019-08-13/sys-2019-08-13.0.log

@@ -0,0 +1,25 @@
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+

+ 205 - 0
logs/2019-08-14/sys-2019-08-14.0.log

@@ -0,0 +1,205 @@
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+

+ 30 - 0
logs/2019-08-15/sys-2019-08-15.0.log

@@ -0,0 +1,30 @@
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+

+ 30 - 0
logs/2019-08-16/sys-2019-08-16.0.log

@@ -0,0 +1,30 @@
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+

+ 30 - 0
logs/2019-08-19/sys-2019-08-19.0.log

@@ -0,0 +1,30 @@
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+

+ 5 - 0
logs/2019-08-20/sys-2019-08-20.0.log

@@ -0,0 +1,5 @@
+Dicom dir monitor...
+--------------------------------------------------
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
+--------------------------------------------------
+

+ 3 - 18
logs/sys.log

@@ -1,30 +1,15 @@
 Dicom dir monitor...
 --------------------------------------------------
-Monitoring directory:/Users/fuyu/Desktop/zzp/test/src
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
 --------------------------------------------------
 
 Dicom dir monitor...
 --------------------------------------------------
-Monitoring directory:/Users/fuyu/Desktop/zzp/test/src
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
 --------------------------------------------------
 
 Dicom dir monitor...
 --------------------------------------------------
-Monitoring directory:D:\ZSKK_SYSTEM\ScpServer\Release\DICOM
---------------------------------------------------
-
-Dicom dir monitor...
---------------------------------------------------
-Monitoring directory:/Users/fuyu/Desktop/zzp/test/src
---------------------------------------------------
-
-Dicom dir monitor...
---------------------------------------------------
-Monitoring directory:/Users/fuyu/Desktop/zzp/test/src
---------------------------------------------------
-
-Dicom dir monitor...
---------------------------------------------------
-Monitoring directory:/Users/fuyu/Desktop/zzp/test/src
+Monitoring directory:/Users/fuyu/Desktop/dicomTest/src
 --------------------------------------------------
 

+ 5 - 0
pom.xml

@@ -149,6 +149,11 @@
             <artifactId>fastjson</artifactId>
             <version>1.2.51</version>
         </dependency>
+        <dependency>
+            <groupId>cn.ucloud.ufile</groupId>
+            <artifactId>ufile-client-java</artifactId>
+            <version>2.1.1</version>
+        </dependency>
 
     </dependencies>
 

+ 8 - 2
src/main/java/com/zskk/dicom/monitor/config/Configs.java

@@ -122,10 +122,15 @@ public class Configs {
      * 阿里云OSS 回调url
      */
     public static String ossCallbackUrl = "http://api.test.aliyuoss.callback.pacsonline.cn/oss_callback";
+    /**
+     * 阿里云OSS 回调url
+     */
+    public static String lcossCallbackUrl = "http://api.test.aliyuoss.callback.pacsonline.cn/oss_callback";
     /**
      * 上传方式 oss 和 fastdfs
      */
     public static String archiveWay = "oss";
+
     /**
      * 初始化配置信息
      */
@@ -172,9 +177,10 @@ public class Configs {
         ossBucketName = rb.getString("monitor.oss.bucket");
         ossScheme = rb.getString("monitor.oss.scheme");
         ossCallbackUrl = rb.getString("monitor.oss.callback_url");
+        lcossCallbackUrl = rb.getString("monitor.oss.lcossCallbackUrl");
         archiveWay = rb.getString("monitor.archiveWay");
-        if(!"fastdfs".equals(archiveWay)){
-            archiveWay = "oss";
+        if(!"fastdfs".equals(archiveWay) && !"oss".equals(archiveWay)){
+            archiveWay = "lcoss";
         }
 
         successPoolsLength = Integer.parseInt(rb.getString("monitor.pool.successPoolsLength"));

+ 1 - 0
src/main/java/com/zskk/dicom/monitor/monitors/BaseFileActionCallback.java

@@ -30,6 +30,7 @@ public class BaseFileActionCallback extends FileActionCallback {
 
                 @Override
                 public void run() {
+                    Configs.sysLog.info("queue:" + queue.size());
                     // TODO Auto-generated method stub
                     queue.push(file.getAbsolutePath());
                 }

+ 8 - 0
src/main/java/com/zskk/dicom/monitor/monitors/WatchDir.java

@@ -1,5 +1,6 @@
 package com.zskk.dicom.monitor.monitors;
 
+import ch.qos.logback.core.util.TimeUtil;
 import com.zskk.dicom.monitor.config.Configs;
 import com.zskk.dicom.monitor.utils.ExceptionUtil;
 
@@ -10,6 +11,8 @@ import java.nio.file.WatchEvent.Kind;
 import java.nio.file.attribute.BasicFileAttributes;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.Timer;
+import java.util.concurrent.TimeUnit;
 
 import static java.nio.file.LinkOption.NOFOLLOW_LINKS;
 
@@ -91,6 +94,11 @@ public class WatchDir {
 				Configs.sysLog.warn("pools restart watch shutdown");
 				return;
 			}
+			try {
+				TimeUnit.MICROSECONDS.sleep(10);
+			} catch (InterruptedException e) {
+				e.printStackTrace();
+			}
 			WatchKey key;
 			try {
 				key = watcher.take();

+ 1 - 1
src/main/java/com/zskk/dicom/monitor/runner/BaseAddHistory2QueueRunner.java

@@ -47,7 +47,7 @@ public abstract class BaseAddHistory2QueueRunner implements Runnable {
     private void addHistory2Queue() {
         Configs.sysLog.info("BaseAddHistory2QueueRunner: init Dir:" + this.monitorDir);
         File dir = new File(this.monitorDir);
-        Iterator<File> its = FileUtils.iterateFiles(dir, suffixs, true);
+        Iterator<File> its = FileUtils.iterateFiles(dir, this.suffixs, true);
         while (its.hasNext()) {
             if(Configs.poolsStartingFlag) {
                 Configs.sysLog.warn("pools restart return");

+ 2 - 1
src/main/java/com/zskk/dicom/monitor/runner/BaseRunner.java

@@ -60,6 +60,7 @@ public abstract class BaseRunner implements Runnable{
                     return;
                 }
                 if(empty()) {
+                    Configs.sysLog.warn("pools is empty");
                     printEmptyAndSleep();
                     continue;
                 }
@@ -94,7 +95,7 @@ public abstract class BaseRunner implements Runnable{
         Configs.sysLog.info(getRunnerName() + ": " + action().getValue() + " success!" + getQueueName() + " size :" + size());
         failSleepTime = 0;
         emptySleepTime = 0;
-        TimeUnit.SECONDS.sleep(SUCCESS_SLEEP_TIME);
+        TimeUnit.MICROSECONDS.sleep(SUCCESS_SLEEP_TIME);
     }
 
     /**

+ 2 - 0
src/main/java/com/zskk/dicom/monitor/runner/BaseUploadRunner.java

@@ -1,5 +1,6 @@
 package com.zskk.dicom.monitor.runner;
 
+import com.zskk.dicom.monitor.config.Configs;
 import com.zskk.dicom.monitor.queue.IQueue;
 import com.zskk.dicom.monitor.uploader.BaseFileUploader;
 import org.apache.http.util.TextUtils;
@@ -16,6 +17,7 @@ public abstract class BaseUploadRunner extends  AbstractUploadRunner {
 
     @Override
     public boolean upload() {
+        Configs.sysLog.info("upload");
         boolean flag = false;
         String filePath = getUploadFilePath();
         if(TextUtils.isEmpty(filePath)) {

+ 2 - 1
src/main/java/com/zskk/dicom/monitor/runner/HistoryUploadRunner.java

@@ -33,7 +33,8 @@ public class HistoryUploadRunner extends BaseUploadRunner {
 
     @Override
     protected boolean exit() {
-        return super.exit() || empty();
+//        return super.exit() || empty();
+        return super.exit();
     }
 
     @Override

+ 1 - 1
src/main/java/com/zskk/dicom/monitor/schedules/StartTimer.java

@@ -18,7 +18,7 @@ public class StartTimer {
     /**
      * 每小时重启一次
      */
-    @Scheduled(cron = "0 0 * * * ?")
+//    @Scheduled(cron = "0 0 * * * ?")
     public void timmer_1() {
         Configs.sysLog.info("Scheduled--" + df.format(new Date()));
         StatRunner.start();

+ 2 - 2
src/main/java/com/zskk/dicom/monitor/schedules/StatRunner.java

@@ -116,7 +116,7 @@ public class StatRunner {
             return;
         }
         // 线程池启动标识设置为true
-        Configs.poolsStartingFlag = true;
+//        Configs.poolsStartingFlag = true;
 
         // 销毁队列集合
         destroyQueueSet();
@@ -131,7 +131,7 @@ public class StatRunner {
         initQueueSet();
 
         // 线程池启动标识设置为false
-        Configs.poolsStartingFlag = false;
+//        Configs.poolsStartingFlag = false;
 
         // 启动线程
         startRunner();

+ 19 - 7
src/main/java/com/zskk/dicom/monitor/uploader/BaseFileUploader.java

@@ -5,6 +5,7 @@ import com.zskk.dicom.monitor.config.Configs;
 import com.zskk.dicom.monitor.queue.IQueue;
 import com.zskk.dicom.monitor.report.ErrReporter;
 import com.zskk.dicom.monitor.utils.ExceptionUtil;
+import com.zskk.dicom.oss.LCOSSFileAndCallbackHleper;
 import com.zskk.dicom.oss.OSSFileAndCallbackHleper;
 import org.apache.http.util.TextUtils;
 
@@ -24,6 +25,10 @@ import java.util.UUID;
  */
 public class BaseFileUploader {
 
+	private static final String ARCHIVE_WAY_OSS = "oss";
+	private static final String ARCHIVE_WAY_DFS = "dfs";
+	private static final String ARCHIVE_WAY_LCOSS = "lcoss";
+
 	/**
 	 * 文件上传
 	 * @param filePath 文件路径
@@ -49,13 +54,20 @@ public class BaseFileUploader {
 			return false;
 		}
 		try {
-			if("oss".equals(Configs.archiveWay)) {
-				uploadResult = new OSSFileAndCallbackHleper(Configs.ossEndpoint, OSSConfig.ACCESS_KEY_ID, OSSConfig.ACCESS_KEY_SECRET).upload(file);
-			} else {
-				String boundaryKey = UUID.randomUUID().toString().replaceAll("-", "").substring(8, 24);
-				String content = "\r\n----" + boundaryKey + "\r\n" + "Content-Type: application/octet-stream\r\n" + "Content-Disposition: form-data; name=\"" + renameFileName(file.getName()) + "\"; filename=\"" + renameFileName(file.getName()) + "\"\r\n" + "Content-Transfer-Encoding: binary\r\n\r\n";
-				String postUrl = "http://" + Configs.postHost + ":" + Configs.postPort + Configs.postUri;
-				uploadResult = uploadToUrl(postUrl, boundaryKey, content, "", file);
+			switch (Configs.archiveWay) {
+				case ARCHIVE_WAY_OSS:
+					uploadResult = new OSSFileAndCallbackHleper(Configs.ossEndpoint, OSSConfig.ACCESS_KEY_ID, OSSConfig.ACCESS_KEY_SECRET).upload(file);
+				break;
+				case ARCHIVE_WAY_LCOSS:
+					uploadResult = LCOSSFileAndCallbackHleper.upload(new File(filePath));
+				break;
+				case ARCHIVE_WAY_DFS:
+				default:
+					String boundaryKey = UUID.randomUUID().toString().replaceAll("-", "").substring(8, 24);
+					String content = "\r\n----" + boundaryKey + "\r\n" + "Content-Type: application/octet-stream\r\n" + "Content-Disposition: form-data; name=\"" + renameFileName(file.getName()) + "\"; filename=\"" + renameFileName(file.getName()) + "\"\r\n" + "Content-Transfer-Encoding: binary\r\n\r\n";
+					String postUrl = "http://" + Configs.postHost + ":" + Configs.postPort + Configs.postUri;
+					uploadResult = uploadToUrl(postUrl, boundaryKey, content, "", file);
+				break;
 			}
 			if (uploadResult) {
 				successQueue.push(filePath);

+ 137 - 0
src/main/java/com/zskk/dicom/oss/LCOSSFileAndCallbackHleper.java

@@ -0,0 +1,137 @@
+package com.zskk.dicom.oss;
+
+
+import cn.ucloud.ufile.UfileClient;
+import cn.ucloud.ufile.api.object.ObjectConfig;
+import cn.ucloud.ufile.auth.ObjectAuthorization;
+import cn.ucloud.ufile.auth.UfileObjectLocalAuthorization;
+import cn.ucloud.ufile.bean.PutObjectResultBean;
+import cn.ucloud.ufile.bean.base.BaseResponseBean;
+import cn.ucloud.ufile.exception.UfileClientException;
+import cn.ucloud.ufile.exception.UfileServerException;
+import cn.ucloud.ufile.http.OnProgressListener;
+import cn.ucloud.ufile.util.JLog;
+import cn.ucloud.ufile.util.MimeTypeUtil;
+import com.aliyun.oss.common.utils.IOUtils;
+import com.zskk.dicom.monitor.config.Configs;
+import com.zskk.dicom.monitor.report.ErrReporter;
+import com.zskk.dicom.monitor.utils.ExceptionUtil;
+import org.apache.commons.codec.digest.DigestUtils;
+import sun.security.krb5.Config;
+
+import java.io.*;
+import java.net.HttpURLConnection;
+import java.net.URL;
+
+public class LCOSSFileAndCallbackHleper {
+	private static final String PUBLIC_KEY = "TOKEN_29e194bf-beff-4155-a205-daf0feddcf65";
+	private static final String PRIVATE_KEY = "61e2695b-42a0-4190-a460-a2031325b9d2";
+	private static final ObjectAuthorization OBJECT_AUTHORIZER = new UfileObjectLocalAuthorization(PUBLIC_KEY, PRIVATE_KEY);
+	private static final String REGION = "cn-inspur2";
+	private static final String PORXY_SUFFIX = "ufileos.com";
+	private static final String CUSTOM_HOST = "zskkdcm.infile.inspurcloud.cn";
+	public static boolean upload(File file) {
+		ObjectConfig config = new ObjectConfig(REGION, PORXY_SUFFIX);
+		config.setCustomHost(CUSTOM_HOST);
+		FileInputStream fis = null;
+		String md5 = null;
+		String fileName = null;
+		long length = -1;
+		Exception error = null;
+		try {
+			fis = new FileInputStream(file);
+			md5 = DigestUtils.md5Hex(IOUtils.readStreamAsByteArray(fis));
+			fileName = Configs.hospitalId+ File.separator + md5;
+			length = file.length();
+			fis.close();
+			Configs.sysLog.info("md5" + md5);
+			BaseResponseBean response = UfileClient.object(OBJECT_AUTHORIZER, config)
+                    .putObject(file, MimeTypeUtil.getMimeType(file))
+//					.uploadHit(file)
+                    .nameAs(fileName)
+//			AQAAABLwJkfGDV2WF3ExBszdf6Pg0FyW
+//			AQAAABLwJkfGDV2WF3ExBszdf6Pg0FyW
+                    .toBucket("zskkdcm")
+                    /**
+                     * 是否上传校验MD5, Default = true
+                     */
+                    //  .withVerifyMd5(false)
+                    /**
+                     * 指定progress callback的间隔, Default = 每秒回调
+                     */
+                    //  .withProgressConfig(ProgressConfig.callbackWithPercent(10))
+                    /**
+                     * 配置进度监听
+                     */
+//                    .setOnProgressListener(new OnProgressListener() {
+//                        @Override
+//                        public void onProgress(long bytesWritten, long contentLength) {
+//							Configs.sysLog.debug("上传文件进度" + bytesWritten + ":" + contentLength);
+//                        }
+//                    })
+                    .execute();
+			Configs.sysLog.info("UploadHitSample" + String.format("[res] = %s", (response == null ? "null" : response.toString())));
+			if(response == null || !response.toString().contains("ETag")) {
+				Configs.sysLog.info("ETag is null");
+				return false;
+			}
+			URL url = new URL(Configs.lcossCallbackUrl);
+			HttpURLConnection connection = (HttpURLConnection) url.openConnection();
+			connection.setRequestMethod("POST");
+			connection.setDoOutput(true);
+			connection.setDoInput(true);
+			connection.setUseCaches(false);
+			connection.connect();
+			String body = "md5="+md5+"&url="+fileName+ "&hospitalId=" + Configs.hospitalId + "&size=" + length +"&response="+ response.toString();
+			BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(connection.getOutputStream(), "UTF-8"));
+			writer.write(body);
+			writer.close();
+
+			int responseCode = connection.getResponseCode();
+			if(responseCode == HttpURLConnection.HTTP_OK){
+				StringBuilder strBuf = new StringBuilder();
+				BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
+				try {
+					String line = null;
+					while ((line = reader.readLine()) != null) {
+						strBuf.append(line).append("\n");
+					}
+				} finally {
+					reader.close();
+				}
+				String rs = strBuf.toString();
+				Configs.sysLog.info("rs" + rs);
+				if(rs.contains("true")) {
+					return true;
+				}
+			}
+		} catch(Exception e) {
+			error = e;
+		}
+//		catch (UfileClientException e) {
+//			Configs.sysLog.debug("UfileClientException" + e.getMessage());
+//			e.printStackTrace();
+//			return false;
+//		} catch (UfileServerException e) {
+//			Configs.sysLog.debug("UfileServerException" + e.getMessage());
+//			e.printStackTrace();
+//			return false;
+//		} catch (IOException e) {
+////			ErrReporter.report(ExceptionUtil.getExceptionTxt(e));
+//			Configs.sysLog.info("IOException" + e.getMessage());
+//			e.printStackTrace();
+//			return false;
+//		} catch (Exception e) {
+////			ErrReporter.report(ExceptionUtil.getExceptionTxt(e));
+//			Configs.sysLog.info("Exception" + e.getMessage());
+//			e.printStackTrace();
+//			return false;
+//		}
+		if(error != null) {
+			Configs.sysLog.error("Exception" + error.getMessage());
+			error.printStackTrace();
+			return false;
+		}
+		return true;
+	}
+}

+ 1 - 1
src/main/resources/application.properties

@@ -1,5 +1,5 @@
 server.port=80
 spring.resources.chain.cache=false
-logging.file=/Users/fuyu/Desktop/dicomTest/logs
+logging.file=/data/ZSKK_DicomServer/Release/DICOM_LOG
 
 

+ 15 - 13
src/main/resources/project.properties

@@ -1,21 +1,21 @@
-monitor.monitorDir=/Users/fuyu/Desktop/dicomTest/src
-monitor.monitorBackDir=/Users/fuyu/Desktop/dicomTest/bck
-monitor.monitorRetryDir=/Users/fuyu/Desktop/dicomTest/retry
-monitor.errorDir=/Users/fuyu/Desktop/dicomTest/err
-monitor.hospitalId=test_fuyu
+monitor.monitorDir=/data/ZSKK_DicomServer/Release/DICOM
+monitor.monitorBackDir=/data/ZSKK_DicomServer/Release/DICOM_BCK
+monitor.monitorRetryDir=/data/ZSKK_DicomServer/Release/DICOM_RETRY
+monitor.errorDir=/data/ZSKK_DicomServer/Release/DICOM_ERR
+monitor.hospitalId=73090006
 #monitor.monitorDir=/Users/fuyu/Desktop/zzp/test/src
 #monitor.monitorBackDir=/Users/fuyu/Desktop/zzp/test/target
 #monitor.monitorRetryDir=/Users/fuyu/Desktop/zzp/test/retry
 #monitor.errorDir=/Users/fuyu/Desktop/zzp/test/error
 #monitor.hospitalId=test_zzp
-monitor.pool.successPoolsLength=2
+monitor.pool.successPoolsLength=4
 monitor.pool.oldRetryPoolsLength=2
-monitor.pool.currentUploadPoolsLength=4
-monitor.pool.oldUploadPoolsLength=4
-monitor.logDir=/Users/fuyu/Desktop/dicomTest/log
-monitor.archiveWay=lcoss
-monitor.postHost=api.pacsonline.cn
-monitor.postPort=80
+monitor.pool.currentUploadPoolsLength=16
+monitor.pool.oldUploadPoolsLength=32
+#monitor.logDir=/data/ZSKK_DicomServer/Release/DICOM_LOG
+monitor.archiveWay=fastdfs
+monitor.postHost=117.156.67.61
+monitor.postPort=9601
 monitor.postUri=/upload
 monitor.errReportTitle=dicome-error-report
 monitor.errReportTimeInterval=60
@@ -27,4 +27,6 @@ monitor.oss.region=oss-cn-beijing
 monitor.oss.endpoint=oss-cn-beijing.aliyuncs.com
 monitor.oss.scheme=dicomweb
 monitor.oss.bucket=zskk-dcm
-monitor.oss.callback_url=http://api.aliyuoss.callback.pacsonline.cn/oss_callback
+monitor.oss.callback_url=http://api.aliyuoss.callback.pacsonline.cn/oss_callback
+monitor.oss.lcossCallbackUrl=http://lsoss.callback.pacsonline.cn/callback/lc
+#monitor.oss.lcossCallbackUrl=http://127.0.0.1:12321/callback/lc