Browse Source

修改获取飞行日志代码

tags/v1.3.1
wanjing 1 year ago
parent
commit
e8212db626
5 changed files with 49 additions and 22 deletions
  1. +5
    -0
      tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/tzhl/constant/TZHLConstant.java
  2. +16
    -0
      tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/tzhl/response/TZHLFlyLogResponse.java
  3. +7
    -0
      tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/tzhl/service/fly/log/FlyLogByNormalService.java
  4. +14
    -9
      tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/tzhl/service/fly/log/FlyLogService.java
  5. +7
    -13
      tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/tzhl/task/FlyLogTask.java

+ 5
- 0
tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/tzhl/constant/TZHLConstant.java View File

*/ */
String HL_TOKEN_KEY = "HL_TOKEN"; String HL_TOKEN_KEY = "HL_TOKEN";


/**
* reids:fly log key
*/
String HL_FLY_LOG = "HL_FLY_LOG_";

/** /**
* 天翼星云机场平台:票据登录 * 天翼星云机场平台:票据登录
*/ */

+ 16
- 0
tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/tzhl/response/TZHLFlyLogResponse.java View File

*/ */
private String content; private String content;


private String searchValue;

private String createBy;

private String createTime;

private String createTimeFrom;

private String createTimeTo;

private String updateBy;

private String updateTime;

private String remark;

} }

+ 7
- 0
tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/tzhl/service/fly/log/FlyLogByNormalService.java View File

import com.tuoheng.admin.mapper.InspectionMapper; import com.tuoheng.admin.mapper.InspectionMapper;
import com.tuoheng.admin.service.third.dsp.IDspService; import com.tuoheng.admin.service.third.dsp.IDspService;
import com.tuoheng.admin.tzhl.response.TZHLFlyLogResponse; import com.tuoheng.admin.tzhl.response.TZHLFlyLogResponse;
import com.tuoheng.admin.tzhl.service.fly.data.FlyDataService;
import com.tuoheng.common.core.utils.DateUtils; import com.tuoheng.common.core.utils.DateUtils;
import com.tuoheng.common.core.utils.StringUtils; import com.tuoheng.common.core.utils.StringUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@Autowired @Autowired
private IDspService dspService; private IDspService dspService;


@Autowired
private FlyDataService flyDataService;

public void getFlyLog(Inspection inspection, TZHLFlyLogResponse flyLogResponse) { public void getFlyLog(Inspection inspection, TZHLFlyLogResponse flyLogResponse) {
log.info("获取飞行日志,status=error,title={}", flyLogResponse.getTitle()); log.info("获取飞行日志,status=error,title={}", flyLogResponse.getTitle());




this.updateInspection(inspection); this.updateInspection(inspection);


// 拉取飞行数据
flyDataService.getFlyData(inspection);

dspService.stopAI(inspection.getId()); dspService.stopAI(inspection.getId());
} }



+ 14
- 9
tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/tzhl/service/fly/log/FlyLogService.java View File

package com.tuoheng.admin.tzhl.service.fly.log; package com.tuoheng.admin.tzhl.service.fly.log;


