xieb
2023-10-31 fdc6a85af23c87d5f502d5bffbd53fbc396df537
无人机飞行轨迹
2 files modified
1 files added
85 ■■■■■ changed files
src/main/java/com/dji/sample/log/controller/DroneFlightLogController.java 41 ●●●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/log/service/IDroneFlightLogService.java 7 ●●●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/log/service/impl/DroneFlightLogServiceImpl.java 37 ●●●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/log/controller/DroneFlightLogController.java
New file
@@ -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));
    }
}
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);
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);