Эх сурвалжийг харах

Merge branch 'wheng' of wuheng/eas-system into master

wuheng 1 жил өмнө
parent
commit
eb6e70bf12

+ 33 - 17
common/src/main/java/com/koobietech/eas/common/utils/FileManager.java

@@ -57,6 +57,7 @@ public class FileManager {
      * @param newPath 目标文件夹路径
      * @param newPath 目标文件夹路径
      */
      */
     public boolean moveFolder(String oldPath, String newPath) {
     public boolean moveFolder(String oldPath, String newPath) {
+        boolean result = true;
         File sourceFolder = new File(oldPath);
         File sourceFolder = new File(oldPath);
         //把源文件转移到目标文件夹下
         //把源文件转移到目标文件夹下
         File targetFolder = new File(newPath, sourceFolder.getName());
         File targetFolder = new File(newPath, sourceFolder.getName());
@@ -65,36 +66,52 @@ public class FileManager {
         }
         }
         if (sourceFolder.isDirectory()) {
         if (sourceFolder.isDirectory()) {
             if (!targetFolder.exists()) {
             if (!targetFolder.exists()) {
-                targetFolder.mkdir();
+                result = targetFolder.mkdir();
             }
             }
             File[] files = sourceFolder.listFiles();
             File[] files = sourceFolder.listFiles();
             if (files != null) {
             if (files != null) {
                 for (File file : files) {
                 for (File file : files) {
                     if ( file.isFile() ) {
                     if ( file.isFile() ) {
                         FileChannel sourceChannel = null;
                         FileChannel sourceChannel = null;
+                        FileInputStream fileInputStream = null;
+                        FileOutputStream fileOutputStream = null;
                         FileChannel destChannel = null;
                         FileChannel destChannel = null;
                         try {
                         try {
-                            sourceChannel = new FileInputStream(file).getChannel();
-                            destChannel = new FileOutputStream(new File(targetFolder.getPath(), file.getName())).getChannel();
+                            fileInputStream = new FileInputStream(file);
+                            fileOutputStream = new FileOutputStream(new File(targetFolder.getPath(), file.getName()));
+                            sourceChannel = fileInputStream.getChannel();
+                            destChannel = fileOutputStream.getChannel();
                             destChannel.transferFrom(sourceChannel, 0, sourceChannel.size());
                             destChannel.transferFrom(sourceChannel, 0, sourceChannel.size());
                             sourceChannel.close();
                             sourceChannel.close();
-                            file.delete();
-                        } catch (IOException e) {}finally {
+                            result = file.delete();
+                        } catch (IOException e) {
+                            result = false;
+                        }finally {
                             try {
                             try {
-                                if (Objects.nonNull(sourceChannel))
+                                if (Objects.nonNull(sourceChannel)) {
                                     sourceChannel.close();
                                     sourceChannel.close();
-                                if (Objects.nonNull(destChannel))
+                                }
+                                if (Objects.nonNull(destChannel)) {
                                     destChannel.close();
                                     destChannel.close();
-                            } catch (IOException e) {}
+                                }
+                                if (Objects.nonNull(fileInputStream)) {
+                                    fileInputStream.close();
+                                }
+                                if (Objects.nonNull(fileOutputStream)) {
+                                    fileOutputStream.close();
+                                }
+                            } catch (IOException e) {
+                                result = false;
+                            }
                         }
                         }
                     } else {
                     } else {
                         moveFolder(file.getPath(), new File(targetFolder.getPath(), file.getName()).getPath());
                         moveFolder(file.getPath(), new File(targetFolder.getPath(), file.getName()).getPath());
                     }
                     }
                 }
                 }
             }
             }
-            sourceFolder.delete();
+            result = sourceFolder.delete();
         }
         }
-        return true;
+        return result;
     }
     }
 
 
     /**
     /**
@@ -156,23 +173,22 @@ public class FileManager {
      * @return
      * @return
      */
      */
     public boolean deleteFolder(String folderPath){
     public boolean deleteFolder(String folderPath){
+        boolean ret = true;
         File fileFolder = new File(folderPath);
         File fileFolder = new File(folderPath);
         if ( fileFolder != null && fileFolder.exists() ){
         if ( fileFolder != null && fileFolder.exists() ){
             if ( fileFolder.isDirectory() ){
             if ( fileFolder.isDirectory() ){
                 File[] files = fileFolder.listFiles();
                 File[] files = fileFolder.listFiles();
                 for (File file : files) {
                 for (File file : files) {
                     if ( file.isDirectory() ){
                     if ( file.isDirectory() ){
-                        deleteFolder(file.getAbsolutePath());
+                        ret = deleteFolder(file.getAbsolutePath());
                     } else {
                     } else {
-                        file.delete();
+                        ret = file.delete();
                     }
                     }
                 }
                 }
             }
             }
-            fileFolder.delete();
-        } else {
-            return false;
+            ret = fileFolder.delete();
         }
         }
-        return true;
+        return ret;
     }
     }
 
 
 
 
