|
|
@@ -0,0 +1,74 @@ |
|
|
|
package com.tuoheng.admin.service.third.airport; |
|
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; |
|
|
|
import com.tuoheng.admin.constant.SystemConstant; |
|
|
|
import com.tuoheng.admin.entity.Inspection; |
|
|
|
import com.tuoheng.admin.enums.InspectionStatusEnum; |
|
|
|
import com.tuoheng.admin.enums.MarkEnum; |
|
|
|
import com.tuoheng.admin.mapper.InspectionMapper; |
|
|
|
import com.tuoheng.admin.request.accident.ReversalFlightRequest; |
|
|
|
import com.tuoheng.common.core.config.common.CommonConfig; |
|
|
|
import com.tuoheng.common.core.exception.ServiceException; |
|
|
|
import com.tuoheng.common.core.utils.HttpUtils; |
|
|
|
import com.tuoheng.common.core.utils.JsonResult; |
|
|
|
import com.tuoheng.common.core.utils.StringUtils; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
/** |
|
|
|
* @Author ChengWang |
|
|
|
* @Date 2023/3/14 |
|
|
|
*/ |
|
|
|
@Slf4j |
|
|
|
@Service |
|
|
|
public class ReversalFlightService { |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private InspectionMapper inspectionMapper; |
|
|
|
|
|
|
|
/** |
|
|
|
* 应急飞行(回仓) |
|
|
|
* @param request |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
public JsonResult reversalFlight(ReversalFlightRequest request) { |
|
|
|
|
|
|
|
log.info("进入调用机场平台,执行定点飞行"); |
|
|
|
//校验传参 |
|
|
|
if(null == request.getAirportId()){ |
|
|
|
throw new ServiceException("机场id为空"); |
|
|
|
} |
|
|
|
// if(null == request.getTaskId()){ |
|
|
|
// throw new ServiceException("任务id为空"); |
|
|
|
// } |
|
|
|
//根据任务对应的机场查询对应任务id |
|
|
|
Inspection inspection = inspectionMapper.selectOne(new LambdaQueryWrapper<Inspection>() |
|
|
|
.eq(Inspection::getAirportId, request.getAirportId()) |
|
|
|
.eq(Inspection::getMark, MarkEnum.VALID.getCode()) |
|
|
|
.eq(Inspection::getStatus, InspectionStatusEnum.IN_FLIGHT.getCode())); |
|
|
|
if(ObjectUtils.isNotEmpty(inspection)){ |
|
|
|
request.setTaskId(Integer.valueOf(inspection.getId())); |
|
|
|
} |
|
|
|
request.setTaskId(Integer.valueOf(inspection.getId())); |
|
|
|
request.setZhilin("03"); |
|
|
|
//调用机场平台让飞机返航 |
|
|
|
String url = CommonConfig.airportURL + SystemConstant.API_AIRPORT_REVERSAL_FLIGH; |
|
|
|
JSONObject jsonObject = new JSONObject(); |
|
|
|
jsonObject.put("taskId",request.getTaskId()); |
|
|
|
jsonObject.put("airportId",request.getAirportId()); |
|
|
|
jsonObject.put("zhilin",request.getZhilin()); |
|
|
|
log.info("调用机场平台,无人机执行定点飞行返航:url:{}",url); |
|
|
|
log.info("调用机场平台,原无人机执行定点飞行,jsonObject:{}",jsonObject); |
|
|
|
|
|
|
|
String airPortStr = HttpUtils.doSend(url, jsonObject, null, "POST"); |
|
|
|
if (StringUtils.isEmpty(airPortStr)) { |
|
|
|
log.info("原无人机执行定点飞行返航:机场接口返回数据为空,飞行失败,jsonObject:{}", jsonObject); |
|
|
|
throw new ServiceException("机场接口返回数据为空,飞行失败"); |
|
|
|
} |
|
|
|
|
|
|
|
return JsonResult.success(); |
|
|
|
} |
|
|
|
} |