package com.dji.sample.droneairport.controller; import com.dji.sample.common.model.CustomClaim; import com.dji.sample.common.model.ResponseResult; import com.dji.sample.droneairport.dao.DeviceExpanSionMapper; import com.dji.sample.droneairport.model.param.ReturnTaskParam; import com.dji.sample.droneairport.service.RegistService; import com.dji.sample.manage.service.impl.DeviceRedisServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import static com.dji.sample.component.AuthInterceptor.TOKEN_CLAIM; @RequestMapping("/droneAirport") @RestController public class RegistController { @Autowired private RegistService registService; @Autowired private DeviceExpanSionMapper expanSionDao; @Autowired private DeviceRedisServiceImpl deviceRedisService; // @PostMapping("/RegistService") // public ResponseResult resgitePort(@RequestBody RegistDto param) { // return ResponseResult.success(registService.registPort(param)); // } // @PostMapping("/authorization") // public ResponseResult checkDeviceOnline(@RequestBody String body, HttpServletRequest request) throws Exception { // String headerValue = request.getHeader("x-lc-secret"); // return registService.authorization(body, headerValue); // // } @PostMapping("/addDevice/{workspace_id}") public ResponseResult registeDrone(@PathVariable(name = "workspace_id") String workspaceId) { return ResponseResult.success(registService.addDrone(workspaceId)); } @GetMapping("/getDroneStatus/{deviceid}") public ResponseResult droneStatus(@PathVariable(name = "deviceid") String deviceid, HttpServletResponse response) throws Exception { return ResponseResult.success(registService.getDroneState(deviceid)); } @PostMapping("/AddTask") public ResponseResult AddTask(HttpServletRequest request, @RequestBody String body) throws Exception { String headerValue = request.getHeader("x-lc-secret"); CustomClaim customClaim = (CustomClaim) request.getAttribute(TOKEN_CLAIM); String creator = customClaim.getUsername(); ReturnTaskParam param = registService.AddTask(body, headerValue, creator); return ResponseResult.success(200, "无人机机场任务添加成功", param.getTraceId(), param.getJobId()); } @GetMapping("/cancelTask/{taskId}") public ResponseResult cancelTask(@PathVariable(name = "taskId") String taskId) { return ResponseResult.success(registService.cancelTask(taskId)); } @PostMapping("/updateTask") public ResponseResult updateTask(HttpServletRequest request, @RequestBody String body) throws Exception { String headerValue = request.getHeader("x-lc-secret"); CustomClaim customClaim = (CustomClaim) request.getAttribute(TOKEN_CLAIM); String creator = customClaim.getUsername(); ReturnTaskParam param = registService.updateTask(body, headerValue, creator); return ResponseResult.success(200, "无人机机场任务添加成功", param.getTraceId(), param.getJobId()); } @PostMapping("/queryTaskStatus") public ResponseResult queryTaskStatus(HttpServletRequest request, @RequestParam String taskid) throws Exception { return registService.queryTaskStatus(taskid); } @GetMapping("/getResult/{taskId}") public ResponseResult getResult(@PathVariable(name = "taskId") String taskId) { return ResponseResult.success(200, "无人机成果获取成功!",registService.findDbFilesByTaskId(taskId)); } @PostMapping("/test") public ResponseResult test(@RequestParam String workspaceId) { return ResponseResult.success(registService.getDistinctTaskIdCount(workspaceId)); } }