提交 52cb2ed3 authored 作者: 艾庆国's avatar 艾庆国

线路预警

上级 6bc04e67
package com.clx.performance.vo.pc.linewarn;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.math.BigDecimal;
/**
* @Author: aiqingguo
* @Description:
* @Date: 2023/2/28 12:00
* @Version: 1.0
*/
@Getter
@Setter
@NoArgsConstructor
public class LineWarnRoutePositionVO {
@ApiModelProperty(value = "经度", example = "116.0000000000")
private BigDecimal longitude;
@ApiModelProperty(value = "纬度", example = "39.0000000000")
private BigDecimal latitude;
@ApiModelProperty(value = "耗时(秒)", example = "278")
private Integer duration;
}
package com.clx.performance.vo.pc.linewarn;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.List;
/**
* @Author: aiqingguo
* @Description:
* @Date: 2023/2/28 12:00
* @Version: 1.0
*/
@Getter
@Setter
@NoArgsConstructor
public class LineWarnRouteVO {
@ApiModelProperty("线路")
private List<LineWarnRoutePositionVO> positonList;
}
......@@ -52,4 +52,7 @@ public class LineWarnTraceVO {
@ApiModelProperty("车辆列表")
private List<LineWarnTruckTraceInfoVO> truckList;
@ApiModelProperty("推荐线路")
private LineWarnRouteVO route;
}
......@@ -2,6 +2,7 @@ package com.clx.performance.service.impl.linewarn;
import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dao.OrderGoodsDao;
import com.clx.performance.dto.gd.GdPosDTO;
import com.clx.performance.enums.DriverTruckEnum;
import com.clx.performance.enums.OrderChildEnum;
import com.clx.performance.enums.ResultEnum;
......@@ -11,7 +12,11 @@ import com.clx.performance.service.linewarn.LineWarnTraceService;
import com.clx.performance.service.trace.TruckTraceService;
import com.clx.performance.struct.OrderChildStruct;
import com.clx.performance.struct.OrderGoodsStruct;
import com.clx.performance.struct.linewarn.LineWarnInfoStruct;
import com.clx.performance.utils.LocalDateTimeUtils;
import com.clx.performance.utils.gd.GdUtils;
import com.clx.performance.vo.pc.linewarn.LineWarnRoutePositionVO;
import com.clx.performance.vo.pc.linewarn.LineWarnRouteVO;
import com.clx.performance.vo.pc.linewarn.LineWarnTraceVO;
import com.clx.performance.vo.pc.linewarn.LineWarnTruckTraceInfoVO;
import lombok.extern.slf4j.Slf4j;
......@@ -42,6 +47,11 @@ public class LineWarnTraceServiceImpl implements LineWarnTraceService {
@Autowired
private TruckTraceService truckTraceService;
@Autowired
private GdUtils gdUtils;
@Autowired
private LineWarnInfoStruct lineWarnInfoStruct;
@Override
public LineWarnTraceVO getTraceInfo(String orderGoodsNo) {
OrderGoods orderGoods = orderGoodsDao
......@@ -88,6 +98,16 @@ public class LineWarnTraceServiceImpl implements LineWarnTraceService {
}
}
// 推荐线路
List<LineWarnRoutePositionVO> positionList = lineWarnInfoStruct
.convertLineWarnRoutePositionVO(gdUtils.getRoute(orderGoods.getSendLongitude(),
orderGoods.getSendLatitude(), orderGoods.getReceiveLongitude(),
orderGoods.getReceiveLatitude()));
LineWarnRouteVO route = new LineWarnRouteVO();
route.setPositonList(positionList);
result.setRoute(route);
result.setTruckList(truckList);
return result;
}
......
......@@ -2,12 +2,17 @@ package com.clx.performance.struct.linewarn;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dto.gd.GdPosDTO;
import com.clx.performance.model.linewarn.LineWarnInfo;
import com.clx.performance.vo.pc.linewarn.LineWarnInfoVO;
import com.clx.performance.vo.pc.linewarn.LineWarnRoutePositionVO;
import com.clx.performance.vo.pc.linewarn.LineWarnRouteVO;
import com.msl.common.utils.DateStructUtil;
import com.msl.common.utils.DateUtils;
import org.mapstruct.Mapper;
import java.util.List;
@Mapper(componentModel = "spring", uses = DateStructUtil.class, imports = {DateUtils.class})
public interface LineWarnInfoStruct {
......@@ -15,4 +20,5 @@ public interface LineWarnInfoStruct {
Page<LineWarnInfoVO> convertPage(IPage<LineWarnInfo> page);
List<LineWarnRoutePositionVO> convertLineWarnRoutePositionVO(List<GdPosDTO> list);
}
package com.clx.performance.utils.gd;
import com.clx.performance.dto.gd.GdPosDTO;
import com.clx.performance.dto.gd.GdRouteDTO;
import com.msl.common.exception.ServiceSystemException;
import com.msl.common.utils.gps.GpsUtil;
......@@ -8,6 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
@Slf4j
......@@ -78,4 +80,23 @@ public class GdUtils {
public String getWeather(String city){
return gdService.getWeather(city);
}
/**
* 获取线路
*/
public List<GdPosDTO> getRoute(BigDecimal originLongitude, BigDecimal originLatitude,
BigDecimal destinationLongitude, BigDecimal destinationLatitude){
try {
List<GdRouteDTO> gdRouteDTOS = gdService.getRoute(originLongitude, originLatitude, destinationLongitude, destinationLatitude);
if (!gdRouteDTOS.isEmpty()){
return gdRouteDTOS.get(0).getPosList();
}
} catch (ServiceSystemException e) {
log.info("获取高德线路失败, msg:{}", e.getMessage());
}
return new ArrayList<>();
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论