From fdc6a85af23c87d5f502d5bffbd53fbc396df537 Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Tue, 31 Oct 2023 17:24:19 +0800
Subject: [PATCH] 无人机飞行轨迹

---
 src/main/java/com/dji/sample/log/service/IDroneFlightLogService.java         |    7 +++
 src/main/java/com/dji/sample/log/service/impl/DroneFlightLogServiceImpl.java |   37 ++++++++++++++++++
 src/main/java/com/dji/sample/log/controller/DroneFlightLogController.java    |   41 ++++++++++++++++++++
 3 files changed, 85 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/dji/sample/log/controller/DroneFlightLogController.java b/src/main/java/com/dji/sample/log/controller/DroneFlightLogController.java
new file mode 100644
index 0000000..6e7b7ca
--- /dev/null
+++ b/src/main/java/com/dji/sample/log/controller/DroneFlightLogController.java
@@ -0,0 +1,41 @@
+package com.dji.sample.log.controller;
+
+import com.dji.sample.common.model.PaginationData;
+import com.dji.sample.common.model.ResponseResult;
+import com.dji.sample.log.model.entity.DroneFlightLogEntity;
+import com.dji.sample.log.service.IDroneFlightLogService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @PROJECT_NAME: iot_drone_api
+ * @DESCRIPTION:
+ * @USER: aix
+ * @DATE: 2023/10/28 15:33
+ */
+@RestController
+@Slf4j
+@RequestMapping("/log/droneFlightLog")
+public class DroneFlightLogController {
+
+    @Autowired
+    private IDroneFlightLogService droneFlightLogService;
+
+    @GetMapping("/page")
+    public ResponseResult listBypage(@RequestParam(defaultValue = "1") Long page,
+                                               @RequestParam(value = "page_size", defaultValue = "50") Long pageSize,
+                                               @RequestParam String workspaceId) {
+        PaginationData<DroneFlightLogEntity> paginationData = droneFlightLogService.selectDroneFlightLog(page, pageSize,workspaceId);
+        return ResponseResult.success(paginationData);
+    }
+
+    @GetMapping("/infoListByFid")
+    public ResponseResult infoListByFid(@RequestParam long flightId) {
+        return ResponseResult.success(droneFlightLogService.listByFid(flightId));
+    }
+
+}
diff --git a/src/main/java/com/dji/sample/log/service/IDroneFlightLogService.java b/src/main/java/com/dji/sample/log/service/IDroneFlightLogService.java
index 896b3e3..a7d40c8 100644
--- a/src/main/java/com/dji/sample/log/service/IDroneFlightLogService.java
+++ b/src/main/java/com/dji/sample/log/service/IDroneFlightLogService.java
@@ -1,6 +1,10 @@
 package com.dji.sample.log.service;
 
+import com.dji.sample.common.model.PaginationData;
 import com.dji.sample.log.model.entity.DroneFlightLogEntity;
+import com.dji.sample.log.model.entity.DroneFlightLogInfoEntity;
+
+import java.util.List;
 
 /**
  * @PROJECT_NAME: iot_drone_api
@@ -10,6 +14,9 @@
  */
 public interface IDroneFlightLogService {
 
+    PaginationData<DroneFlightLogEntity> selectDroneFlightLog(long page, long pageSize,String workspaceId);
+    List<DroneFlightLogInfoEntity> listByFid(long flightId);
+
     void save(DroneFlightLogEntity entity);
 
     void update(DroneFlightLogEntity entity);
diff --git a/src/main/java/com/dji/sample/log/service/impl/DroneFlightLogServiceImpl.java b/src/main/java/com/dji/sample/log/service/impl/DroneFlightLogServiceImpl.java
index 5a2c659..7c08967 100644
--- a/src/main/java/com/dji/sample/log/service/impl/DroneFlightLogServiceImpl.java
+++ b/src/main/java/com/dji/sample/log/service/impl/DroneFlightLogServiceImpl.java
@@ -1,10 +1,23 @@
 package com.dji.sample.log.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.dji.sample.common.model.Pagination;
+import com.dji.sample.common.model.PaginationData;
+import com.dji.sample.log.dao.IDroneFlightLogInfoMapper;
 import com.dji.sample.log.dao.IDroneFlightLogMapper;
 import com.dji.sample.log.model.entity.DroneFlightLogEntity;
+import com.dji.sample.log.model.entity.DroneFlightLogInfoEntity;
 import com.dji.sample.log.service.IDroneFlightLogService;
+import com.dji.sample.manage.model.dto.WorkspaceDTO;
+import com.dji.sample.manage.model.entity.DeviceEntity;
+import com.dji.sample.manage.model.entity.WorkspaceEntity;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * @PROJECT_NAME: iot_drone_api
@@ -18,6 +31,30 @@
     @Autowired
     private IDroneFlightLogMapper mapper;
 
+    @Autowired
+    private IDroneFlightLogInfoMapper droneFlightLogInfoMapper;
+
+    @Override
+    public PaginationData<DroneFlightLogEntity> selectDroneFlightLog(long page, long pageSize, String workspaceId) {
+//        LambdaQueryWrapper wrapper = new LambdaQueryWrapper<DroneFlightLogEntity>().eq(DroneFlightLogEntity::getWorkspaceId, workspaceId);
+//        wrapper.orderByDesc("start_time");
+        QueryWrapper<DroneFlightLogEntity> wrapper = new QueryWrapper<>();
+        wrapper.lambda().eq(DroneFlightLogEntity::getWorkspaceId, workspaceId);
+        wrapper.orderByDesc("start_time");
+        Page<DroneFlightLogEntity> entityPage = mapper.selectPage(
+                new Page<>(page, pageSize),
+                wrapper);
+
+        return new PaginationData<>(entityPage.getRecords(), new Pagination(entityPage));
+    }
+
+    @Override
+    public List<DroneFlightLogInfoEntity> listByFid(long flightId) {
+        return droneFlightLogInfoMapper.selectList(
+                new LambdaQueryWrapper<DroneFlightLogInfoEntity>()
+                        .eq(DroneFlightLogInfoEntity::getFlightId, flightId));
+    }
+
     @Override
     public void save(DroneFlightLogEntity entity) {
         mapper.insert(entity);

--
Gitblit v1.9.3