From 3904fbdccb96a9b1b4f919d18505d5ebb8ef976a Mon Sep 17 00:00:00 2001
From: rain <167982779@qq.com>
Date: Thu, 20 Jun 2024 18:13:18 +0800
Subject: [PATCH] 定时九洲巡查

---
 src/main/java/com/dji/sample/territory/service/impl/TbFjServiceImpl.java    |    2 
 src/main/java/com/dji/sample/media/service/impl/FileServiceImpl.java        |    2 
 src/main/java/com/dji/sample/territory/pojo/TerritoryConfigPojo.java        |    3 -
 src/main/resources/application-dev.yml                                      |    1 
 src/main/resources/application-prod.yml                                     |    2 
 src/main/java/com/dji/sample/patches/utils/TimerUtil.java                   |   28 +++++----
 src/main/java/com/dji/sample/territory/utils/WaterMarkUtil.java             |    5 -
 src/main/java/com/dji/sample/manage/service/impl/LiveStreamServiceImpl.java |   48 +++++++--------
 src/main/java/com/dji/sample/patches/controller/PatchesController.java      |   40 ++++++++----
 9 files changed, 69 insertions(+), 62 deletions(-)

diff --git a/src/main/java/com/dji/sample/manage/service/impl/LiveStreamServiceImpl.java b/src/main/java/com/dji/sample/manage/service/impl/LiveStreamServiceImpl.java
index 7fc5f09..7404fdb 100644
--- a/src/main/java/com/dji/sample/manage/service/impl/LiveStreamServiceImpl.java
+++ b/src/main/java/com/dji/sample/manage/service/impl/LiveStreamServiceImpl.java
@@ -117,17 +117,15 @@
         //相机已经在直播中,请勿重复开启直播
         if(receiveReply.getResult() == 513003) {
             LiveDTO live = new LiveDTO();
-//            live.setUrl(liveParam.getUrl().replace("rtmp", "https").replace("735","700") + ".flv");
-            LiveUrlGB28181DTO gb28181 = urlToGB28181(liveParam.getUrl());
-            live.setUrl(new StringBuilder()
-                    .append("http://")
-                    .append(gb28181.getServerIP())
-                    .append(":8880/rtp/")
-                    .append(gb28181.getAgentID())
-                    .append("_")
-                    .append(gb28181.getChannel())
-                    .append(".live.flv")
-                    .toString());
+            live.setUrl(liveParam.getUrl().replace("rtmp", "https").replace("735","700") + ".flv");
+//            LiveUrlGB28181DTO gb28181 = urlToGB28181(liveParam.getUrl());
+//            live.setUrl(new StringBuilder()
+//                    .append("https://wrj.shuixiongit.com/zb/rtp/")
+//                    .append(gb28181.getAgentID())
+//                    .append("_")
+//                    .append(gb28181.getChannel())
+//                    .append(".live.flv")
+//                    .toString());
             return ResponseResult.success(live);
         }
 
@@ -144,29 +142,27 @@
 //                live.setUrl(liveParam.getUrl().replace("rtmp", "webrtc"));
                 live.setUrl(liveParam.getUrl().replace("rtmp", "https").replace("735","700") + ".flv");
                 break;
-//            case GB28181:
-//                LiveUrlGB28181DTO gb28181 = urlToGB28181(liveParam.getUrl());
-//                live.setUrl(new StringBuilder()
-//                        .append("webrtc://")
-//                        .append(gb28181.getServerIP())
-//                        .append("/live/")
-//                        .append(gb28181.getAgentID())
-//                        .append("@")
-//                        .append(gb28181.getChannel())
-//                        .toString());
-//                break;
             case GB28181:
                 LiveUrlGB28181DTO gb28181 = urlToGB28181(liveParam.getUrl());
                 live.setUrl(new StringBuilder()
-                        .append("http://")
+                        .append("webrtc://")
                         .append(gb28181.getServerIP())
-                        .append(":8880/rtp/")
+                        .append("/live/")
                         .append(gb28181.getAgentID())
-                        .append("_")
+                        .append("@")
                         .append(gb28181.getChannel())
-                        .append(".live.flv")
                         .toString());
                 break;
