| | |
| | | import com.xiaopeng.api.feignClient.vehicleConvoy.XpFleetVehicleClient; |
| | | import com.xiaopeng.api.feignClient.vehicleConvoy.XpVehicleClient; |
| | | import com.xiaopeng.api.model.account.XpAppUser; |
| | | import com.xiaopeng.api.model.operation.XpFeedbackType; |
| | | import com.xiaopeng.api.model.operation.XpPoint; |
| | | import com.xiaopeng.api.model.order.XpOrder; |
| | | import com.xiaopeng.api.model.order.XpOrderCancel; |
| | |
| | | import com.xiaopeng.order.service.IXpOrderReassignService; |
| | | import com.xiaopeng.order.service.IXpOrderService; |
| | | import com.xiaopeng.order.utils.holiday.HolidayUtil; |
| | | import com.xiaopeng.order.vo.OrderDetailVo; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.RequiredArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.BeanUtils; |
| | |
| | | |
| | | userVehicleClient.cancelTaxiPassenger(cancelTaxiPassengerVo); |
| | | } |
| | | // 计算起步价 |
| | | |
| | | // // 计算实际价格 |
| | | // // 根据订单所属开通城市id 查询定价 |
| | | // R<XpPricing> pricingByCityId = xpPricingClient.getPricingByCityId(order.getCityId()); |
| | |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public OrderDetailVo orderDetail(Long orderId, String uid) { |
| | | OrderDetailVo orderDetailVo = new OrderDetailVo(); |
| | | XpOrder order = this.getById(orderId); |
| | | BeanUtils.copyProperties(order, orderDetailVo); |
| | | // 查询车辆信息 |
| | | XpVehicle vehicle = xpVehicleClient.queryById(order.getVehicleId()).getData(); |
| | | if (vehicle!=null){ |
| | | orderDetailVo.setVehicleCode(vehicle.getVehicleCode()); |
| | | orderDetailVo.setPlateNumber(vehicle.getPlateNumber()); |
| | | orderDetailVo.setVehicleColor(vehicle.getVehicleColor()); |
| | | orderDetailVo.setVehiclePictures(vehicle.getVehiclePictures()); |
| | | } |
| | | // 查询评价信息 |
| | | XpOrderEvaluate evaluate = xpOrderEvaluateService.lambdaQuery().eq(XpOrderEvaluate::getOrderId, orderId) |
| | | .last("limit 1").one(); |
| | | if (evaluate != null) { |
| | | orderDetailVo.setFeedbackPictures(evaluate.getFeedbackPictures()); |
| | | orderDetailVo.setFeedbackContent(evaluate.getFeedbackContent()); |
| | | orderDetailVo.setOrderRating(evaluate.getOrderRating()); |
| | | XpFeedbackType feedbackType = xpSystemSettingClient.getFeedbackTypeById(evaluate.getFeedbackTypeId()).getData(); |
| | | orderDetailVo.setFeedbackTypeName(feedbackType.getFeedbackType()); |
| | | } |
| | | List<OrderTrajectory> trajectories = mongoTemplate.find( |
| | | new Query(Criteria.where("orderId").is(orderId)) |
| | | .with(Sort.by(Sort.Direction.ASC, "locatetime")), |
| | | OrderTrajectory.class |
| | | ); |
| | | orderDetailVo.setTrajectories(trajectories); |
| | | if (order.getTripBegin()!=null&&order.getTripEnd()!=null){ |
| | | // 计算两个时间相差多少分钟 |
| | | long minutesDifference = Duration.between(order.getTripBegin(), order.getTripEnd()).toMinutes(); |
| | | orderDetailVo.setOrderTime(minutesDifference); |
| | | }else{ |
| | | orderDetailVo.setOrderTime(0l); |
| | | } |
| | | if (order.getStartMileage()!=null){ |
| | | orderDetailVo.setTotalMileage(order.getStartMileage()+(order.getMileageKilometers()!=null?order.getMileageKilometers():0D)); |
| | | |
| | | } |
| | | return orderDetailVo; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 获取当前用户正在执行的订单 |