From bb3652e04f5a66172d0a6cd6ec2535b82e7ca2ed Mon Sep 17 00:00:00 2001
From: rain <167982779@qq.com>
Date: Tue, 04 Jun 2024 17:19:51 +0800
Subject: [PATCH] 修改航线查询、添加方法,图斑查询方法。

---
 src/main/java/com/dji/sample/patches/service/impl/GetPatchesServiceImpl.java  |    2 ++
 src/main/java/com/dji/sample/wayline/controller/WaylineFileController.java    |    6 ++++--
 src/main/java/com/dji/sample/wayline/model/entity/WaylineFileEntity.java      |    3 +++
 src/main/java/com/dji/sample/patches/model/Param/PatchesParam.java            |    2 ++
 src/main/java/com/dji/sample/wayline/model/dto/WaylineFileDTO.java            |    2 ++
 src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java |   28 ++++++++++++++++++++++++++--
 src/main/java/com/dji/sample/patches/utils/TimerUtil.java                     |    2 +-
 src/main/java/com/dji/sample/territory/utils/WaterMarkUtil.java               |    2 +-
 src/main/java/com/dji/sample/patches/controller/PatchesController.java        |    4 +++-
 src/main/java/com/dji/sample/wayline/service/IWaylineFileService.java         |    4 ++--
 10 files changed, 46 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/dji/sample/patches/controller/PatchesController.java b/src/main/java/com/dji/sample/patches/controller/PatchesController.java
index 3c842bf..bd2103f 100644
--- a/src/main/java/com/dji/sample/patches/controller/PatchesController.java
+++ b/src/main/java/com/dji/sample/patches/controller/PatchesController.java
@@ -57,7 +57,8 @@
                                                         @RequestParam String workspaceId,
                                                         @RequestParam(name = "dkbh", defaultValue = "") String dkbh,
                                                         @RequestParam(name = "isPlan", required = false) Integer isPlan,
-                                                        @RequestParam(name = "xzqdm", defaultValue = "") String xzqdm
+                                                        @RequestParam(name = "xzqdm", defaultValue = "") String xzqdm,
+                                                        @RequestParam(name="bsm",defaultValue = "")String bsm
     ) {
         //调用service分页查询
         PatchesParam param = PatchesParam.builder()
@@ -67,6 +68,7 @@
                 .dkbh(dkbh)
                 .isPlan(isPlan)
                 .xzqdm(xzqdm)
+                .bsm(bsm)
                 .build();
         PaginationData<LotInfo> data = getPatchesService.limitGet(param);
         return ResponseResult.success(data);
diff --git a/src/main/java/com/dji/sample/patches/model/Param/PatchesParam.java b/src/main/java/com/dji/sample/patches/model/Param/PatchesParam.java
index 1569cbb..87cbe35 100644
--- a/src/main/java/com/dji/sample/patches/model/Param/PatchesParam.java
+++ b/src/main/java/com/dji/sample/patches/model/Param/PatchesParam.java
@@ -23,4 +23,6 @@
     private Integer isPlan;
 
     private String xzqdm;
+
+    private String bsm;
 }
diff --git a/src/main/java/com/dji/sample/patches/service/impl/GetPatchesServiceImpl.java b/src/main/java/com/dji/sample/patches/service/impl/GetPatchesServiceImpl.java
index 43b72b6..37d9b60 100644
--- a/src/main/java/com/dji/sample/patches/service/impl/GetPatchesServiceImpl.java
+++ b/src/main/java/com/dji/sample/patches/service/impl/GetPatchesServiceImpl.java
@@ -38,6 +38,7 @@
                             .eq(LotInfo::getWorkspaceId, param.getWorkspaceId())
                             .like(LotInfo::getDkbh, param.getDkbh())
                             .like(LotInfo::getXzqdm, param.getXzqdm())
+                            .like(LotInfo::getBsm,param.getBsm())
                             .eq(LotInfo::getIsPlan, param.getIsPlan()));
             List<LotInfo> records = page.getRecords()
                     .stream()
@@ -48,6 +49,7 @@
                     new LambdaQueryWrapper<LotInfo>()
                             .eq(LotInfo::getWorkspaceId, param.getWorkspaceId())
                             .like(LotInfo::getDkbh, param.getDkbh())
