import com.tuoheng.admin.dto.InspectionDto; | import com.tuoheng.admin.dto.InspectionDto; | ||||
import com.tuoheng.admin.entity.FlightData; | import com.tuoheng.admin.entity.FlightData; | ||||
import com.tuoheng.admin.request.inspection.AddInspectionRequest; | |||||
import com.tuoheng.admin.request.inspection.EditInspectionRequest; | |||||
import com.tuoheng.admin.request.inspection.QueryInspectionPageListRequest; | |||||
import com.tuoheng.admin.request.inspection.*; | |||||
import com.tuoheng.admin.service.inspection.IInspectionService; | import com.tuoheng.admin.service.inspection.IInspectionService; | ||||
import com.tuoheng.common.core.utils.JsonResult; | import com.tuoheng.common.core.utils.JsonResult; | ||||
import lombok.extern.slf4j.Slf4j; | import lombok.extern.slf4j.Slf4j; | ||||
return iInspectionService.getNewInspectionList(); | return iInspectionService.getNewInspectionList(); | ||||
} | } | ||||
/** | |||||
* 上传离线视频 | |||||
* | |||||
* @param request | |||||
* @return | |||||
*/ | |||||
@PostMapping("/uploadFlightUrl") | |||||
public JsonResult uploadFlightUrl(@RequestBody UploadFlightUrlRequest request) { | |||||
return iInspectionService.uploadFlightUrl(request); | |||||
} | |||||
/** | |||||
* 修改巡检任务 | |||||
* | |||||
* @param request | |||||
* @return | |||||
*/ | |||||
@PostMapping("/updateTaskByCode") | |||||
public JsonResult updateTaskByCode(@RequestBody UpdateTaskByCodeRequest request) { | |||||
return iInspectionService.updateTaskByCode(request); | |||||
} | |||||
} | } |
import com.alibaba.fastjson.JSONObject; | import com.alibaba.fastjson.JSONObject; | ||||
import com.tuoheng.admin.request.inspection.InspectionRequest; | import com.tuoheng.admin.request.inspection.InspectionRequest; | ||||
import com.tuoheng.admin.request.inspection.MissionStatusRequest; | import com.tuoheng.admin.request.inspection.MissionStatusRequest; | ||||
import com.tuoheng.admin.service.airport.AirportService; | |||||
import com.tuoheng.admin.service.inspection.IInspectionService; | import com.tuoheng.admin.service.inspection.IInspectionService; | ||||
import com.tuoheng.common.core.common.OperationEnum; | import com.tuoheng.common.core.common.OperationEnum; | ||||
import com.tuoheng.common.core.utils.JsonResult; | import com.tuoheng.common.core.utils.JsonResult; | ||||
*/ | */ | ||||
@Slf4j | @Slf4j | ||||
@RestController | @RestController | ||||
@RequestMapping("/airport/callback") | |||||
@RequestMapping("/airport/inspection") | |||||
public class AirPortCallbackController { | public class AirPortCallbackController { | ||||
@Autowired | @Autowired | ||||
return iInspectionService.updateStatus(missionStatusRequest); | return iInspectionService.updateStatus(missionStatusRequest); | ||||
} | } | ||||
/** | /** | ||||
* 被硬件调用,存飞行轨迹 | * 被硬件调用,存飞行轨迹 | ||||
*/ | */ | ||||
return iInspectionService.track(inspectionRequest); | return iInspectionService.track(inspectionRequest); | ||||
} | } | ||||
} | } |
package com.tuoheng.admin.controller.callback; | package com.tuoheng.admin.controller.callback; | ||||
import com.tuoheng.admin.request.inspection.UpdateTaskByCodeRequest; | |||||
import com.tuoheng.admin.request.inspection.UploadFlightUrlRequest; | |||||
import com.tuoheng.admin.service.inspection.IInspectionService; | import com.tuoheng.admin.service.inspection.IInspectionService; | ||||
import com.tuoheng.common.core.utils.JsonResult; | |||||
import lombok.extern.slf4j.Slf4j; | import lombok.extern.slf4j.Slf4j; | ||||
import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||
import org.springframework.web.bind.annotation.PostMapping; | |||||
import org.springframework.web.bind.annotation.RequestBody; | |||||
import org.springframework.web.bind.annotation.RequestMapping; | import org.springframework.web.bind.annotation.RequestMapping; | ||||
import org.springframework.web.bind.annotation.RestController; | import org.springframework.web.bind.annotation.RestController; | ||||
@Autowired | @Autowired | ||||
private IInspectionService iInspectionService; | private IInspectionService iInspectionService; | ||||
/** | |||||
* 上传离线视频 | |||||
* | |||||
* @param request | |||||
* @return | |||||
*/ | |||||
@PostMapping("/uploadFlightUrl") | |||||
public JsonResult uploadFlightUrl(@RequestBody UploadFlightUrlRequest request) { | |||||
return iInspectionService.uploadFlightUrl(request); | |||||
} | |||||
/** | |||||
* 修改巡检任务 | |||||
* | |||||
* @param request | |||||
* @return | |||||
*/ | |||||
@PostMapping("/updateTaskByCode") | |||||
public JsonResult updateTaskByCode(@RequestBody UpdateTaskByCodeRequest request) { | |||||
return iInspectionService.updateTaskByCode(request); | |||||
} | |||||
} | } |
* @return | * @return | ||||
*/ | */ | ||||
public JsonResult executeTask(String userId, String tenantId, Inspection inspection) { | public JsonResult executeTask(String userId, String tenantId, Inspection inspection) { | ||||
log.info("进入调用机场平台方法"); | |||||
// 读取不同租户的机场平台url | // 读取不同租户的机场平台url | ||||
Tenant tenant = tenantMapper.selectById(inspection.getTenantId()); | Tenant tenant = tenantMapper.selectById(inspection.getTenantId()); | ||||
if (ObjectUtil.isEmpty(tenant)) { | if (ObjectUtil.isEmpty(tenant)) { | ||||
log.info("进入调用机场平台方法: 租户不存在"); | |||||
return JsonResult.error(ExecuteInspectionCodeEnum.TENANT_IS_NOT_EXIST.getCode(), ExecuteInspectionCodeEnum.TENANT_IS_NOT_EXIST.getMsg()); | return JsonResult.error(ExecuteInspectionCodeEnum.TENANT_IS_NOT_EXIST.getCode(), ExecuteInspectionCodeEnum.TENANT_IS_NOT_EXIST.getMsg()); | ||||
} | } | ||||
if (StringUtils.isEmpty(tenant.getAirportUrl())) { | if (StringUtils.isEmpty(tenant.getAirportUrl())) { | ||||
log.info("进入调用机场平台方法: 机场平台URL为空"); | |||||
return JsonResult.error(ExecuteInspectionCodeEnum.AIRPORT_URL_IS_NULL.getCode(), ExecuteInspectionCodeEnum.AIRPORT_URL_IS_NULL.getMsg()); | return JsonResult.error(ExecuteInspectionCodeEnum.AIRPORT_URL_IS_NULL.getCode(), ExecuteInspectionCodeEnum.AIRPORT_URL_IS_NULL.getMsg()); | ||||
} | } | ||||
jsonObject.put("code", "gs"); // 与机场平台约定好的 | jsonObject.put("code", "gs"); // 与机场平台约定好的 | ||||
jsonObject.put("tenantName", tenant.getName()); | jsonObject.put("tenantName", tenant.getName()); | ||||
log.info("进入调用机场平台方法: url:{}", url); | |||||
log.info("进入调用机场平台方法: jsonObject:{}", jsonObject); | |||||
String airPortStr = HttpUtils.doSend(url, jsonObject, null, "POST"); | String airPortStr = HttpUtils.doSend(url, jsonObject, null, "POST"); | ||||
if (StringUtils.isEmpty(airPortStr)) { | if (StringUtils.isEmpty(airPortStr)) { | ||||
log.info("立即执行任务业务:机场接口返回数据为空,任务id:{},任务名称:{},机场id:{},机场名称:{}, 路线id:{},路线名称:{}", | log.info("立即执行任务业务:机场接口返回数据为空,任务id:{},任务名称:{},机场id:{},机场名称:{}, 路线id:{},路线名称:{}", |
return JsonResult.success(); | return JsonResult.success(); | ||||
} | } | ||||
/** | |||||
* 调用DSP接口 | |||||
* | |||||
* @param missionStatusRequest | |||||
* @return | |||||
*/ | |||||
private JsonResult startAI(MissionStatusRequest missionStatusRequest) { | private JsonResult startAI(MissionStatusRequest missionStatusRequest) { | ||||
//调用DSP接口 | |||||
log.info("进入调用DSP接口方法"); | |||||
JSONObject request = new JSONObject(); | JSONObject request = new JSONObject(); | ||||
JSONArray configList = new JSONArray(); | JSONArray configList = new JSONArray(); | ||||
JSONObject instConfigMode = new JSONObject(); | JSONObject instConfigMode = new JSONObject(); | ||||
if (responseJson.getIntValue("code") == 0) { | if (responseJson.getIntValue("code") == 0) { | ||||
String requestId = responseJson.getJSONObject("data").getString("requestId"); | String requestId = responseJson.getJSONObject("data").getString("requestId"); | ||||
log.info("dsp实时调用响应requestId:{}", requestId); | log.info("dsp实时调用响应requestId:{}", requestId); | ||||
} else { | } else { | ||||
log.error("dsp实时调用失败:{}", responseJson); | log.error("dsp实时调用失败:{}", responseJson); | ||||
return JsonResult.error(EditInspectionStatusCodeEnum.TASK_ANALYSIS_FAILED.getCode(), EditInspectionStatusCodeEnum.TASK_ANALYSIS_FAILED.getMsg()); | return JsonResult.error(EditInspectionStatusCodeEnum.TASK_ANALYSIS_FAILED.getCode(), EditInspectionStatusCodeEnum.TASK_ANALYSIS_FAILED.getMsg()); | ||||
return JsonResult.success(responseJson); | return JsonResult.success(responseJson); | ||||
} | } | ||||
/** | |||||
* 处理通道数据 | |||||
* | |||||
* @param inspection | |||||
* @param dspCallbackVo | |||||
*/ | |||||
private void liveChannelHandle(Inspection inspection, DspCallbackVo dspCallbackVo) { | private void liveChannelHandle(Inspection inspection, DspCallbackVo dspCallbackVo) { | ||||
log.info("进入处理通道数据方法"); | |||||
// 通道表新增 | // 通道表新增 | ||||
LiveChannel liveChannel = this.buildLiveChannel(inspection, dspCallbackVo); | LiveChannel liveChannel = this.buildLiveChannel(inspection, dspCallbackVo); | ||||
// 查验是否存在 | // 查验是否存在 |
* @return | * @return | ||||
*/ | */ | ||||
public JsonResult updateStatus(MissionStatusRequest missionStatusRequest) { | public JsonResult updateStatus(MissionStatusRequest missionStatusRequest) { | ||||
log.info("进入修改任务状态业务接口"); | |||||
log.info("进入修改任务状态业务接口, missionStatusRequest:{}", missionStatusRequest); | |||||
String tenantId = CurrentUserUtil.getTenantId(); | String tenantId = CurrentUserUtil.getTenantId(); | ||||
JsonResult result = this.check(tenantId, missionStatusRequest); | JsonResult result = this.check(tenantId, missionStatusRequest); | ||||
if (0 != result.getCode()) { | if (0 != result.getCode()) { | ||||
Inspection inspection = (Inspection) result.getData(); | Inspection inspection = (Inspection) result.getData(); | ||||
if (AirPortTaskStatusEnum.FLIGHT.getCode() != missionStatusRequest.getStatus() && AirPortTaskStatusEnum.WAIT.getCode() == missionStatusRequest.getStatus()) { | if (AirPortTaskStatusEnum.FLIGHT.getCode() != missionStatusRequest.getStatus() && AirPortTaskStatusEnum.WAIT.getCode() == missionStatusRequest.getStatus()) { | ||||
log.info("修改任务状态业务接口:飞行状态出错!"); | |||||
return JsonResult.error(EditInspectionStatusCodeEnum.TASK_NOT_STATUS.getCode(), EditInspectionStatusCodeEnum.TASK_NOT_STATUS.getMsg()); | return JsonResult.error(EditInspectionStatusCodeEnum.TASK_NOT_STATUS.getCode(), EditInspectionStatusCodeEnum.TASK_NOT_STATUS.getMsg()); | ||||
} | } | ||||
if (AirPortTaskStatusEnum.FLIGHT.getCode() == missionStatusRequest.getStatus()) { | if (AirPortTaskStatusEnum.FLIGHT.getCode() == missionStatusRequest.getStatus()) { | ||||
log.info("修改任务状态业务接口:修改执行中状态"); | |||||
updateFlightStatusService.updateFlightStatus(inspection, missionStatusRequest); | updateFlightStatusService.updateFlightStatus(inspection, missionStatusRequest); | ||||
} else if (AirPortTaskStatusEnum.WAIT.getCode() == missionStatusRequest.getStatus()) { | } else if (AirPortTaskStatusEnum.WAIT.getCode() == missionStatusRequest.getStatus()) { | ||||
log.info("修改任务状态业务接口:修改待执行状态"); | |||||
updateWaittStatusService.updateWaittStatus(inspection); | updateWaittStatusService.updateWaittStatus(inspection); | ||||
} | } | ||||