Przeglądaj źródła

添加了所有模块的状态码

wuweihao 5 lat temu
rodzic
commit
d2c1636670

+ 6 - 33
src/main/java/com/fd/controller/RasterController.java

@@ -52,7 +52,7 @@ public class RasterController {
             return new R(50008,MsgCode.E50008);
         }
 
-        return fileServer.uploadBigFile(file, TypeCode.FILE_TYPE_RASTER);
+        return fileServer.uploadRasterBigFile(file, TypeCode.FILE_TYPE_RASTER);
     }
 
     @ApiOperation("获取栅格数据列表")
@@ -122,6 +122,8 @@ public class RasterController {
         fileEntity.setCreateTime(new Date());
         fileEntity.setUpdateTime(new Date());
         fileEntity.setType(TypeCode.FILE_TYPE_RASTER);
+        fileEntity.setStatus(5);
+
         fileEntity = fileServer.save(fileEntity);
 
         // 多线程运行切片
@@ -148,15 +150,10 @@ public class RasterController {
             Integer integer = cmdServer.exeCmdRasterSlice(cmd, entity);
             if (integer != 0) {
                 log.info("error command exeCmdRasterSlice");
-//                return new R(50005, MsgCode.E50005);
                 // 如果命令运行失败,删除刚才创建的实体类
                 fileServer.deleteById(entity.getId());
                 return;
             }
-//            // 需要告诉前端,当状态为1是,才是可以的
-//            entity.setStatus(1);
-//            fileServer.save(entity);
-
             log.warn("end RasterSliceThread");
         }
     }
@@ -175,7 +172,7 @@ public class RasterController {
         log.info("run cmdTansformGdalwarpStrict: {}", fileId);
         FileEntity entity = fileServer.findById(fileId);
 
-        String fileName = StringUtils.substringBefore(entity.getFileName(), ".");
+        String fileName = StringUtils.substringBeforeLast(entity.getFileName(), ".");
 
         String step_1 = Command.RASTER_TRANSFORM_GDALWARP_STRICT_1;
         String step_2 = Command.RASTER_TRANSFORM_GDALWARP_STRICT_2;
@@ -189,43 +186,19 @@ public class RasterController {
         if (integer != 0) {
             log.info("error command transform");
             return null;
-//            return new R(50005, MsgCode.E50005);
         }
 
         FileEntity fileEntity = new FileEntity();
         fileEntity.setFileName(entity.getFileName());
-        // /root/gis/cesium/input/transform_strict/@fileName.tif
         fileEntity.setFileUrl(INPUT_FILE_PATH + "transform_strict" + File.separator + entity.getFileName());
         fileEntity.setCreateTime(new Date());
         fileEntity.setUpdateTime(new Date());
         fileEntity.setType(TypeCode.FILE_TYPE_RASTER);
+        fileEntity.setStatus(4);
+
         fileEntity = fileServer.save(fileEntity);
 
         return fileEntity;
     }
 
-
-    public static void main(String[] args) {
-        String a = "0...10...20...30...40...50...60...70...80...90...100.....10..11";
-        String b = "...10";
-        String c = "...10...20";
-        String d = "...10...100";
-        String re = "\\.\\.\\.";
-        String r1 = "...";
-//        String s = a.replaceAll(re, "@");
-        String rr = "\\.\\.\\.[0-9]{2,3}";
-        System.out.println("b: " + b.matches(rr));
-        System.out.println("c: " + c.matches(rr));
-
-        System.out.println("c: " + StringUtils.substring(c, -2));
-        System.out.println("d: " + StringUtils.substring(d, -2));
-
-        System.out.println("a: " + StringUtils.contains(a, "..."));
-
-        System.out.println("d: " + StringUtils.substring(d, -6));
-        System.out.println("c: " + StringUtils.substring(c, -6));
-
-        System.out.println("a: " + a.matches(r1));
-
-    }
 }

+ 9 - 0
src/main/java/com/fd/controller/VectorController.java

