package com.ruoyi.dataInterchange.controller;
|
|
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.common.core.utils.bean.BeanUtils;
|
import com.ruoyi.dataInterchange.api.vo.GnssDataVo;
|
import com.ruoyi.dataInterchange.api.vo.OrderTravelVo;
|
import com.ruoyi.dataInterchange.dao.UPExgMsgRealLocationDao;
|
import com.ruoyi.dataInterchange.model.GnssData;
|
import com.ruoyi.dataInterchange.model.UPExgMsgRealLocation;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import javax.annotation.Resource;
|
import java.math.BigDecimal;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* @author zhibing.pu
|
* @Date 2025/3/24 18:59
|
*/
|
@RestController
|
@RequestMapping("/upExgMsgRealLocation")
|
public class UPExgMsgRealLocationController {
|
|
@Resource
|
private UPExgMsgRealLocationDao upExgMsgRealLocationDao;
|
|
|
/**
|
* 获取订单行程轨迹
|
*
|
* @param vehicleNo
|
* @param start
|
* @param end
|
* @return
|
*/
|
@PostMapping("/getOrderTravel")
|
public R<List<OrderTravelVo>> getOrderTravel(@RequestParam("vehicleNo") String vehicleNo, @RequestParam("start") Long start,
|
@RequestParam("end") Long end) {
|
List<UPExgMsgRealLocation> list = upExgMsgRealLocationDao.findByVehicleNoAndCreateTimeBetween(vehicleNo, start, end);
|
List<OrderTravelVo> orderTravelVos = new ArrayList<>();
|
for (UPExgMsgRealLocation upExgMsgRealLocation : list) {
|
GnssData gnssData = upExgMsgRealLocation.getGnssData();
|
OrderTravelVo vo = new OrderTravelVo();
|
vo.setLatitude(new BigDecimal(gnssData.getLat()).divide(new BigDecimal(1000000)));
|
vo.setLongitude(new BigDecimal(gnssData.getLon()).divide(new BigDecimal(1000000)));
|
orderTravelVos.add(vo);
|
}
|
return R.ok(orderTravelVos);
|
}
|
|
|
/**
|
* 获取司机的最新行驶速度
|
*
|
* @param vehicleNo
|
* @return
|
*/
|
@PostMapping("/getVehicleSpeed")
|
public R<GnssDataVo> getVehicleSpeed(@RequestParam("vehicleNo") String vehicleNo) {
|
UPExgMsgRealLocation upExgMsgRealLocation = upExgMsgRealLocationDao.findByVehicleNoOrderByCreateTimeDesc(vehicleNo);
|
if (null == upExgMsgRealLocation) {
|
return R.ok();
|
}
|
GnssData gnssData = upExgMsgRealLocation.getGnssData();
|
GnssDataVo vo = new GnssDataVo();
|
BeanUtils.copyProperties(gnssData, vo);
|
return R.ok(vo);
|
}
|
|
}
|