Sfoglia il codice sorgente

线下版本-新需求、bug-20201016

xiaof 4 anni fa
parent
commit
7f4afb2409

+ 11 - 1
stmms-ms-admin/src/main/java/cn/com/qmth/stmms/ms/admin/api/WorkApi.java

@@ -12,8 +12,11 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Sort;
 import org.springframework.data.domain.Sort;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 
 
+import java.util.Comparator;
 import java.util.Date;
 import java.util.Date;
 import java.util.List;
 import java.util.List;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.stream.Collectors;
 
 
 /**
 /**
  * 评卷工作api
  * 评卷工作api
@@ -101,7 +104,14 @@ public class WorkApi {
         if(count > 0){
         if(count > 0){
             throw new RuntimeException("档位参数只能采集阶段修改");
             throw new RuntimeException("档位参数只能采集阶段修改");
         }
         }
-
+        //根据A~Z排序后,重新设置levelValue
+        List<Level> levels = work.getLevels();
+        AtomicInteger ai = new AtomicInteger(0);
+        levels.stream().sorted(Comparator.comparing(Level::getCode)).map(l->{
+            l.setLevelValue(ai.getAndIncrement());
+            return l;
+        }).collect(Collectors.toList());
+        work.setLevels(levels);
         work.setCreatedOn(new Date());
         work.setCreatedOn(new Date());
         return workRepo.save(work);
         return workRepo.save(work);
     }
     }

+ 23 - 6
stmms-ms-collect/src/main/java/cn/com/qmth/stmms/ms/collect/util/RotateTask.java

@@ -220,12 +220,21 @@ public class RotateTask implements Runnable {
                             thumbFile.renameTo(new File(thumbNew));
                             thumbFile.renameTo(new File(thumbNew));
                             LOGGER.info("生成缩略图:原文件名{},重命名为新文件名结束,开始旋转", fileName);
                             LOGGER.info("生成缩略图:原文件名{},重命名为新文件名结束,开始旋转", fileName);
                             InputStream is = new FileInputStream(thumbNew);
                             InputStream is = new FileInputStream(thumbNew);
-                            ImageCompression.rotate(new File(thumbNew), new File(thumbPath), degree);
+                            try {
+                                ImageCompression.rotate(new File(thumbNew), new File(thumbPath), degree);
+                            } catch (IOException e) {
+                                //旋转失败,还原图片
+                                LOGGER.info("生成缩略图:失败。原文件名{},还原开始", fileName);
+                                new File(thumbNew).renameTo(thumbFile);
+                                LOGGER.info("生成缩略图:失败。原文件名{},还原结束", fileName);
+                            } finally {
+                                is.close();
+                            }
                             LOGGER.info("生成缩略图:原文件名{},旋转结束", fileName);
                             LOGGER.info("生成缩略图:原文件名{},旋转结束", fileName);
-                            is.close();
+
                         }
                         }
 
 
-                        if (!thumbFile.exists()) {
+                        if (!thumbFile.exists() || thumbFile.length() == 0) {
                             LOGGER.info("生成缩略图:原文件名{},目标文件丢失,还原图片开始", fileName);
                             LOGGER.info("生成缩略图:原文件名{},目标文件丢失,还原图片开始", fileName);
                             new File(thumbNew).renameTo(thumbFile);
                             new File(thumbNew).renameTo(thumbFile);
                             LOGGER.info("生成缩略图:原文件名{},目标文件丢失,还原图片结束", fileName);
                             LOGGER.info("生成缩略图:原文件名{},目标文件丢失,还原图片结束", fileName);
@@ -241,11 +250,19 @@ public class RotateTask implements Runnable {
                             imageFile.renameTo(new File(imageNew));
                             imageFile.renameTo(new File(imageNew));
                             LOGGER.info("生成裁切图:原文件名{},重命名为新文件名结束,开始旋转", fileName);
                             LOGGER.info("生成裁切图:原文件名{},重命名为新文件名结束,开始旋转", fileName);
                             InputStream is = new FileInputStream(imageNew);
                             InputStream is = new FileInputStream(imageNew);
-                            ImageCompression.rotate(new File(imageNew), new File(imagePath), degree);
+                            try {
+                                ImageCompression.rotate(new File(imageNew), new File(imagePath), degree);
+                            } catch (IOException e) {
+                                //旋转失败,还原图片
+                                LOGGER.info("生成裁切图:失败。原文件名{},还原开始", fileName);
+                                new File(imageNew).renameTo(imageFile);
+                                LOGGER.info("生成裁切图:失败。原文件名{},还原结束", fileName);
+                            } finally {
+                                is.close();
+                            }
                             LOGGER.info("生成裁切图:原文件名{},旋转结束", fileName);
                             LOGGER.info("生成裁切图:原文件名{},旋转结束", fileName);
-                            is.close();
                         }
                         }
-                        if (!imageFile.exists()) {
+                        if (!imageFile.exists() || imageFile.length() == 0) {
                             LOGGER.info("生成裁切图:原文件名{},目标文件丢失,还原图片开始", fileName);
                             LOGGER.info("生成裁切图:原文件名{},目标文件丢失,还原图片开始", fileName);
                             new File(imageNew).renameTo(imageFile);
                             new File(imageNew).renameTo(imageFile);
                             LOGGER.info("生成裁切图:原文件名{},目标文件丢失,还原图片结束", fileName);
                             LOGGER.info("生成裁切图:原文件名{},目标文件丢失,还原图片结束", fileName);

+ 1 - 1
stmms-ms-main/src/main/resources/application-dev.properties

@@ -75,7 +75,7 @@ sys.config.compression.percent=60
 #sys.config.imageServer.port=3000
 #sys.config.imageServer.port=3000
 sys.config.imageServer.port=9000
 sys.config.imageServer.port=9000
 sys.config.imageServer.ip=localhost
 sys.config.imageServer.ip=localhost
-sys.config.imageServer.aliyunOss=true
+sys.config.imageServer.aliyunOss=false
 sys.config.imageServer.dir=ms-test
 sys.config.imageServer.dir=ms-test
 
 
 #\u6253\u5206\u9636\u6BB5\u914D\u7F6E\u662F\u5426\u542F\u7528(\u4E3Afalse\u5219\u4E0D\u542F\u7528\u6253\u5206\u9636\u6BB5\u5206\u6863)
 #\u6253\u5206\u9636\u6BB5\u914D\u7F6E\u662F\u5426\u542F\u7528(\u4E3Afalse\u5219\u4E0D\u542F\u7528\u6253\u5206\u9636\u6BB5\u5206\u6863)