Browse Source

机场平台地址从租户中移除,改为从配置文件中读取

tags/v1.2.0^2
wanjing 1 year ago
parent
commit
0bf017ad84
8 changed files with 28 additions and 109 deletions
  1. +0
    -5
      tuoheng-admin/src/main/java/com/tuoheng/admin/entity/domain/Tenant.java
  2. +0
    -23
      tuoheng-admin/src/main/java/com/tuoheng/admin/service/airport/drone/QueryDroneDataService.java
  3. +1
    -2
      tuoheng-admin/src/main/java/com/tuoheng/admin/service/impl/IndexServiceImpl.java
  4. +6
    -24
      tuoheng-admin/src/main/java/com/tuoheng/admin/service/impl/ThInspectionServiceImpl.java
  5. +2
    -41
      tuoheng-admin/src/main/java/com/tuoheng/admin/service/third/airport/DroneControlService.java
  6. +5
    -10
      tuoheng-admin/src/main/java/com/tuoheng/admin/service/third/airport/PointFlightService.java
  7. +0
    -4
      tuoheng-admin/src/main/java/com/tuoheng/admin/service/warning/query/QueryWarningByIdService.java
  8. +14
    -0
      tuoheng-common/src/main/java/com/tuoheng/common/config/CommonConfig.java

+ 0
- 5
tuoheng-admin/src/main/java/com/tuoheng/admin/entity/domain/Tenant.java View File

*/ */
private String email; private String email;


/**
* 机场调用邮箱
*/
private String airportUrl;

/** /**
* 省份编号 * 省份编号
*/ */

+ 0
- 23
tuoheng-admin/src/main/java/com/tuoheng/admin/service/airport/drone/QueryDroneDataService.java View File

import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.tuoheng.admin.conver.InspectionConverMapper; import com.tuoheng.admin.conver.InspectionConverMapper;
import com.tuoheng.admin.entity.domain.Tenant;
import com.tuoheng.admin.entity.domain.ThInspection; import com.tuoheng.admin.entity.domain.ThInspection;
import com.tuoheng.admin.entity.domain.ThMission; import com.tuoheng.admin.entity.domain.ThMission;
import com.tuoheng.admin.entity.vo.index.DroneDataVo; import com.tuoheng.admin.entity.vo.index.DroneDataVo;
throw new ServiceException("机场ID为空"); throw new ServiceException("机场ID为空");
} }
} }

/**
* 获取租户
*
* @param tenantId
* @return
*/
private Tenant getTenant(Integer tenantId) {
Tenant tenant = tenantMapper.selectById(tenantId);
if (ObjectUtil.isEmpty(tenant)) {
log.info("调用机场平台,操作无人机: 租户不存在");
throw new ServiceException("租户不存在");
}

if (StringUtils.isEmpty(tenant.getAirportUrl())) {
log.info("调用机场平台,操作无人机: 机场平台URL为空");
throw new ServiceException("机场平台URL为空");
}
return tenant;
}


} }

+ 1
- 2
tuoheng-admin/src/main/java/com/tuoheng/admin/service/impl/IndexServiceImpl.java View File