+                            .like(LotInfo::getBsm,param.getBsm())
                             .like(LotInfo::getXzqdm, param.getXzqdm()));
             List<LotInfo> records = page.getRecords()
                     .stream()
diff --git a/src/main/java/com/dji/sample/patches/utils/TimerUtil.java b/src/main/java/com/dji/sample/patches/utils/TimerUtil.java
index 424089e..7336a30 100644
--- a/src/main/java/com/dji/sample/patches/utils/TimerUtil.java
+++ b/src/main/java/com/dji/sample/patches/utils/TimerUtil.java
@@ -181,7 +181,7 @@
      * @return
      */
     public String backWayline(MultipartFile multipartFile, String waylineName, String workspaceId, String username) {
-        waylineFileService.importKmzFile(multipartFile, workspaceId, username);
+        waylineFileService.importKmzFileBack(multipartFile, workspaceId, username);
         WaylineFileEntity entity = waylineFileService.selectByName(waylineName);
         try {
             waylineFileService.getObjectUrl(workspaceId, entity.getWaylineId());
diff --git a/src/main/java/com/dji/sample/territory/utils/WaterMarkUtil.java b/src/main/java/com/dji/sample/territory/utils/WaterMarkUtil.java
index ffed172..6e971b3 100644
--- a/src/main/java/com/dji/sample/territory/utils/WaterMarkUtil.java
+++ b/src/main/java/com/dji/sample/territory/utils/WaterMarkUtil.java
@@ -64,7 +64,7 @@
         g2d.setComposite(alphaComposite);
         String extraInfo = String.format("Lon:%.7f Lat:%.7f\n%s %s", lng, lat, angel, sd);
 
-        File fontFile = new File("src/main/java/com/dji/sample/territory/utils/MiSans-Normal.ttf"); // 替换为你的字体文件路径
+        File fontFile = new File("/usr/share/fonts/MiSans-Normal.ttf"); // 替换为你的字体文件路径
         Font customFont = Font.createFont(Font.TRUETYPE_FONT, fontFile).deriveFont(36.00F);
         // 注册字体
         GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
diff --git a/src/main/java/com/dji/sample/wayline/controller/WaylineFileController.java b/src/main/java/com/dji/sample/wayline/controller/WaylineFileController.java
index 35c12e6..79f037e 100644
--- a/src/main/java/com/dji/sample/wayline/controller/WaylineFileController.java
+++ b/src/main/java/com/dji/sample/wayline/controller/WaylineFileController.java
@@ -195,13 +195,15 @@
      */
     @PostMapping("/{workspace_id}/waylines/file/upload")
     @SysLogAnnotation(operModul = "航线库", operType = "上传", operDesc = "上传kmz航线文件")
-    public ResponseResult importKmzFile(@PathVariable(name = "workspace_id") String workspaceId,HttpServletRequest request, MultipartFile file) {
+    public ResponseResult importKmzFile(@PathVariable(name = "workspace_id") String workspaceId,
+                                        HttpServletRequest request, MultipartFile file,
+                                        @RequestParam String patchesId) {
         if (Objects.isNull(file)) {
             return ResponseResult.error("未上传文件");
         }
         CustomClaim customClaim = (CustomClaim)request.getAttribute(TOKEN_CLAIM);
         String creator = customClaim.getUsername();
-        waylineFileService.importKmzFile(file, workspaceId, creator);
+        waylineFileService.importKmzFile(file, workspaceId, creator,patchesId);
         return ResponseResult.success();
     }
 
diff --git a/src/main/java/com/dji/sample/wayline/model/dto/WaylineFileDTO.java b/src/main/java/com/dji/sample/wayline/model/dto/WaylineFileDTO.java
index 8e6282a..288c9c0 100644
--- a/src/main/java/com/dji/sample/wayline/model/dto/WaylineFileDTO.java
+++ b/src/main/java/com/dji/sample/wayline/model/dto/WaylineFileDTO.java
@@ -40,4 +40,6 @@
     private String username;
 
     private Long updateTime;
+
+    private String patchesId;
 }
diff --git a/src/main/java/com/dji/sample/wayline/model/entity/WaylineFileEntity.java b/src/main/java/com/dji/sample/wayline/model/entity/WaylineFileEntity.java
index 27be0bf..c8467f2 100644
--- a/src/main/java/com/dji/sample/wayline/model/entity/WaylineFileEntity.java
+++ b/src/main/java/com/dji/sample/wayline/model/entity/WaylineFileEntity.java
@@ -53,6 +53,9 @@
     @TableField("user_name")
     private String username;
 
+    @TableField("patches_id")
+    private String patchesId;
+
     @TableField(value = "create_time", fill = FieldFill.INSERT)
     private Long createTime;
 
diff --git a/src/main/java/com/dji/sample/wayline/service/IWaylineFileService.java b/src/main/java/com/dji/sample/wayline/service/IWaylineFileService.java
index 13a3a5b..325d566 100644
--- a/src/main/java/com/dji/sample/wayline/service/IWaylineFileService.java
+++ b/src/main/java/com/dji/sample/wayline/service/IWaylineFileService.java
@@ -50,7 +50,7 @@
      * @return
      */
     Integer saveWaylineFile(String workspaceId, WaylineFileDTO metadata);
-
+    Integer saveWaylineFiles(String workspaceId, WaylineFileDTO metadata,String patchesId);
     /**
      * Updates whether the file is collected or not based on the passed parameters.
      * @param workspaceId
@@ -82,7 +82,7 @@
      * @param creator
      * @return
      */
-    void importKmzFile(MultipartFile file, String workspaceId, String creator);
+    void importKmzFile(MultipartFile file, String workspaceId, String creator,String patchesId);
 
     WaylineFileDTO importKmzFileBack (MultipartFile file, String workspaceId, String creator);
     WaylineFileEntity selectByName(String name);
diff --git a/src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java b/src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java
index 449316f..60e8331 100644
--- a/src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java
+++ b/src/main/java/com/dji/sample/wayline/service/impl/WaylineFileServiceImpl.java
@@ -122,6 +122,28 @@
     }
 
     @Override
+    public Integer saveWaylineFiles(String workspaceId, WaylineFileDTO metadata, String patchesId) {
+        metadata.setPatchesId(patchesId);
+        WaylineFileEntity file = this.dtoConvertToEntity(metadata);
+        file.setWaylineId(UUID.randomUUID().toString());
+        file.setWorkspaceId(workspaceId);
+
+        if (!StringUtils.hasText(file.getSign())) {
+            try (InputStream object = ossService.getObject(OssConfiguration.bucket, metadata.getObjectKey())) {
+                if (object.available() == 0) {
+                    throw new RuntimeException("文件" + metadata.getObjectKey() +
+                            " 在空间中不存在[" + OssConfiguration.bucket + "].");
+                }
+                file.setSign(DigestUtils.md5DigestAsHex(object));
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+        }
+        int insertId = mapper.insert(file);
+        return insertId > 0 ? file.getId() : insertId;
+    }
+
+    @Override
     public Boolean markFavorite(String workspaceId, List<String> waylineIds, Boolean isFavorite) {
         if (waylineIds.isEmpty()) {
             return false;
@@ -163,7 +185,7 @@
     }
 
     @Override
-    public void importKmzFile(MultipartFile file, String workspaceId, String creator) {
+    public void importKmzFile(MultipartFile file, String workspaceId, String creator,String patchesId) {
         Optional<WaylineFileDTO> waylineFileOpt = validKmzFile(file);
         if (waylineFileOpt.isEmpty()) {
             throw new RuntimeException("文件格式错误");
@@ -175,7 +197,7 @@
             waylineFile.setUsername(creator);
 
             ossService.putObject(OssConfiguration.bucket, waylineFile.getObjectKey(), file.getInputStream());
-            this.saveWaylineFile(workspaceId, waylineFile);
+            this.saveWaylineFiles(workspaceId, waylineFile,patchesId);
         } catch (IOException e) {
             e.printStackTrace();
         }
@@ -287,6 +309,7 @@
                 .droneModelKey(entity.getDroneModelKey())
                 .favorited(entity.getFavorited())
                 .name(entity.getName())
+                .patchesId(entity.getPatchesId())
                 .payloadModelKeys(entity.getPayloadModelKeys() != null ?
                         Arrays.asList(entity.getPayloadModelKeys().split(",")) : null)
                 .templateTypes(Arrays.stream(entity.getTemplateTypes().split(","))
@@ -321,6 +344,7 @@
                             .collect(Collectors.joining(",")))
                     .favorited(file.getFavorited())
                     .sign(file.getSign())
+                    .patchesId(file.getPatchesId())
                     .build();
         }
 

--
Gitblit v1.9.3