提交 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 { ...@@ -52,4 +52,7 @@ public class LineWarnTraceVO {
@ApiModelProperty("车辆列表") @ApiModelProperty("车辆列表")
private List<LineWarnTruckTraceInfoVO> truckList; private List<LineWarnTruckTraceInfoVO> truckList;
@ApiModelProperty("推荐线路")
private LineWarnRouteVO route;
} }
...@@ -2,6 +2,7 @@ package com.clx.performance.service.impl.linewarn; ...@@ -2,6 +2,7 @@ package com.clx.performance.service.impl.linewarn;
import com.clx.performance.dao.OrderChildDao; import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dao.OrderGoodsDao; import com.clx.performance.dao.OrderGoodsDao;
import com.clx.performance.dto.gd.GdPosDTO;
import com.clx.performance.enums.DriverTruckEnum; import com.clx.performance.enums.DriverTruckEnum;
import com.clx.performance.enums.OrderChildEnum; import com.clx.performance.enums.OrderChildEnum;
import com.clx.performance.enums.ResultEnum; import com.clx.performance.enums.ResultEnum;
...@@ -11,7 +12,11 @@ import com.clx.performance.service.linewarn.LineWarnTraceService; ...@@ -11,7 +12,11 @@ import com.clx.performance.service.linewarn.LineWarnTraceService;
import com.clx.performance.service.trace.TruckTraceService; import com.clx.performance.service.trace.TruckTraceService;
import com.clx.performance.struct.OrderChildStruct; import com.clx.performance.struct.OrderChildStruct;
import com.clx.performance.struct.OrderGoodsStruct; import com.clx.performance.struct.OrderGoodsStruct;
import com.clx.performance.struct.linewarn.LineWarnInfoStruct;
import com.clx.performance.utils.LocalDateTimeUtils; 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.LineWarnTraceVO;
import com.clx.performance.vo.pc.linewarn.LineWarnTruckTraceInfoVO; import com.clx.performance.vo.pc.linewarn.LineWarnTruckTraceInfoVO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -42,6 +47,11 @@ public class LineWarnTraceServiceImpl implements LineWarnTraceService { ...@@ -42,6 +47,11 @@ public class LineWarnTraceServiceImpl implements LineWarnTraceService {
@Autowired @Autowired
private TruckTraceService truckTraceService; private TruckTraceService truckTraceService;
@Autowired
private GdUtils gdUtils;
@Autowired
private LineWarnInfoStruct lineWarnInfoStruct;
@Override @Override
public LineWarnTraceVO getTraceInfo(String orderGoodsNo) { public LineWarnTraceVO getTraceInfo(String orderGoodsNo) {
OrderGoods orderGoods = orderGoodsDao OrderGoods orderGoods = orderGoodsDao
...@@ -88,6 +98,16 @@ public class LineWarnTraceServiceImpl implements LineWarnTraceService { ...@@ -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); result.setTruckList(truckList);
return result; return result;
} }
......
...@@ -2,12 +2,17 @@ package com.clx.performance.struct.linewarn; ...@@ -2,12 +2,17 @@ package com.clx.performance.struct.linewarn;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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.model.linewarn.LineWarnInfo;
import com.clx.performance.vo.pc.linewarn.LineWarnInfoVO; 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.DateStructUtil;
import com.msl.common.utils.DateUtils; import com.msl.common.utils.DateUtils;
import org.mapstruct.Mapper; import org.mapstruct.Mapper;
import java.util.List;
@Mapper(componentModel = "spring", uses = DateStructUtil.class, imports = {DateUtils.class}) @Mapper(componentModel = "spring", uses = DateStructUtil.class, imports = {DateUtils.class})
public interface LineWarnInfoStruct { public interface LineWarnInfoStruct {
...@@ -15,4 +20,5 @@ public interface LineWarnInfoStruct { ...@@ -15,4 +20,5 @@ public interface LineWarnInfoStruct {
Page<LineWarnInfoVO> convertPage(IPage<LineWarnInfo> page); Page<LineWarnInfoVO> convertPage(IPage<LineWarnInfo> page);
List<LineWarnRoutePositionVO> convertLineWarnRoutePositionVO(List<GdPosDTO> list);
} }
package com.clx.performance.utils.gd; package com.clx.performance.utils.gd;
import com.clx.performance.dto.gd.GdPosDTO;
import com.clx.performance.dto.gd.GdRouteDTO; import com.clx.performance.dto.gd.GdRouteDTO;
import com.msl.common.exception.ServiceSystemException; import com.msl.common.exception.ServiceSystemException;
import com.msl.common.utils.gps.GpsUtil; import com.msl.common.utils.gps.GpsUtil;
...@@ -8,6 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -8,6 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List; import java.util.List;
@Slf4j @Slf4j
...@@ -78,4 +80,23 @@ public class GdUtils { ...@@ -78,4 +80,23 @@ public class GdUtils {
public String getWeather(String city){ public String getWeather(String city){
return gdService.getWeather(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 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论