Parcourir la source

1.modelController 添加进度查询接口
2.删除了废弃的类文件

wuweihao il y a 5 ans
Parent
commit
06f03615a3

+ 5 - 0
src/main/java/com/fd/constant/TypeCode.java

@@ -11,7 +11,12 @@ public class TypeCode {
 
     public static final String FILE_TYPE_MODEL_TILE = "tile"; // 瓦片
 
+    public static final String SCHEDULE_TYPE_MODEL_VTS = "vts"; // 进度表类型
+
+    public static final String SCHEDULE_TYPE_MODEL_SLPK = "slpk"; // 进度表类型
+
     public static final String FILE_TYPE_VECTOR = "vector";
 
     public static final String FILE_TYPE_VECTOR_GEOJSON = "geojson";
+
 }

+ 23 - 11
src/main/java/com/fd/controller/VtsModelController.java

@@ -6,10 +6,11 @@ import com.fd.constant.ErrorCode;
 import com.fd.constant.TypeCode;
 import com.fd.entity.FileEntity;
 import com.fd.entity.GenerateFileEntity;
+import com.fd.entity.ScheduleEntity;
 import com.fd.repository.FileRepository;
 import com.fd.repository.GenerateFileRepository;
 import com.fd.repository.ScheduleRepository;
-import com.fd.result.ResponseResult;
+import com.fd.util.ResponseResult;
 import com.fd.server.CmdServer;
 import com.fd.server.FileServer;
 import com.fd.server.JsonServer;
@@ -30,8 +31,9 @@ import java.util.concurrent.atomic.AtomicBoolean;
 /**
  * Created by Owen on 2019/11/7 0007 10:19
  * 3D Model
+ *
+ * 时间很长的命令才需要多前程运行,其他命令不使用
  */
-//@CrossOrigin(maxAge = 3600)
 @Log4j2
 @RestController
 @RequestMapping("api/vts/model")
