| | |
| | | package com.dji.sample.patches.controller; |
| | | |
| | | import com.dji.sample.patches.model.PageBean; |
| | | import com.dji.sample.patches.service.impl.PatchesServiceImpl; |
| | | import org.opengis.geometry.coordinate.Polygon; |
| | | 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.aspect.SysLogAnnotation; |
| | | import com.dji.sample.media.model.MediaFileEntity; |
| | | 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.impl.ShpToDataSourceServiceImpl; |
| | | import com.dji.sample.wayline.model.entity.WaylineFileEntity; |
| | | import com.dji.sample.wayline.service.IWaylineFileService; |
| | | 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; |
| | | |
| | | @RequestMapping("${url.patches.prefix}${url.patches.version}") |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.net.URL; |
| | | import java.sql.SQLException; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | import static com.dji.sample.component.AuthInterceptor.TOKEN_CLAIM; |
| | | |
| | | @RequestMapping("${url.patches.prefix}${url.patches.version}/Patches") |
| | | @RestController |
| | | public class PatchesController { |
| | | @Autowired |
| | | private PatchesServiceImpl patchesServiceimpl; |
| | | @GetMapping("/getPatches") |
| | | public PageBean page(@RequestParam(defaultValue = "1") Integer page, |
| | | @RequestParam(defaultValue = "5") Integer pageSize, |
| | | Integer id, String bsm, Polygon dkfw, String dklx){ |
| | | private GetPatchesService getPatchesService; |
| | | @Autowired |
| | | private ShpToDataSourceServiceImpl shpToDataSourceServiceImpl; |
| | | @Autowired |
| | | private IWaylineFileService waylineFileService; |
| | | |
| | | //获取图斑信息 |
| | | @GetMapping("/listPatches") |
| | | @SysLogAnnotation(operModul = "图斑", operType = "查询", operDesc = "查询图斑的全部信息") |
| | | public ResponseResult<PaginationData<LotInfo>> page(@RequestParam Integer page, |
| | | @RequestParam(name = "page_size", defaultValue = "10") Integer pageSize, |
| | | @RequestParam String workspaceId) { |
| | | //调用service分页查询 |
| | | PageBean pageBean =patchesServiceimpl.limitGet( id, bsm, dkfw, dklx, page, pageSize); |
| | | return pageBean; |
| | | PatchesParam param = PatchesParam.builder() |
| | | .page(page) |
| | | .workspaceId(workspaceId) |
| | | .pageSize(pageSize).build(); |
| | | PaginationData<LotInfo> data = getPatchesService.limitGet(param); |
| | | return ResponseResult.success(data); |
| | | } |
| | | //清空图斑文件 |
| | | @DeleteMapping("/deletePatches") |
| | | public ResponseResult del() { |
| | | getPatchesService.delPatches(); |
| | | return ResponseResult.success(); |
| | | } |
| | | //根据dkbh获取图斑图片 |
| | | @GetMapping("/listPhoto") |
| | | public ResponseResult<PaginationData<MediaFileEntity>> GetPatchesPhoto(@RequestParam(name = "page", defaultValue = "1") Integer page, |
| | | @RequestParam(name = "page_size", defaultValue = "10") Integer pageSize, |
| | | @RequestParam String workspaceId, |
| | | @RequestParam String dkbh) { |
| | | try { |
| | | PatchesParam param = PatchesParam.builder() |
| | | .page(page) |
| | | .workspaceId(workspaceId) |
| | | .pageSize(pageSize).build(); |
| | | PaginationData<MediaFileEntity> paginationData = getPatchesService.getPhoto(param, dkbh); |
| | | return ResponseResult.success(paginationData); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); // 记录异常信息到控制台 |
| | | return ResponseResult.error("未匹配到相关图片"); // 返回错误信息,可以根据实际情况自定义 |
| | | } |
| | | } |
| | | //上传图斑文件并返回航线 |
| | | @PostMapping("/uploadLot") |
| | | public ResponseResult getGeo(@RequestParam("file") MultipartFile file, |
| | | @RequestParam String workspaceId, |
| | | @RequestParam String waylineName, |
| | | @RequestParam double airportLat, |
| | | @RequestParam double airportLon, |
| | | HttpServletRequest request) throws Exception { |
| | | MultipartFile multipartFile = shpToDataSourceServiceImpl.insertGeo(file, 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); |
| | | // return ResponseResult.success(MinioUrlUtils.getUrl(url)); |
| | | } |
| | | } |