| | |
| | | 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.media.service.impl.FileServiceImpl; |
| | | 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.service.impl.ShpToDataSourceServiceImpl; |
| | | import com.dji.sample.patches.utils.DistrictCodeUtils; |
| | | import com.dji.sample.patches.utils.TimerUtil; |
| | | import com.dji.sample.patches.utils.*; |
| | | import com.dji.sample.territory.service.impl.TbDkjbxxServiceImpl; |
| | | import com.dji.sample.wayline.model.entity.WaylineFileEntity; |
| | | import com.dji.sample.wayline.service.IWaylineFileService; |
| | | import com.dji.sample.wayline.service.IWaylineJobService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.http.HttpHeaders; |
| | | import org.springframework.http.HttpStatus; |
| | | import org.springframework.http.MediaType; |
| | | import org.springframework.http.ResponseEntity; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.io.ByteArrayInputStream; |
| | | import java.io.IOException; |
| | | import java.net.URL; |
| | | import java.sql.SQLException; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.concurrent.ExecutorService; |
| | | import java.util.concurrent.Executors; |
| | | |
| | | import static com.dji.sample.component.AuthInterceptor.TOKEN_CLAIM; |
| | | |
| | |
| | | @Autowired |
| | | private IWaylineFileService waylineFileService; |
| | | @Autowired |
| | | private IWaylineJobService waylineJobService; |
| | | @Autowired |
| | | private TbDkjbxxServiceImpl tbDkjbxxService; |
| | | @Autowired |
| | | private FileServiceImpl fileService; |
| | | @Autowired |
| | | private TimerUtil timerUtil; |
| | | |
| | |
| | | * @return |
| | | */ |
| | | @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, |
| | |
| | | @RequestParam(name = "xzqdm", required = false) String xzqdm, |
| | | @RequestParam(name = "bsm", required = false) String bsm, |
| | | @RequestParam(name = "xmc", required = false) String xmc, |
| | | @RequestParam(name = "investigate", required = false) Integer investigate |
| | | ) { |
| | | @RequestParam(name = "investigate", required = false) Integer investigate, |
| | | @RequestParam(name = "dkmj", required = false) Double dkmj, |
| | | @RequestParam(name = "isPush",required = false) Integer isPush |
| | | ) { |
| | | //调用service分页查询 |
| | | PatchesParam param = PatchesParam.builder() |
| | | .page(page) |
| | |
| | | .bsm(bsm) |
| | | .xmc(xmc) |
| | | .investigate(investigate) |
| | | .dkmj(dkmj) |
| | | .isPush(isPush) |
| | | .build(); |
| | | PaginationData<LotInfo> data = getPatchesService.limitGet(param); |
| | | return ResponseResult.success(data); |
| | |
| | | */ |
| | | @DeleteMapping("/deletePatches") |
| | | public ResponseResult del(String workspaceId) { |
| | | int count=getPatchesService.delPatches(workspaceId); |
| | | return ResponseResult.success("删除的图斑数量是"+count); |
| | | int count = getPatchesService.delPatches(workspaceId); |
| | | return ResponseResult.success("删除的图斑数量是" + count); |
| | | } |
| | | |
| | | @DeleteMapping("/deleteOne") |
| | | public ResponseResult deleteOne(int id){ |
| | | int count= getPatchesService.deleteOne(id); |
| | | if (count!=0){ |
| | | return ResponseResult.success("图斑删除成功id为"+id); |
| | | public ResponseResult deleteOne(int id) { |
| | | int count = getPatchesService.deleteOne(id); |
| | | if (count != 0) { |
| | | return ResponseResult.success("图斑删除成功id为" + id); |
| | | } |
| | | return ResponseResult.error("图斑删除失败"); |
| | | } |
| | |
| | | String xzq = DistrictCodeUtils.nameToCode(code); |
| | | return ResponseResult.success(xzq); |
| | | } |
| | | |
| | | @GetMapping("/getInfoById") |
| | | public ResponseResult<LotInfo> wayAndPatchesId(@RequestParam String patchesId) { |
| | | return ResponseResult.success(getPatchesService.getPatchesFromId(patchesId)); |
| | | } |
| | | |
| | | @GetMapping("/getWayline") |
| | | public ResponseResult getWayline(@RequestParam String waylineName, @RequestBody List<LotInfo> list){ |
| | | public ResponseResult getWayline(@RequestParam String waylineName, @RequestBody List<LotInfo> list) { |
| | | try { |
| | | MultipartFile file=timerUtil.getFile(waylineName,list); |
| | | MultipartFile file = timerUtil.getFile(waylineName, list, 25.8917266, 116.020940643); |
| | | return ResponseResult.success(file); |
| | | } catch (IOException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | } |
| | | |
| | | @GetMapping("/getPoint") |
| | | public List<PointPO> getPoint(@RequestParam List<Integer> list, |
| | | @RequestParam Double airportLat, |
| | | @RequestParam Double airportLon) { |
| | | List<LotInfo> lotInfos = getPatchesService.getLotInfosByIds(list); |
| | | return GeoToolsUtil.getRoutePointOrder(lotInfos, airportLat, airportLon); |
| | | } |
| | | |
| | | @PostMapping("/patchesToWayline") |
| | | public ResponseResult patchesToWayline(@RequestBody List<LotInfo> list, |
| | | public ResponseResult patchesToWayline(@RequestBody List<LotInfo> lotInfos, |
| | | @RequestParam String waylineName, |
| | | @RequestParam String workspaceId, |
| | | @RequestParam(required = false) String patchesId, |
| | | @RequestParam double lat, |
| | | @RequestParam double lon, |
| | | @RequestParam(defaultValue = "1", required = false) String isTemp, |
| | | HttpServletRequest request) throws IOException { |
| | | CustomClaim customClaim = (CustomClaim)request.getAttribute(TOKEN_CLAIM); |
| | | CustomClaim customClaim = (CustomClaim) request.getAttribute(TOKEN_CLAIM); |
| | | String creator = customClaim.getUsername(); |
| | | MultipartFile file=timerUtil.getFile(waylineName,list); |
| | | waylineFileService.importKmzFileBack(file, workspaceId, creator); |
| | | MultipartFile file = timerUtil.getFile(waylineName, lotInfos, lat, lon); |
| | | waylineFileService.importKmzFile(file, workspaceId, creator, patchesId, isTemp); |
| | | WaylineFileEntity entity = waylineFileService.selectByName(waylineName); |
| | | Map<String, String> infoMap = new HashMap<>(); |
| | | URL url = null; |
| | |
| | | @GetMapping("/useMyTask") |
| | | public ResponseResult useMyTask() throws Exception { |
| | | try { |
| | | // timerUtil.myTask(); |
| | | timerUtil.myTask2(); |
| | | return ResponseResult.success(); |
| | | // TimerUtil.mytask10(); |
| | | // timerUtil.myTask2(); |
| | | // timerUtil.myTask3(); |
| | | // timerUtil.mytask4(); |
| | | // timerUtil.mytask5(); |
| | | // timerUtil.mytask6(); |
| | | // timerUtil.mytask7(); |
| | | timerUtil.GtdbOperation(); |
| | | } catch (Exception e) { |
| | | throw new RuntimeException("db存储发送出现异常"+e); |
| | | throw new RuntimeException("db存储发送出现异常" + e); |
| | | } |
| | | return ResponseResult.success(); |
| | | } |
| | | // @GetMapping ("/tests") |
| | | // public ResponseResult use() { |
| | | // try { |
| | | // TimerUtil.sendPostWithFileAndParameter("src/main/resources/tmp/20240613/205621_635148ea-0ddb-4b23-945c-8a67abd813c9.db", |
| | | // "635148ea-0ddb-4b23-945c-8a67abd813c9"); |
| | | // } catch (IOException e) { |
| | | // throw new RuntimeException(e); |
| | | // } |
| | | // return ResponseResult.success(); |
| | | // } |
| | | |
| | | @GetMapping("/tests") |
| | | public ResponseResult use() { |
| | | ExecutorService executor = Executors.newSingleThreadExecutor(); |
| | | executor.execute(() -> { |
| | | try { |
| | | timerUtil.sendPostWithFileAndParameter("DB/result_db.db", |
| | | "635148ea-0ddb-4b23-945c-8a67abd813c9"); |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | }); |
| | | executor.shutdown(); |
| | | return ResponseResult.success(); |
| | | } |
| | | |
| | | @PostMapping("/way") |
| | | public void getway(@RequestParam("file") MultipartFile file, |
| | | @RequestParam String workspaceId, |
| | | @RequestParam String waylineName, |
| | | @RequestParam String username) { |
| | | waylineFileService.importKmzFileBack(file, workspaceId, username); |
| | | } |
| | | |
| | | /** |
| | | * 根据图斑的地块编号获取相对应音视频 |
| | |
| | | @RequestParam(name = "page_size", defaultValue = "10") Integer pageSize, |
| | | @RequestParam String workspaceId, |
| | | @RequestParam String dkbh) { |
| | | |
| | | try { |
| | | PatchesParam param = PatchesParam.builder() |
| | | .page(page) |
| | |
| | | @RequestParam double airportLat, |
| | | @RequestParam double airportLon, |
| | | HttpServletRequest request) throws Exception { |
| | | MultipartFile multipartFile = shpToDataSourceService.insertGeo(file, workspaceId, waylineName, airportLat, airportLon); |
| | | CustomClaim customClaim = (CustomClaim) request.getAttribute(TOKEN_CLAIM); |
| | | String creator = customClaim.getUsername(); |
| | | MultipartFile multipartFile = shpToDataSourceService.insertGeo(file, workspaceId, waylineName, airportLat, airportLon, creator); |
| | | waylineFileService.importKmzFileBack(multipartFile, workspaceId, creator); |
| | | WaylineFileEntity entity = waylineFileService.selectByName(waylineName); |
| | | Map<String, String> infoMap = new HashMap<>(); |
| | |
| | | } |
| | | return ResponseResult.success(infoMap); |
| | | } |
| | | |
| | | @GetMapping("/getExcel") |
| | | public ResponseEntity<byte[]> exportExcel(@RequestParam String workspaceId) { |
| | | List<LotInfo> lotInfos = getPatchesService.listLotinfo(workspaceId); |
| | | try { |
| | | ByteArrayInputStream excelStream = ExcelUtil.exportLotInfoToExcel(lotInfos); |
| | | byte[] excelData = excelStream.readAllBytes(); |
| | | excelStream.close(); |
| | | |
| | | HttpHeaders headers = new HttpHeaders(); |
| | | headers.add(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=lot_info_data.xlsx"); |
| | | headers.add(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_OCTET_STREAM_VALUE); |
| | | headers.setContentLength(excelData.length); |
| | | |
| | | return new ResponseEntity<>(excelData, headers, HttpStatus.OK); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | return new ResponseEntity<>(("Failed to generate Excel file.").getBytes(), HttpStatus.INTERNAL_SERVER_ERROR); |
| | | } |
| | | } |
| | | } |