package com.dji.sample.territory.controller;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.dji.sample.common.model.CustomClaim;
|
import com.dji.sample.common.model.PaginationData;
|
import com.dji.sample.common.model.ResponseResult;
|
import com.dji.sample.common.util.MinioUrlUtils;
|
import com.dji.sample.log.model.entity.DroneFlightLogEntity;
|
import com.dji.sample.media.model.MediaFileEntity;
|
import com.dji.sample.patches.dao.GetPatchesMapper;
|
import com.dji.sample.patches.model.Param.PatchesParam;
|
import com.dji.sample.patches.model.entity.LotInfo;
|
import com.dji.sample.patches.service.GetPatchesService;
|
import com.dji.sample.patches.service.ShpToDataSourceService;
|
import com.dji.sample.patches.utils.GeoToolsUtil;
|
import com.dji.sample.patches.utils.MultipartFileTOFileUtil;
|
import com.dji.sample.patches.xml.mode.XMLTemplateModel;
|
import com.dji.sample.patches.xml.utils.CreateWaylineFileUtils;
|
import com.dji.sample.territory.model.entity.TbDkjbxxEntity;
|
import com.dji.sample.territory.model.entity.param.UploadUrlParam;
|
import com.dji.sample.territory.service.ITbDkjbxxService;
|
import com.dji.sample.territory.service.ITbFJService;
|
import com.dji.sample.wayline.model.entity.WaylineFileEntity;
|
import com.dji.sample.wayline.service.IWaylineFileService;
|
import lombok.extern.slf4j.Slf4j;
|
import org.apache.ibatis.annotations.Param;
|
import org.locationtech.jts.geom.Coordinate;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import javax.servlet.http.HttpServletRequest;
|
import java.io.File;
|
import java.io.IOException;
|
import java.net.URL;
|
import java.sql.SQLException;
|
import java.util.Arrays;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
import static com.dji.sample.component.AuthInterceptor.TOKEN_CLAIM;
|
|
/**
|
* @PROJECT_NAME: drone
|
* @DESCRIPTION:
|
* @USER: aix
|
* @DATE: 2024/4/10 11:20
|
*/
|
@RestController
|
@Slf4j
|
@RequestMapping("/territory/tbdkjbxx")
|
public class TbDkjbxxController {
|
|
@Autowired
|
private ITbDkjbxxService tbDkjbxxService;
|
@Autowired
|
private ShpToDataSourceService shpToDataSourceService;
|
@Autowired
|
private IWaylineFileService waylineFileService;
|
|
@GetMapping("/list")
|
public ResponseResult list() {
|
List<TbDkjbxxEntity> list = tbDkjbxxService.list();
|
return ResponseResult.success(list);
|
}
|
|
/**
|
* 上传文件并保存到数据库
|
*
|
* @param file 需要上传的文件,通过multipart/form-data方式提交
|
* @return
|
*/
|
@PostMapping("/upload")
|
public ResponseResult uploadFile(@RequestParam("file") MultipartFile file,
|
@RequestParam String taskName,
|
@RequestParam int taskId){
|
String workspaceId="4a574db8-4ad3-48f7-9f16-3edbcd8056e1";
|
tbDkjbxxService.uploadFile(file);
|
List<TbDkjbxxEntity> list = tbDkjbxxService.list();
|
shpToDataSourceService.savaInMysql(list, workspaceId,taskId,taskName);
|
return ResponseResult.success("上传成功");
|
}
|
|
@PostMapping("/uploadUrl")
|
public ResponseResult uploadUrl( @RequestBody UploadUrlParam param){
|
tbDkjbxxService.uploadUrl(param.getDbUrl());
|
String workspaceId="4a574db8-4ad3-48f7-9f16-3edbcd8056e1";
|
List<TbDkjbxxEntity> list = tbDkjbxxService.list();
|
shpToDataSourceService.savaInMysql(list, workspaceId,param.getTaskId(),param.getTaskName());
|
return ResponseResult.success("上传成功");
|
}
|
|
/**
|
* 将sqlite里的数据入库并生成航线
|
*
|
* @param workspaceId
|
* @param waylineName
|
* @param airportLat
|
* @param airportLon
|
* @param request
|
* @return
|
* @throws Exception
|
*/
|
// @PostMapping("/uploadLot")
|
// public ResponseResult getGeo(@RequestParam String workspaceId,
|
// @RequestParam String waylineName,
|
// @RequestParam double airportLat,
|
// @RequestParam double airportLon,
|
// HttpServletRequest request) throws Exception {
|
// List<TbDkjbxxEntity> list = tbDkjbxxService.list();
|
// shpToDataSourceService.savaInMysql(list, workspaceId);
|
// MultipartFile multipartFile = tbDkjbxxService.listFile(workspaceId, waylineName, airportLat, airportLon);
|
// CustomClaim customClaim = (CustomClaim) request.getAttribute(TOKEN_CLAIM);
|
// String creator = customClaim.getUsername();
|
// waylineFileService.importKmzFileBack(multipartFile, workspaceId, creator);
|
// WaylineFileEntity entity = waylineFileService.selectByName(waylineName);
|
// Map<String, String> infoMap = new HashMap<>();
|
// URL url = null;
|
// try {
|
// url = waylineFileService.getObjectUrl(workspaceId, entity.getWaylineId());
|
// infoMap.put("url", String.valueOf(MinioUrlUtils.getUrl(url)));
|
// infoMap.put("waylineId", entity.getWaylineId());
|
// } catch (SQLException e) {
|
// throw new RuntimeException(e);
|
// }
|
// return ResponseResult.success(infoMap);
|
// }
|
}
|