+//            case GB28181:
+//                LiveUrlGB28181DTO gb28181 = urlToGB28181(liveParam.getUrl());
+//                live.setUrl(new StringBuilder()
+//                        .append("https://wrj.shuixiongit.com/zb/rtp/")
+//                        .append(gb28181.getAgentID())
+//                        .append("_")
+//                        .append(gb28181.getChannel())
+//                        .append(".live.flv")
+//                        .toString());
+//                break;
             case RTSP:
                 String url = receiveReply.getOutput().toString();
                 this.resolveUrlUser(url, live);
diff --git a/src/main/java/com/dji/sample/media/service/impl/FileServiceImpl.java b/src/main/java/com/dji/sample/media/service/impl/FileServiceImpl.java
index c31027e..7b739d0 100644
--- a/src/main/java/com/dji/sample/media/service/impl/FileServiceImpl.java
+++ b/src/main/java/com/dji/sample/media/service/impl/FileServiceImpl.java
@@ -117,7 +117,7 @@
             File file1 = TbFjServiceImpl.downloadFile(url);
             long timestamp = convertToTimestamp(file.getMetadata().getCreatedTime());
             File file2 = new File(WaterMarkUtil.addWatermark(file1, timestamp, file.getMetadata().getShootPosition().getLat(),
-                    file.getMetadata().getShootPosition().getLng(), file.getMetadata().getGimbalYawDegree(),territoryConfigPojo.getWatermark()).toURI());
+                    file.getMetadata().getShootPosition().getLng(), file.getMetadata().getGimbalYawDegree()).toURI());
             Object data = ImgUtil.getInfo(file1);
             mediaFileMarkEntity.setDronedata(data);
             mediaFileMarkEntity.setWorkspaceId(workspaceId);
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 cbdbe99..5860f0b 100644
--- a/src/main/java/com/dji/sample/patches/controller/PatchesController.java
+++ b/src/main/java/com/dji/sample/patches/controller/PatchesController.java
@@ -88,14 +88,15 @@
      */
     @DeleteMapping("/deletePatches")
     public ResponseResult del(String workspaceId) {
-        int count=getPatchesService.delPatches(workspaceId);
-        return ResponseResult.success("删除的图斑数量是"+count);
+        int count = getPatchesService.delPatches(workspaceId);
+        return ResponseResult.success("删除的图斑数量是" + count);
     }
+
     @DeleteMapping("/deleteOne")