@@ -93,9 +95,8 @@ public class VtsModelController {
     /**
      * 可能运行1s -- 12h
      * 需要记录进度
-     * 可能需要多前程运行
+     * 需要多前程运行
      *
-     * 已移动
      */
     @ApiOperation("commandSlpk2vts")
     @GetMapping("/command/slpk2vts/{fileId}/")
@@ -152,18 +153,13 @@ public class VtsModelController {
             String fileName = fileEntity.getFileName();
             fileName = fileName.substring(0, fileName.lastIndexOf("."));
             String fileUrl = cmd.substring(cmd.indexOf("--output") + 9, cmd.indexOf("--tilesetId") - 1);
-//            GenerateFileEntity entity = generateFileRepository.findByFileId(fileId);
-//            if (entity == null) {
-//                entity = new GenerateFileEntity();
-//            }
+
             FileEntity entity = new FileEntity();
-//            entity.setFileId(fileId);
             entity.setFileName(fileName);
             entity.setFileUrl(fileUrl);
             entity.setCreateTime(new Date());
             entity.setUpdateTime(new Date());
             entity.setType(TypeCode.FILE_TYPE_MODEL_TILE);
-//            generateFileRepository.save(entity);
             fileRepository.save(entity);
             // 表示执行完成,释放锁
             existsSlpk2vts.set(false);
@@ -175,7 +171,7 @@ public class VtsModelController {
     /**
      * 可能运行1s -- 12h
      * 需要记录进度
-     * 可能需要多前程运行
+     * 需要多前程运行
      */
     @ApiOperation("commandVts")
     @GetMapping("/command/vts/{fileId}/")
@@ -292,6 +288,22 @@ public class VtsModelController {
     }
 
 
+    /**
+     * 查询命令处理进度
+     * @param fileId 上传文件的id
+     * @param type 执行命令的类型
+     * @return
+     */
+    @ApiOperation("query progress bar; type: vts / slpk")
+    @GetMapping("progress/{fileId}/{type}/")
+    private ResponseResult queryProgress(@PathVariable("fileId") Long fileId, @PathVariable("type") String type){
+        log.info("run queryProgress");
+        log.info("fileId: {} , type: {}", fileId, type);
+        ScheduleEntity results = scheduleRepository.findByFileIdAndType(fileId, type);
+        return new ResponseResult(200, results);
+    }
+
+
 
 
 

+ 2 - 8
src/main/java/com/fd/controller/VtsVectorController.java

@@ -5,11 +5,10 @@ import com.fd.constant.CommandMsg;
 import com.fd.constant.ErrorCode;
 import com.fd.constant.TypeCode;
 import com.fd.entity.FileEntity;
-import com.fd.entity.GenerateFileEntity;
 import com.fd.repository.FileRepository;
 import com.fd.repository.GenerateFileRepository;
 import com.fd.repository.ScheduleRepository;
-import com.fd.result.ResponseResult;
+import com.fd.util.ResponseResult;
 import com.fd.server.CmdServer;
 import com.fd.server.FileServer;
 import com.fd.server.JsonServer;
@@ -77,7 +76,6 @@ public class VtsVectorController {
      * 需要创建目录
      * 不支持大文件上传
      *
-     * 已移动
      * @return
      */
     @ApiOperation("upload Vector file")
@@ -117,10 +115,6 @@ public class VtsVectorController {
         String fileName = fileEntity.getFileName();
 
         // 把生成的文件信息写入数据库
-//        GenerateFileEntity geojson = generateFileRepository.findByFileId(fileId);
-//        if (geojson == null) {
-//            geojson = new GenerateFileEntity();
-//        }
         FileEntity geojson = new FileEntity();
         geojson.setFileName(fileName.replace(".shp",".geojson"));
         geojson.setFileUrl(fileUrl+".geojson");
@@ -128,7 +122,6 @@ public class VtsVectorController {
         geojson.setUpdateTime(new Date());
         geojson.setType(TypeCode.FILE_TYPE_VECTOR_GEOJSON);
         fileRepository.save(geojson);
-//        geojson = generateFileRepository.save(geojson);
 
         return new ResponseResult(200, geojson);
     }
@@ -169,4 +162,5 @@ public class VtsVectorController {
         log.info("run deleteFile: {}", fileId);
         return fileServer.deleteFileById(fileId);
     }
+
 }

+ 7 - 4
src/main/java/com/fd/entity/BaseEntity.java

@@ -2,6 +2,7 @@ package com.fd.entity;
 
 
 import com.alibaba.fastjson.annotation.JSONField;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import lombok.Data;
 
@@ -18,13 +19,15 @@ public class BaseEntity implements Serializable {
     @GeneratedValue(strategy = GenerationType.IDENTITY)
     private Long id;
 
-    @Temporal(TemporalType.TIMESTAMP)
-    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
+//    @Temporal(TemporalType.TIMESTAMP)
+//    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     @Column
     private Date createTime;
 
-    @Temporal(TemporalType.TIMESTAMP)
-    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
+//    @Temporal(TemporalType.TIMESTAMP)
+//    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     @Column
     private Date updateTime;
 

+ 0 - 46
src/main/java/com/fd/result/ResponseMessage.java

@@ -1,46 +0,0 @@
-package com.fd.result;
-
-
-
-public enum ResponseMessage {
-
-	/**
-	 * Success
-	 */
-	OK(200,"Success"),
-	
-	/**
-	 * Success
-	 */
-	NOCHANGE(200,"No changes have been made"),
-	
-	/**
-	 * Bad Request
-	 */
-	BAD_REQUEST(400,"Bad Request"),
-	
-	/**
-	 * Error Request
-	 */
-	NOTNULL_ID(400,"Request ID cannot be empty");
-	
-	
-	
-	private final int status;
-	
-	private final String message;
-	
-	ResponseMessage(int status, String message){
-		this.status = status;
-		this.message = message;
-	}
-	
-	public int getStatus() {
-		return status;
-	}
-
-	public String getMessage() {
-		return message;
-	}
-	
-}

+ 0 - 53
src/main/java/com/fd/result/ResultData.java

@@ -1,53 +0,0 @@
-
-package com.fd.result;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class ResultData<T> {
-	private ResponseMessage state;
-	private Object data;
-	private List<T> dataList;
-	
-
-	public ResultData(ResponseMessage state) {
-
-		this.state = state;
-	}
-
-	public ResultData(ResponseMessage state, Object data) {
-		this.data = data;
-		this.state = state;
-	}
-	
-	public ResultData(ResponseMessage state, long data, boolean isId){
-		this.state = state;
-		Map<String, Long> map = new HashMap<String, Long>();
-		map.put("id", data);
-		this.data = map;
-	}
-	
-	public ResultData(ResponseMessage state, long id){
-		this.state = state;
-		Map<String, Long> map = new HashMap<String, Long>();
-		map.put("id", id);
-		this.data = map;
-	}
-	
-	/**
-	 * @return the data
-	 */
-	public Object getData() {
-		return data;
-	}
-	
-	public ResponseMessage getState(){
-		return state;
-	}
-	
-	public List<T> getDataList(){
-		return dataList;
-	}
-
-}

+ 1 - 1
src/main/java/com/fd/server/FileServer.java

@@ -1,6 +1,6 @@
 package com.fd.server;
 
-import com.fd.result.ResponseResult;
+import com.fd.util.ResponseResult;
 import org.springframework.web.multipart.MultipartFile;
 
 /**

+ 3 - 7
src/main/java/com/fd/server/impl/CmdServerImpl.java

@@ -1,5 +1,6 @@
 package com.fd.server.impl;
 
+import com.fd.constant.TypeCode;
 import com.fd.entity.ScheduleEntity;
 import com.fd.repository.FileRepository;
 import com.fd.repository.ScheduleRepository;
@@ -186,8 +187,6 @@ public class CmdServerImpl implements CmdServer {
 
             String str = "";
 
-
-
             ArrayList<Object> arrayList = new ArrayList<>();
 
             double percent;
@@ -206,8 +205,7 @@ public class CmdServerImpl implements CmdServer {
                         schedule.setPercent(str);
                         schedule.setCreateTime(new Date());
                         schedule.setUpdateTime(new Date());
-                        schedule.setType("slpk");
-//                        schedule.setRecStatus("A");
+                        schedule.setType(TypeCode.SCHEDULE_TYPE_MODEL_SLPK);
                         count = count + 5;
                         schedule = scheduleRepository.save(schedule);
                         log.info("count 1: {}", count);
@@ -273,8 +271,6 @@ public class CmdServerImpl implements CmdServer {
 
             String str = "";
 
-
-
             ArrayList<Object> arrayList = new ArrayList<>();
 
             double percent;
@@ -293,7 +289,7 @@ public class CmdServerImpl implements CmdServer {
                         schedule.setPercent(str);
                         schedule.setCreateTime(new Date());
                         schedule.setUpdateTime(new Date());
-                        schedule.setType("vts");
+                        schedule.setType(TypeCode.SCHEDULE_TYPE_MODEL_VTS);
                         count = count + 5;
                         schedule = scheduleRepository.save(schedule);
                         log.info("count 1: {}", count);

+ 1 - 12
src/main/java/com/fd/server/impl/FileServerImpl.java

@@ -4,7 +4,7 @@ import com.fd.constant.ErrorCode;
 import com.fd.constant.TypeCode;
 import com.fd.entity.FileEntity;
 import com.fd.repository.FileRepository;
-import com.fd.result.ResponseResult;
+import com.fd.util.ResponseResult;
 import com.fd.server.FileServer;
 import com.fd.util.FileUtils;
 import lombok.extern.log4j.Log4j2;
@@ -140,17 +140,6 @@ public class FileServerImpl implements FileServer {
         return new ResponseResult(200, "success");
     }
 
-//    @Override
-//    public ResponseResult deleteDirectoryById(Long fileId) {
-//        // 删除服务器文件
-//        Optional<FileEntity> e = fileRepository.findById(fileId);
-//        if (!e.isPresent()) {
-//            return new ResponseResult(50002, ErrorCode.E50002);
-//        }
-//        FileEntity fileEntity = e.get();
-//
-//        return null;
-//    }
 
     public static void main(String[] args) {
         String a = "aaa.bb";

+ 0 - 61
src/main/java/com/fd/server/impl/PercentThread.java

@@ -1,61 +0,0 @@
-package com.fd.server.impl;
-
-import com.fd.entity.ScheduleEntity;
-import com.fd.repository.FileRepository;
-import com.fd.repository.ScheduleRepository;
-
-import java.util.Date;
-
-/**
- * Created by Owen on 2019/11/5 0005 9:32
- *
- * 记录进度多线程
- */
-public class PercentThread implements Runnable {
-
-    private Long id;
-
-    private boolean isRunning;
-
-    private String percent;
-
-    private FileRepository fileRepository;
-
-    private ScheduleRepository scheduleRepository;
-
-    public PercentThread(Long id, boolean isRunning, String percent, FileRepository fileRepository, ScheduleRepository scheduleRepository){
-        this.id = id;
-        this.isRunning = isRunning;
-        this.percent = percent;
-        this.fileRepository = fileRepository;
-        this.scheduleRepository = scheduleRepository;
-    }
-
-    @Override
-    public void run() {
-        int count = 1;
-        ScheduleEntity schedule = new ScheduleEntity();
-        while (isRunning) {
-            try {
-                Thread.sleep(1000);
-            } catch (InterruptedException e) {
-                e.printStackTrace();
-            }
-
-            if (count == 1) {
-                schedule.setFileId(id);
-                schedule.setPercent(percent);
-                schedule.setCreateTime(new Date());
-                schedule.setUpdateTime(new Date());
-//                schedule.setRecStatus("A");
-            } else {
-                schedule.setPercent(percent);
-                schedule.setUpdateTime(new Date());
-            }
-            schedule = scheduleRepository.save(schedule);
-            count++;
-
-        }
-
-    }
-}

+ 1 - 44
src/main/java/com/fd/result/ResponseResult.java

@@ -1,10 +1,8 @@
-package com.fd.result;
+package com.fd.util;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonInclude.Include;
-import org.springframework.context.support.DefaultMessageSourceResolvable;
-import org.springframework.validation.BindingResult;
 
 import java.io.Serializable;
 import java.util.*;
@@ -37,26 +35,7 @@ public class ResponseResult implements Serializable {
 
 	}
 
-	public ResponseResult(ResultData<?> result) {
 
-		super();
-
-		this.status = result.getState().getStatus();
-		this.message = result.getState().getMessage();
-		this.data = result.getData();
-		this.timestamp = addTime();
-		this.exceptions = null;
-	}
-
-	public ResponseResult(ResponseMessage rm){
-		super();
-		
-		this.status = rm.getStatus();
-		this.message = rm.getMessage();
-		this.data = null;
-		this.timestamp = addTime();
-		this.exceptions = null;
-	}
 
 	
 	public ResponseResult(Integer status, Object data) {
@@ -72,29 +51,7 @@ public class ResponseResult implements Serializable {
 
 	}
 	
-	public ResponseResult(ResponseMessage responseMessage, BindingResult result) {
-
-		super();
-		
-		List<Map<String, String>> errors = new ArrayList<Map<String, String>>();
-		
-		for(int i=0;i<result.getAllErrors().size();i++){
-			Map<String, String> map = new HashMap<String, String>();
-			DefaultMessageSourceResolvable dm = (DefaultMessageSourceResolvable) result.getAllErrors().get(i).getArguments()[0];
-			map.put("field", dm.getDefaultMessage());
-			map.put("message", result.getAllErrors().get(i).getDefaultMessage());
-			errors.add(map);
-		}
-		
-		this.status = responseMessage.getStatus();
-
-		this.message = responseMessage.getMessage();
 
-		this.data = errors;
-		this.timestamp = addTime();
-		this.exceptions = null;
-
-	}
 
 	public ResponseResult(Integer status, String message, String key, Object value) {
 

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

@@ -1,4 +1,4 @@
-server.port=8081
+server.port=8082
 
 spring.profiles.active=pro
 spring.servlet.multipart.enabled=true