@@ -108,6 +108,8 @@ public class VectorController {
         fileEntity.setUpdateTime(new Date());
         fileEntity.setType(TypeCode.FILE_TYPE_VECTOR);
         fileEntity.setCoord(entity.getCoord());
+        fileEntity.setStatus(2);
+
         fileEntity = fileServer.save(fileEntity);
 
         // xxx.shp到数据库
@@ -231,6 +233,8 @@ public class VectorController {
         fileEntity.setCreateTime(new Date());
         fileEntity.setUpdateTime(new Date());
         fileEntity.setType(TypeCode.FILE_TYPE_VECTOR);
+        fileEntity.setStatus(4);
+
         fileEntity = fileServer.save(fileEntity);
 
         return new R(200, fileEntity);
@@ -263,6 +267,8 @@ public class VectorController {
         fileEntity.setCreateTime(new Date());
         fileEntity.setUpdateTime(new Date());
         fileEntity.setType(TypeCode.FILE_TYPE_VECTOR);
+        fileEntity.setStatus(5);
+
         fileEntity = fileServer.save(fileEntity);
 
         return new R(200, fileEntity);
@@ -318,7 +324,10 @@ public class VectorController {
         fileEntity.setCreateTime(new Date());
         fileEntity.setUpdateTime(new Date());
         fileEntity.setType(TypeCode.FILE_TYPE_VECTOR);
+        fileEntity.setStatus(3);
+
         fileEntity = fileServer.save(fileEntity);
+
         return fileEntity;
 
     }

+ 2 - 0
src/main/java/com/fd/server/FileServer.java

@@ -29,4 +29,6 @@ public interface FileServer {
     FileEntity findById(Long fileId);
 
     FileEntity save(FileEntity entity);
+
+    R uploadRasterBigFile(MultipartFile file, String type);
 }

+ 46 - 0
src/main/java/com/fd/server/impl/FileServerImpl.java

@@ -86,6 +86,52 @@ public class FileServerImpl implements FileServer {
         return new R(200, entity);
     }
 
+
+    @Override
+    public R uploadRasterBigFile(MultipartFile file, String type) {
+        log.warn("run uploadBigFile");
+        long start = System.currentTimeMillis();
+        if (file.isEmpty() || file.getSize() <= 0) {
+            log.info("文件为空");
+            return new R(50001, MsgCode.E50001);
+        }
+
+        // 文件名全名
+        String fullFileName = file.getOriginalFilename();
+
+        // 创建目录路径
+        FileUtils.createDir(INPUT_FILE_PATH);
+
+        // 拼接唯一文件名
+        long timeMillis = System.currentTimeMillis();
+//        String fileName = timeMillis + "_" + fullFileName;
+        String fileName = fullFileName;
+
+        // 文件保存路径
+        String filePath = INPUT_FILE_PATH + fileName;
+
+        // 写文件到本地
+        try {
+            FileUtils.bigFileWrite(file.getInputStream(), filePath);
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        log.info("filePath: {}", filePath);
+
+        // 保存信息到db
+        FileEntity entity = new FileEntity();
+        entity.setFileName(fileName);
+        entity.setFileUrl(filePath);
+        entity.setCreateTime(new Date());
+        entity.setUpdateTime(new Date());
+        entity.setType(type);
+        entity.setStatus(2);
+        fileRepository.save(entity);
+        long end = System.currentTimeMillis();
+        log.info("end uploadBigFile, total time: {} s", (end - start)/1000);
+        return new R(200, entity);
+    }
+
     @Override
     public R uploadFile(MultipartFile file, String directoryName, String type) {
         if (file.isEmpty() || file.getSize() <= 0) {

+ 1 - 0
src/main/java/com/fd/server/impl/VectorServerImpl.java

@@ -71,6 +71,7 @@ public class VectorServerImpl implements VectorServer {
         entity.setUpdateTime(new Date());
         entity.setType(TypeCode.FILE_TYPE_VECTOR);
         entity.setCoord(coord);
+        entity.setStatus(1);
         fileRepository.save(entity);
 
         log.info("end uploadFile");

+ 1 - 1
src/main/java/com/fd/util/FileUtils.java

@@ -300,7 +300,7 @@ public class FileUtils {
                 ZipEntry entry = (ZipEntry) entries.nextElement();
 
 
-                log.info("解压: " + entry.getName());
+//                log.info("解压: " + entry.getName());
 
                 // 如果是文件夹,就创建个文件夹