@Override @Override
public JsonResult getAirportDetail(Integer airportId){ public JsonResult getAirportDetail(Integer airportId){
Tenant tenant = tenantMapper.selectById(ShiroUtils.getTenantId());
String url = tenant.getAirportUrl() +"/api/airportInterface/getAirportStatus";
String url = CommonConfig.airportURL +"/api/airportInterface/getAirportStatus";
String param = "airportId=" + airportId; String param = "airportId=" + airportId;
String result = HttpUtils.sendGet(url, param); String result = HttpUtils.sendGet(url, param);
JsonResult jsonResult = JacksonUtil.json2pojo(result, JsonResult.class); JsonResult jsonResult = JacksonUtil.json2pojo(result, JsonResult.class);

+ 6
- 24
tuoheng-admin/src/main/java/com/tuoheng/admin/service/impl/ThInspectionServiceImpl.java View File

import com.tuoheng.admin.service.IMissionService; import com.tuoheng.admin.service.IMissionService;
import com.tuoheng.admin.service.IThInspectionService; import com.tuoheng.admin.service.IThInspectionService;
import com.tuoheng.common.common.BaseServiceImpl; import com.tuoheng.common.common.BaseServiceImpl;
import com.tuoheng.common.config.CommonConfig;
import com.tuoheng.common.exception.ServiceException; import com.tuoheng.common.exception.ServiceException;
import com.tuoheng.common.utils.*; import com.tuoheng.common.utils.*;
import com.tuoheng.system.entity.User; import com.tuoheng.system.entity.User;


@Override @Override
public List<AirPortVO> airport() throws ServiceException, UnsupportedEncodingException { public List<AirPortVO> airport() throws ServiceException, UnsupportedEncodingException {
//这边需要配置到yml文件里面
Tenant tenant = tenantMapper.selectById(ShiroUtils.getTenantId()); Tenant tenant = tenantMapper.selectById(ShiroUtils.getTenantId());
String url = tenant.getAirportUrl() + "/api/airportInterface/airportList";
String url = CommonConfig.airportURL + "/api/airportInterface/airportList";
String param = "page=1&limit=1000&tenantCode=" + tenant.getCode(); String param = "page=1&limit=1000&tenantCode=" + tenant.getCode();
log.info("****** airportList param tenantCode:{}", tenant.getCode()); log.info("****** airportList param tenantCode:{}", tenant.getCode());
String airPortStr = HttpUtils.sendGet(url, param); String airPortStr = HttpUtils.sendGet(url, param);


@Override @Override
public List<AirLineVO> airLine(Integer droneId) throws ServiceException { public List<AirLineVO> airLine(Integer droneId) throws ServiceException {
Tenant tenant = tenantMapper.selectById(ShiroUtils.getTenantId());
//这边需要配置到yml文件里面
String url = tenant.getAirportUrl() + "/api/airportInterface/taskByDroneId";
String url = CommonConfig.airportURL + "/api/airportInterface/taskByDroneId";
String param = "page=1&limit=100&droneId=" + droneId; String param = "page=1&limit=100&droneId=" + droneId;
String airPortStr = HttpUtils.sendGet(url, param); String airPortStr = HttpUtils.sendGet(url, param);
JsonResult<AirLineVO> jsonResult = JacksonUtil.json2pojo(airPortStr, JsonResult.class); JsonResult<AirLineVO> jsonResult = JacksonUtil.json2pojo(airPortStr, JsonResult.class);
Tenant tenant = tenantMapper.selectById(user.getTenantId()); Tenant tenant = tenantMapper.selectById(user.getTenantId());
log.info("tenant查询完成"); log.info("tenant查询完成");


//这边需要配置到yml文件里面
log.info("executeTask准备入参"); log.info("executeTask准备入参");
String url = tenant.getAirportUrl() + "/api/airportInterface/executeTaskAnsy";
String url = CommonConfig.airportURL + "/api/airportInterface/executeTaskAnsy";
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("code", "lc"); jsonObject.put("code", "lc");
jsonObject.put("tenantCode", tenant.getCode()); jsonObject.put("tenantCode", tenant.getCode());


@Override @Override
public AirWeatherVO getWeather(Integer airportId) throws ServiceException { public AirWeatherVO getWeather(Integer airportId) throws ServiceException {
log.info("获取天气信息");
log.info("获取天气信息11111");
log.info("获取天气信息, tenantId={}", ShiroUtils.getTenantId());
log.info("获取天气信息22222");
Tenant tenant = tenantMapper.selectById(ShiroUtils.getTenantId());
log.info("获取天气信息, tenant={}", tenant);
log.info("获取天气信息, airportUrl={}", tenant.getAirportUrl());
//这边需要配置到yml文件里面
String url = tenant.getAirportUrl() + "/api/airportInterface/getWeather";
String url = CommonConfig.airportURL + "/api/airportInterface/getWeather";
String param = "airportId=" + airportId; String param = "airportId=" + airportId;
log.info("获取天气信息,调用机场接口");
log.info("获取天气信息,url={}", url);
log.info("获取天气信息,param={}", param);
String weatherStr = HttpUtils.sendGet(url, param); String weatherStr = HttpUtils.sendGet(url, param);
log.info("获取天气信息,调用机场接口结束,weatherStr={}", weatherStr);
JsonResult jsonResult; JsonResult jsonResult;
try { try {
jsonResult = JacksonUtil.json2pojo(weatherStr, JsonResult.class); jsonResult = JacksonUtil.json2pojo(weatherStr, JsonResult.class);


@Override @Override
public JsonResult lineTrack(Integer missionId) { public JsonResult lineTrack(Integer missionId) {
Tenant tenant = tenantMapper.selectById(ShiroUtils.getTenantId());
ThMission thMission = missionMapper.selectById(missionId); ThMission thMission = missionMapper.selectById(missionId);
Assert.notNull(thMission, "任务不能为空!"); Assert.notNull(thMission, "任务不能为空!");
Integer taskId = thMission.getInspectionLine(); Integer taskId = thMission.getInspectionLine();
//解析标准srt文件里面的坐标,调用硬件接口,返回数据 //解析标准srt文件里面的坐标,调用硬件接口,返回数据
String url = tenant.getAirportUrl() + "/api/airportInterface/getLocationById";
String url = CommonConfig.airportURL + "/api/airportInterface/getLocationById";
String param = "id=" + taskId; String param = "id=" + taskId;
String airportLine = HttpUtils.sendGet(url, param); String airportLine = HttpUtils.sendGet(url, param);
JsonResult jsonResult = JacksonUtil.json2pojo(airportLine, JsonResult.class); JsonResult jsonResult = JacksonUtil.json2pojo(airportLine, JsonResult.class);
} }
//根据任务id查询对应的遥测数据 //根据任务id查询对应的遥测数据
List<ThInspection> listData = inspectionMapper.selectListByMissionId(id, ShiroUtils.getTenantId());//xz List<ThInspection> listData = inspectionMapper.selectListByMissionId(id, ShiroUtils.getTenantId());//xz

return JsonResult.success(listData); return JsonResult.success(listData);
} }



} }

+ 2
- 41
tuoheng-admin/src/main/java/com/tuoheng/admin/service/third/airport/DroneControlService.java View File

package com.tuoheng.admin.service.third.airport; package com.tuoheng.admin.service.third.airport;


import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.tuoheng.admin.config.SystemConstant; import com.tuoheng.admin.config.SystemConstant;
import com.tuoheng.admin.entity.domain.Tenant;
import com.tuoheng.admin.entity.request.airport.DroneControlRequest; import com.tuoheng.admin.entity.request.airport.DroneControlRequest;
import com.tuoheng.admin.entity.request.airport.PointFlightRequest;
import com.tuoheng.admin.mapper.TenantMapper; import com.tuoheng.admin.mapper.TenantMapper;
import com.tuoheng.common.config.CommonConfig;
import com.tuoheng.common.exception.ServiceException; import com.tuoheng.common.exception.ServiceException;
import com.tuoheng.common.utils.HttpUtils; import com.tuoheng.common.utils.HttpUtils;
import com.tuoheng.common.utils.JsonResult; import com.tuoheng.common.utils.JsonResult;
import com.tuoheng.common.utils.StringUtils; import com.tuoheng.common.utils.StringUtils;
import com.tuoheng.system.entity.User;
import com.tuoheng.system.utils.ShiroUtils;
import io.swagger.models.auth.In;
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.stereotype.Service; import org.springframework.stereotype.Service;


import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Slf4j @Slf4j
@Service @Service
public class DroneControlService { public class DroneControlService {


public JsonResult execute(DroneControlRequest request) { public JsonResult execute(DroneControlRequest request) {
log.info("进入调用机场平台,操作无人机"); log.info("进入调用机场平台,操作无人机");

this.check(request); this.check(request);

// 读取不同租户的机场平台url
User user = ShiroUtils.getUserInfo();
Integer tenantId = user.getTenantId();

Tenant tenant = this.getTenant(tenantId);

String url = tenant.getAirportUrl() + SystemConstant.API_AIRPORT_POINT_FLIGH;
String url = CommonConfig.airportURL + SystemConstant.API_AIRPORT_POINT_FLIGH;
JSONObject jsonObject = new JSONObject().parseObject(request.getValue()); JSONObject jsonObject = new JSONObject().parseObject(request.getValue());


log.info("调用机场平台,操作无人机: url:{}", url); log.info("调用机场平台,操作无人机: url:{}", url);
} }
} }


/**
* 获取租户
*
* @param tenantId
* @return
*/
private Tenant getTenant(Integer tenantId) {
Tenant tenant = tenantMapper.selectById(tenantId);
if (ObjectUtil.isEmpty(tenant)) {
log.info("调用机场平台,操作无人机: 租户不存在");
throw new ServiceException("租户不存在");
}

if (StringUtils.isEmpty(tenant.getAirportUrl())) {
log.info("调用机场平台,操作无人机: 机场平台URL为空");
throw new ServiceException("机场平台URL为空");
}
return tenant;
}


} }

+ 5
- 10
tuoheng-admin/src/main/java/com/tuoheng/admin/service/third/airport/PointFlightService.java View File

import com.tuoheng.admin.mapper.WarningMapper; import com.tuoheng.admin.mapper.WarningMapper;
import com.tuoheng.admin.mapper.WarningRecordMapper; import com.tuoheng.admin.mapper.WarningRecordMapper;
import com.tuoheng.admin.utils.CodeUtil; import com.tuoheng.admin.utils.CodeUtil;
import com.tuoheng.common.config.CommonConfig;
import com.tuoheng.common.exception.ServiceException; import com.tuoheng.common.exception.ServiceException;
import com.tuoheng.common.utils.DateUtils; import com.tuoheng.common.utils.DateUtils;
import com.tuoheng.common.utils.HttpUtils; import com.tuoheng.common.utils.HttpUtils;
ThMission oldMission = (ThMission) result.getData(); ThMission oldMission = (ThMission) result.getData();
if (oldMission.getAirportId().equals(request.getAirportId())) { if (oldMission.getAirportId().equals(request.getAirportId())) {
log.info("原机场执行定点飞行"); log.info("原机场执行定点飞行");
this.callOldAirpor(tenant, request);
this.callOldAirpor(request);
} else { } else {
log.info("新机场执行定点飞行"); log.info("新机场执行定点飞行");
this.callNewAirpor(tenant, request, mission.getId()); this.callNewAirpor(tenant, request, mission.getId());
log.info("调用机场平台,执行定点飞行: 租户不存在"); log.info("调用机场平台,执行定点飞行: 租户不存在");
throw new ServiceException("租户不存在"); throw new ServiceException("租户不存在");
} }
// 读取不同租户的机场平台url
if (StringUtils.isEmpty(tenant.getAirportUrl())) {
log.info("调用机场平台,执行定点飞行: 机场平台URL为空");
throw new ServiceException("机场平台URL为空");
}
return tenant; return tenant;
} }


/** /**
* 调用老机场平台 * 调用老机场平台
* *
* @param tenant
* @param request * @param request
*/ */
private void callOldAirpor(Tenant tenant, PointFlightRequest request) {
String url = tenant.getAirportUrl() + SystemConstant.API_AIRPORT_DRONE_CONTROL;
private void callOldAirpor(PointFlightRequest request) {
String url = CommonConfig.airportURL + SystemConstant.API_AIRPORT_DRONE_CONTROL;
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("taskId", request.getMissionId()); jsonObject.put("taskId", request.getMissionId());
jsonObject.put("airportId", request.getAirportId()); jsonObject.put("airportId", request.getAirportId());
* @param request * @param request
*/ */
private void callNewAirpor(Tenant tenant, PointFlightRequest request, Integer emergencyMissionId) { private void callNewAirpor(Tenant tenant, PointFlightRequest request, Integer emergencyMissionId) {
String url = tenant.getAirportUrl() + SystemConstant.API_AIRPORT_POINT_FLIGH;
String url = CommonConfig.airportURL + SystemConstant.API_AIRPORT_POINT_FLIGH;
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("airportId", request.getAirportId()); jsonObject.put("airportId", request.getAirportId());
jsonObject.put("requestId", emergencyMissionId); jsonObject.put("requestId", emergencyMissionId);

+ 0
- 4
tuoheng-admin/src/main/java/com/tuoheng/admin/service/warning/query/QueryWarningByIdService.java View File

import com.tuoheng.admin.entity.domain.Question; import com.tuoheng.admin.entity.domain.Question;
import com.tuoheng.admin.entity.domain.ThMission; import com.tuoheng.admin.entity.domain.ThMission;
import com.tuoheng.admin.entity.domain.Warning; import com.tuoheng.admin.entity.domain.Warning;
import com.tuoheng.admin.entity.vo.warning.WarningListVo;
import com.tuoheng.admin.entity.vo.warning.WarningVo; import com.tuoheng.admin.entity.vo.warning.WarningVo;
import com.tuoheng.admin.enums.MarkEnum; import com.tuoheng.admin.enums.MarkEnum;
import com.tuoheng.admin.mapper.QuestionMapper; import com.tuoheng.admin.mapper.QuestionMapper;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;


import java.util.List;
import java.util.Map;

/** /**
* 根据Id查询预警信息业务层处理 * 根据Id查询预警信息业务层处理
* *

+ 14
- 0
tuoheng-common/src/main/java/com/tuoheng/common/config/CommonConfig.java View File

*/ */
public static String gaodeKey; public static String gaodeKey;


/**
* 机场地址
*/
public static String airportURL;

/** /**
* 图片域名赋值 * 图片域名赋值
* *
gaodeKey = key; gaodeKey = key;
} }


/**
* 机场url
* @param url
*/
@Value("${tuoheng.airport-url}")
public void airportURL(String url) {
airportURL = url;
}

} }

Loading…
Cancel
Save