@@ -333,7 +349,7 @@ public class FileManager {
             if (replaceFile) {
             if (replaceFile) {
                 Files.move(srcFile, destFile, StandardCopyOption.REPLACE_EXISTING);
                 Files.move(srcFile, destFile, StandardCopyOption.REPLACE_EXISTING);
             } else {
             } else {
-                Files.move(srcFile, destFile, StandardCopyOption.REPLACE_EXISTING);
+                Files.move(srcFile, destFile, StandardCopyOption.COPY_ATTRIBUTES);
             }
             }
         } catch (IOException e) {
         } catch (IOException e) {
             return false;
             return false;

+ 4 - 1
controller/src/main/java/com/koobietech/eas/controller/EasArcTlsScoresController.java

@@ -17,6 +17,7 @@ import javax.annotation.Resource;
 import java.io.IOException;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStream;
 import java.util.List;
 import java.util.List;
+import java.util.Objects;
 
 
 @RestController
 @RestController
 @Tag(name = "成绩控制器")
 @Tag(name = "成绩控制器")
@@ -93,7 +94,9 @@ public class EasArcTlsScoresController {
             aBoolean = false;
             aBoolean = false;
         } finally {
         } finally {
             try {
             try {
-                inputStream.close();
+                if (Objects.nonNull(inputStream) ) {
+                    inputStream.close();
+                }
             } catch (IOException e) {}
             } catch (IOException e) {}
         }
         }
         if (aBoolean == true){
         if (aBoolean == true){

+ 2 - 2
service/src/main/java/com/koobietech/eas/service/impl/EasArcTlsScoresServiceImpl.java

@@ -139,8 +139,8 @@ public class EasArcTlsScoresServiceImpl implements EasArcTlsScoresService {
                     inputStream, EasArcTlsScoresPojo.class, params);
                     inputStream, EasArcTlsScoresPojo.class, params);
             EasArcTlsScores easArcTlsScores = null;
             EasArcTlsScores easArcTlsScores = null;
             for ( EasArcTlsScoresPojo easArcTlsScoresPojo : score) {
             for ( EasArcTlsScoresPojo easArcTlsScoresPojo : score) {
-                if ( easArcTlsScoresPojo.getScore() == null
-                        || easArcTlsScoresPojo.getScore().equals("") ) {
+                if ( Objects.isNull(easArcTlsScoresPojo.getStudentNumber())
+                        || !StringUtils.hasText(easArcTlsScoresPojo.getStudentNumber()) ) {
                     continue;
                     continue;
                 }
                 }
                 easArcTlsScoresPojo.setCreateTime(new Date());
                 easArcTlsScoresPojo.setCreateTime(new Date());

+ 17 - 4
service/src/main/java/com/koobietech/eas/service/impl/EasArchiveFileDownloadServiceImpl.java

@@ -16,6 +16,7 @@ import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.io.OutputStream;
+import java.util.Objects;
 
 
 @Service
 @Service
 public class EasArchiveFileDownloadServiceImpl implements EasArchiveFileDownloadService {
 public class EasArchiveFileDownloadServiceImpl implements EasArchiveFileDownloadService {
@@ -86,9 +87,11 @@ public class EasArchiveFileDownloadServiceImpl implements EasArchiveFileDownload
         } else {
         } else {
             throw new EasException("文件类型未知", 4000);
             throw new EasException("文件类型未知", 4000);
         }
         }
-
-        try (OutputStream outputStream = response.getOutputStream();
-             FileInputStream fileInputStream = new FileInputStream(filePath)) {
+        OutputStream outputStream = null;
+        FileInputStream fileInputStream = null;
+        try {
+            outputStream = response.getOutputStream();
+            fileInputStream = new FileInputStream(filePath);
             byte[] buffer = new byte[1024];
             byte[] buffer = new byte[1024];
             int bytesRead;
             int bytesRead;
             while ((bytesRead = fileInputStream.read(buffer)) != -1) {
             while ((bytesRead = fileInputStream.read(buffer)) != -1) {
@@ -97,8 +100,18 @@ public class EasArchiveFileDownloadServiceImpl implements EasArchiveFileDownload
             outputStream.flush();
             outputStream.flush();
         } catch (IOException e) {
         } catch (IOException e) {
             throw new EasException("文件传输失败", 4001);
             throw new EasException("文件传输失败", 4001);
+        } finally {
+            try {
+                if (Objects.nonNull(outputStream)) {
+                    outputStream.close();
+                }
+                if (Objects.nonNull(fileInputStream)) {
+                    fileInputStream.close();
+                }
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
         }
         }
-
         return true;
         return true;
     }
     }