-    public ResponseResult deleteOne(int id){
-        int count= getPatchesService.deleteOne(id);
-        if (count!=0){
-            return ResponseResult.success("图斑删除成功id为"+id);
+    public ResponseResult deleteOne(int id) {
+        int count = getPatchesService.deleteOne(id);
+        if (count != 0) {
+            return ResponseResult.success("图斑删除成功id为" + id);
         }
         return ResponseResult.error("图斑删除失败");
     }
@@ -105,14 +106,16 @@
         String xzq = DistrictCodeUtils.nameToCode(code);
         return ResponseResult.success(xzq);
     }
+
     @GetMapping("/getInfoById")
     public ResponseResult<LotInfo> wayAndPatchesId(@RequestParam String patchesId) {
         return ResponseResult.success(getPatchesService.getPatchesFromId(patchesId));
     }
+
     @GetMapping("/getWayline")
-    public ResponseResult getWayline(@RequestParam String waylineName, @RequestBody List<LotInfo> list){
+    public ResponseResult getWayline(@RequestParam String waylineName, @RequestBody List<LotInfo> list) {
         try {
-            MultipartFile file=timerUtil.getFile(waylineName,list);
+            MultipartFile file = timerUtil.getFile(waylineName, list);
             return ResponseResult.success(file);
         } catch (IOException e) {
             throw new RuntimeException(e);
@@ -120,13 +123,13 @@
     }
 
     @PostMapping("/patchesToWayline")
-    public ResponseResult patchesToWayline(@RequestBody  List<LotInfo> list,
+    public ResponseResult patchesToWayline(@RequestBody List<LotInfo> list,
                                            @RequestParam String waylineName,
                                            @RequestParam String workspaceId,
                                            HttpServletRequest request) throws IOException {
-        CustomClaim customClaim = (CustomClaim)request.getAttribute(TOKEN_CLAIM);
+        CustomClaim customClaim = (CustomClaim) request.getAttribute(TOKEN_CLAIM);
         String creator = customClaim.getUsername();
-        MultipartFile file=timerUtil.getFile(waylineName,list);
+        MultipartFile file = timerUtil.getFile(waylineName, list);
         waylineFileService.importKmzFileBack(file, workspaceId, creator);
         WaylineFileEntity entity = waylineFileService.selectByName(waylineName);
         Map<String, String> infoMap = new HashMap<>();
@@ -144,16 +147,18 @@
     @GetMapping("/useMyTask")
     public ResponseResult useMyTask() throws Exception {
         try {
-            timerUtil.myTask();
+//            timerUtil.myTask();
 //            timerUtil.myTask2();
 //            timerUtil.myTask3();
+            timerUtil.mytask4();
 
         } catch (Exception e) {
-            throw new RuntimeException("db存储发送出现异常"+e);
+            throw new RuntimeException("db存储发送出现异常" + e);
         }
         return ResponseResult.success();
     }
-//    @GetMapping ("/tests")
+
+    //    @GetMapping ("/tests")
 //    public ResponseResult use()  {
 //        try {
 //            TimerUtil.sendPostWithFileAndParameter("src/main/resources/tmp/20240613/205621_635148ea-0ddb-4b23-945c-8a67abd813c9.db",
@@ -163,6 +168,13 @@
 //        }
 //        return ResponseResult.success();
 //    }
+    @PostMapping("/way")
+    public void getway(@RequestParam("file") MultipartFile file,
+                       @RequestParam String workspaceId,
+                       @RequestParam String waylineName,
+                       @RequestParam String username) {
+        waylineFileService.importKmzFileBack(file, workspaceId, username);
+    }
 
     /**
      * 根据图斑的地块编号获取相对应音视频
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 cc0a795..ace82b0 100644
--- a/src/main/java/com/dji/sample/patches/utils/TimerUtil.java
+++ b/src/main/java/com/dji/sample/patches/utils/TimerUtil.java
@@ -24,6 +24,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.io.ByteArrayResource;
 import org.springframework.http.*;
+import org.springframework.mock.web.MockMultipartFile;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
@@ -86,7 +87,7 @@
      */
     @Scheduled(cron = "0 0 0 * * ?")
     public void myTask() throws Exception {
-        Long time = getCurrentTimestampPlus8Hours();
+        Long time = getCurrentTimestampPlus8Hours(14);
         String taskId = "";
         String workspaceId = "4a574db8-4ad3-48f7-9f16-3edbcd8056e1";
 //        获取未规划的图斑集合
@@ -140,6 +141,18 @@
             Optional<WaylineJobDTO> waylineJobDTO = waylineJobService.getJobByJobId(workspaceId, jobid, true);
             waylineJobService.publishOneFlightTask(waylineJobDTO.get());
         }
+    }
+    @Scheduled(cron = "0 0 0 * * ?")
+    public void mytask4() throws IOException {
+        Long time = getCurrentTimestampPlus8Hours(9);
+        List<List<Long>> listOfLists = new ArrayList<>();
+        List<Long> sublist = new ArrayList<>();
+        sublist.add(time); // 添加整数值
+        listOfLists.add(sublist);
+        List<Long> lists1 = new ArrayList<>();
+        lists1.add(time);
+        String times = convertTimestampToFormattedString(time);
+        sendPostWithParameters("九洲巡查","73e14492-f1b2-4fc4-81c0-7ca65cd3bc56", times, lists1, listOfLists);
     }
 
     /**
@@ -520,12 +533,12 @@
         return folder;
     }
 
-    public static Long getCurrentTimestampPlus8Hours() {
+    public static Long getCurrentTimestampPlus8Hours(long hours) {
         // 获取当前时间
         LocalDateTime now = LocalDateTime.now();
 
         // 加上8小时
-        LocalDateTime nowPlus8Hours = now.plusHours(8);
+        LocalDateTime nowPlus8Hours = now.plusHours(hours);
 
         // 转换为UTC时间戳
         ZonedDateTime zonedDateTime = nowPlus8Hours.atZone(ZoneId.systemDefault());
@@ -574,14 +587,5 @@
 
         // 格式化时间,生成当前时间
         return "云飞行计划" + currentTime.format(DateTimeFormatter.ofPattern("MMdd"));
-    }
-
-    public static void main(String[] args) {
-        // 获取当前时间
-        LocalDateTime currentTime = LocalDateTime.now();
-
-        // 格式化时间,生成文件夹名字
-        String folderName = currentTime.format(DateTimeFormatter.ofPattern("MMddHHmmssSS"));
-        System.out.println(folderName);
     }
 }
diff --git a/src/main/java/com/dji/sample/territory/pojo/TerritoryConfigPojo.java b/src/main/java/com/dji/sample/territory/pojo/TerritoryConfigPojo.java
index ac39b4f..21ff04a 100644
--- a/src/main/java/com/dji/sample/territory/pojo/TerritoryConfigPojo.java
+++ b/src/main/java/com/dji/sample/territory/pojo/TerritoryConfigPojo.java
@@ -26,7 +26,4 @@
     @Value("${db.sqlite.resourceSave}")
     private String resourcesave;
 
-    @Value("${db.sqlite.waterMark}")
-    private String watermark;
-
 }
diff --git a/src/main/java/com/dji/sample/territory/service/impl/TbFjServiceImpl.java b/src/main/java/com/dji/sample/territory/service/impl/TbFjServiceImpl.java
index 1296c53..451f285 100644
--- a/src/main/java/com/dji/sample/territory/service/impl/TbFjServiceImpl.java
+++ b/src/main/java/com/dji/sample/territory/service/impl/TbFjServiceImpl.java
@@ -145,7 +145,7 @@
         //对应图片和视频文件进行不同处理
         boolean endsWith = key.endsWith(".mp4");
         if (!endsWith) {
-            file1 = WaterMarkUtil.addWatermark(file, sj, lat, lng, gimbalYawDegree,territoryConfigPojo.getWatermark());
+            file1 = WaterMarkUtil.addWatermark(file, sj, lat, lng, gimbalYawDegree);
             byte[] bytesArray = Files.readAllBytes(file1.toPath());
             fjhxz= sm3(bytesArray);
             FJ = fileToByteArray(file1);
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 2bd2b7f..3d3222e 100644
--- a/src/main/java/com/dji/sample/territory/utils/WaterMarkUtil.java
+++ b/src/main/java/com/dji/sample/territory/utils/WaterMarkUtil.java
@@ -26,7 +26,7 @@
      * @return 添加水印并压缩后的图片文件。
      * @throws IOException 如果读取或保存图片失败。
      */
-    public static File addWatermark(File file, Long pssj, Double lat, Double lng, Double angles,String path) throws IOException, FontFormatException {
+    public static File addWatermark(File file, Long pssj, Double lat, Double lng, Double angles) throws IOException, FontFormatException {
         double anglses = convertAngle(angles);
         String angel = angle(anglses);
         Long timestamp = pssj; // 例如:Unix 时间戳(以秒为单位)
@@ -64,8 +64,7 @@
         alphaComposite = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.7f);
         g2d.setComposite(alphaComposite);
         String extraInfo = String.format("Lon:%.7f Lat:%.7f\n%s %s", lng, lat, angel, sd);
-        File fontFile = new File("src/main/resources/MiSans-Normal.ttf"); // 替换为你的字体文件路径
-//        File fontFile = new File("/usr/share/fonts/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/resources/application-dev.yml b/src/main/resources/application-dev.yml
index 8396ba8..853dcec 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -118,4 +118,3 @@
     result: DB/result_db.db
     resultSave: src/main/resources/tmp
     resourceSave: src/main/resources/tmp
-    waterMark: src/main/resources/MiSans-Normal.ttf
\ No newline at end of file
diff --git a/src/main/resources/application-prod.yml b/src/main/resources/application-prod.yml
index a6050b0..316c01d 100644
--- a/src/main/resources/application-prod.yml
+++ b/src/main/resources/application-prod.yml
@@ -117,4 +117,4 @@
     result: /home/drone/server/sqlite/result_db.db
     resultSave: /home/drone/server/sqlite/retUpload/
     resourceSave: /home/drone/server/sqlite/upload/
-    waterMark: /usr/share/fonts/MiSans-Normal.ttf
+

--
Gitblit v1.9.3