import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.tuoheng.admin.entity.Inspection; import com.tuoheng.admin.entity.Inspection;
import com.tuoheng.admin.tzhl.constant.TZHLConstant; import com.tuoheng.admin.tzhl.constant.TZHLConstant;
import com.tuoheng.admin.tzhl.request.TZHLFlyLogRequest; import com.tuoheng.admin.tzhl.request.TZHLFlyLogRequest;
import com.tuoheng.admin.tzhl.response.TZHLFlyDataResponse; import com.tuoheng.admin.tzhl.response.TZHLFlyDataResponse;
import com.tuoheng.admin.tzhl.response.TZHLFlyLogResponse; import com.tuoheng.admin.tzhl.response.TZHLFlyLogResponse;
import com.tuoheng.admin.tzhl.response.TZHLTokenResponse;
import com.tuoheng.admin.tzhl.service.CallTianYiPlatformService; import com.tuoheng.admin.tzhl.service.CallTianYiPlatformService;
import com.tuoheng.common.core.utils.RedisUtils; import com.tuoheng.common.core.utils.RedisUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@Service @Service
public class FlyLogService { public class FlyLogService {


@Autowired
private RedisUtils redisUtils;

@Autowired @Autowired
private CallTianYiPlatformService callTianYiPlatformService; private CallTianYiPlatformService callTianYiPlatformService;


String apiPath = TZHLConstant.TIAN_YI_API_FLIGHT_LOG; String apiPath = TZHLConstant.TIAN_YI_API_FLIGHT_LOG;
TZHLFlyLogRequest request = new TZHLFlyLogRequest(); TZHLFlyLogRequest request = new TZHLFlyLogRequest();
request.setRecordId(inspection.getRecordId()); request.setRecordId(inspection.getRecordId());
request.setCreateTime(null);
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
String dataJson = callTianYiPlatformService.callGet(apiPath, null);
TZHLFlyLogResponse flyLogResponseOld = (TZHLFlyLogResponse) redisUtils.get(TZHLConstant.HL_FLY_LOG + inspection.getId());
if (ObjectUtil.isNotEmpty(flyLogResponseOld)) {
String createTime = flyLogResponseOld.getCreateTime();
request.setCreateTime(createTime);
}
String dataJson = callTianYiPlatformService.callPost(apiPath, request);
TZHLFlyLogResponse flyLogResponse = JSON.parseObject(dataJson, TZHLFlyLogResponse.class); TZHLFlyLogResponse flyLogResponse = JSON.parseObject(dataJson, TZHLFlyLogResponse.class);
redisUtils.set(TZHLConstant.HL_FLY_LOG + inspection.getId(), flyLogResponse);
log.info("获取飞行日志,flyLogResponse={}", flyLogResponse); log.info("获取飞行日志,flyLogResponse={}", flyLogResponse);
if ("success".equals(flyLogResponse.getStatus())) { if ("success".equals(flyLogResponse.getStatus())) {
flyLogBySuccessService.getFlyLog(inspection, flyLogResponse); flyLogBySuccessService.getFlyLog(inspection, flyLogResponse);
} else if ("success".equals(flyLogResponse.getStatus())) {
} else if ("error".equals(flyLogResponse.getStatus())) {
flyLogByErrorService.getFlyLog(inspection, flyLogResponse); flyLogByErrorService.getFlyLog(inspection, flyLogResponse);
} else if ("success".equals(flyLogResponse.getStatus())) {
} else if ("normal".equals(flyLogResponse.getStatus())) {
flyLogByNormalService.getFlyLog(inspection, flyLogResponse); flyLogByNormalService.getFlyLog(inspection, flyLogResponse);
} else { } else {
log.info("status类型不匹配"); log.info("status类型不匹配");
} }
} }



} }

+ 7
- 13
tuoheng-service/tuoheng-admin/src/main/java/com/tuoheng/admin/tzhl/task/FlyLogTask.java View File



import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.tuoheng.admin.entity.Inspection; import com.tuoheng.admin.entity.Inspection;
import com.tuoheng.admin.enums.InspectionFileStatusEnum;
import com.tuoheng.admin.enums.InspectionStatusEnum; import com.tuoheng.admin.enums.InspectionStatusEnum;
import com.tuoheng.admin.enums.InspectionTypeEnum; import com.tuoheng.admin.enums.InspectionTypeEnum;
import com.tuoheng.admin.enums.MarkEnum; import com.tuoheng.admin.enums.MarkEnum;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;


import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;




@XxlJob("telecomumaleFlyLogTaskHandler") @XxlJob("telecomumaleFlyLogTaskHandler")
public void airportTaskHandler() { public void airportTaskHandler() {
// 查询当前时间正负1分钟的时间跨度,xxljob执行频率为1分钟1次
long start = new Date().getTime() - 1 * 60000L;
long end = new Date().getTime() + 1 * 60000L;
Date startTime = new Date(start);
Date endTime = new Date(end);

log.info("执行定时执行飞行任务:" + LocalDateTime.now());
log.info("执行定时,获取飞行日志:" + LocalDateTime.now());
List<Integer> statusList = new ArrayList<>();
statusList.add(InspectionStatusEnum.PREPARING.getCode());
statusList.add(InspectionStatusEnum.IN_FLIGHT.getCode());
List<Inspection> inspectionList = inspectionMapper.selectList(new LambdaQueryWrapper<Inspection>() List<Inspection> inspectionList = inspectionMapper.selectList(new LambdaQueryWrapper<Inspection>()
.eq(Inspection::getMark, MarkEnum.VALID.getCode()) .eq(Inspection::getMark, MarkEnum.VALID.getCode())
.between(Inspection::getInspectionTime, startTime, endTime)
//查询巡检方式为机场的任务
.eq(Inspection::getInspectionType, InspectionTypeEnum.AIRPORT.getCode()) .eq(Inspection::getInspectionType, InspectionTypeEnum.AIRPORT.getCode())
//查询未执行任务
.eq(Inspection::getExecutionStatus, 1)
//任务待飞行
.eq(Inspection::getStatus, InspectionStatusEnum.PREPARING.getCode()));
.in(Inspection::getStatus,statusList));
log.info("执行定时执行飞行任务:机场任务数" + inspectionList.size()); log.info("执行定时执行飞行任务:机场任务数" + inspectionList.size());
if (StringUtils.isEmpty(inspectionList)) { if (StringUtils.isEmpty(inspectionList)) {
return; return;

Loading…
Cancel
Save