| | |
| | | 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.GetMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | 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 |
| | |
| | | |
| | | @Autowired |
| | | private ITbDkjbxxService tbDkjbxxService; |
| | | @Autowired |
| | | private ShpToDataSourceService shpToDataSourceService; |
| | | @Autowired |
| | | private IWaylineFileService waylineFileService; |
| | | |
| | | @GetMapping("/list") |
| | | public ResponseResult list() { |
| | |
| | | return ResponseResult.success(list); |
| | | } |
| | | |
| | | } |
| | | /** |
| | | * 上传文件并保存到数据库 |
| | | * |
| | | * @param file 需要上传的文件,通过multipart/form-data方式提交 |
| | | * @return |
| | | */ |
| | | @PostMapping("/upload") |
| | | public ResponseResult uploadFile(@RequestParam("file") MultipartFile file, |
| | | @RequestParam String taskName, |
| | | @RequestParam String taskId) { |
| | | String workspaceId = "4a574db8-4ad3-48f7-9f16-3edbcd8056e1"; |
| | | if (file == null) { |
| | | return ResponseResult.error("上传文件为空"); |
| | | } |
| | | tbDkjbxxService.uploadFile(file); |
| | | List<TbDkjbxxEntity> list = tbDkjbxxService.list(); |
| | | if (list.size() == 0) { |
| | | return ResponseResult.error("上传文件数据为空"); |
| | | } |
| | | try { |
| | | shpToDataSourceService.savaInMysql(list, workspaceId, taskId, taskName); |
| | | } catch (Exception e) { |
| | | return ResponseResult.error("上传db文件的内容格式不匹配"); |
| | | } |
| | | return ResponseResult.success("上传成功"); |
| | | } |
| | | |
| | | |
| | | @PostMapping("/uploadUrl") |
| | | public ResponseResult uploadUrl(@RequestBody UploadUrlParam param) { |
| | | try { |
| | | tbDkjbxxService.uploadUrl(param.getDbUrl(), param.getTaskName()); |
| | | String workspaceId = "4a574db8-4ad3-48f7-9f16-3edbcd8056e1"; |
| | | List<TbDkjbxxEntity> list = tbDkjbxxService.list(); |
| | | shpToDataSourceService.savaInMysql(list, workspaceId, param.getTaskId(), param.getTaskName()); |
| | | } catch (Exception e) { |
| | | return ResponseResult.error("文件下载发生错误" + e); |
| | | } |
| | | |
| | | return ResponseResult.success(200); |
| | | } |
| | | |
| | | /** |
| | | * 将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); |
| | | // } |
| | | } |