| | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.xiaopeng.api.dto.QueryOrderRouteDTO; |
| | | import com.xiaopeng.api.dto.operation.LonLatDto; |
| | | import com.xiaopeng.api.dto.order.AddCruiseMissionDto; |
| | | import com.xiaopeng.api.dto.order.GetOrderNumDto; |
| | | import com.xiaopeng.api.dto.order.PopOrderDto; |
| | |
| | | import org.springframework.data.mongodb.core.MongoTemplate; |
| | | import org.springframework.data.mongodb.core.query.Criteria; |
| | | import org.springframework.data.mongodb.core.query.Query; |
| | | import org.springframework.util.CollectionUtils; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | |
| | | import java.io.IOException; |
| | | import java.math.BigDecimal; |
| | | import java.net.URLEncoder; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | |
| | |
| | | * 订单查询轨迹路线 |
| | | */ |
| | | @ApiOperation(value = "订单查询轨迹路线") |
| | | @PostMapping("/api/v1/mini-program/order/queryOrderTrajectory") |
| | | public R<List<OrderTrajectory>> queryOrderTrajectory(@RequestParam String orderId, HttpServletRequest request) { |
| | | @GetMapping("/api/v1/mini-program/order/queryOrderTrajectory") |
| | | public R<RouteVo> queryOrderTrajectory(@RequestParam String orderId, HttpServletRequest request) { |
| | | String uid = request.getHeader("XP-Uid"); |
| | | List<OrderTrajectory> trajectories = mongoTemplate.find( |
| | | new Query(Criteria.where("orderId").is(orderId)) |
| | | new Query(Criteria.where("orderId").is(Long.valueOf(orderId))) |
| | | .with(Sort.by(Sort.Direction.ASC, "locatetime")), |
| | | OrderTrajectory.class |
| | | ); |
| | | return R.ok(trajectories); |
| | | // 封装信息 |
| | | RouteVo routeVo = new RouteVo(); |
| | | List<LonLatDto> polyline = new ArrayList<>(); |
| | | if(!CollectionUtils.isEmpty(trajectories)){ |
| | | for (OrderTrajectory trajectory : trajectories) { |
| | | LonLatDto lonLatDto = new LonLatDto(); |
| | | String[] split = trajectory.getLocation().split(","); |
| | | lonLatDto.setLongitude(Double.valueOf(split[0])); |
| | | lonLatDto.setLatitude(Double.valueOf(split[1])); |
| | | polyline.add(lonLatDto); |
| | | } |
| | | } |
| | | routeVo.setPolyline(polyline); |
| | | return R.ok(routeVo); |
| | | } |
| | | |
| | | } |