| | |
| | | xpOrderHistoryVO.setTotal((int) page.getTotal()); |
| | | |
| | | // 根据time分组 |
| | | Map<LocalDateTime, List<XpOrderHistoryListVO>> map = list.stream().collect(Collectors.groupingBy(XpOrderHistoryListVO::getTime)); |
| | | Map<String, List<XpOrderHistoryListVO>> map = list.stream().collect(Collectors.groupingBy(XpOrderHistoryListVO::getOrderTime)); |
| | | List<XpOrderHistoryDateVO> dateVOS = map.entrySet().stream().map(entry -> { |
| | | XpOrderHistoryDateVO xpOrderHistoryDateVO = new XpOrderHistoryDateVO(); |
| | | xpOrderHistoryDateVO.setDateLabel(entry.getKey().toString()); |
| | | xpOrderHistoryDateVO.setOrders(entry.getValue()); |
| | | xpOrderHistoryDateVO.setDateLabel(entry.getKey()); |
| | | List<XpOrderHistoryListVO> value = entry.getValue(); |
| | | value = value.stream().sorted(Comparator.comparing(XpOrderHistoryListVO::getTime).reversed()).collect(Collectors.toList()); |
| | | xpOrderHistoryDateVO.setOrders(value); |
| | | return xpOrderHistoryDateVO; |
| | | }).collect(Collectors.toList()); |
| | | xpOrderHistoryVO.setList(dateVOS); |
| | |
| | | if (xpOrder.getStatus() != 9) { |
| | | throw new ServiceException("订单状态错误",I18nKeyConstant.ORDER_STATUS_ERROR); |
| | | } |
| | | xpOrder.setAppUserId(null); |
| | | xpOrder.setStatus(10); |
| | | baseMapper.updateById(xpOrder); |
| | | |
| | |
| | | evaluate.setFeedbackTypeId(dto.getFeedbackTypeId()); |
| | | evaluate.setCreateTime(LocalDateTime.now()); |
| | | xpOrderEvaluateService.save(evaluate); |
| | | |
| | | } |
| | | |
| | | @Override |
| | |
| | | throw new RuntimeException("订单状态错误"); |
| | | } |
| | | order.setStatus(8); |
| | | // 计算完价格后 挑选优惠券 |
| | | GetUserCouponDto getUserCouponDto = new GetUserCouponDto(); |
| | | getUserCouponDto.setUserId(Long.valueOf(uid)); |
| | | getUserCouponDto.setTotalAmount(order.getOrderMoney().doubleValue()); |
| | | R<UserCouponVo> userCouponVoR = xpAppUserCouponClient.getUserCoupon(getUserCouponDto); |
| | | UserCouponVo userCouponVo = userCouponVoR.getData(); |
| | | if (userCouponVo != null) { |
| | | order.setCouponId(userCouponVo.getId()); |
| | | order.setCouponMoney(BigDecimal.valueOf(userCouponVo.getMoney())); |
| | | } |
| | | order.setAppUserId(null); |
| | | order.setTripEnd(LocalDateTime.now()); |
| | | baseMapper.updateById(order); |
| | | // 解绑用户与车辆关系 |
| | |
| | | .add(order.getLongDistancemoney() != null ? order.getLongDistancemoney() : BigDecimal.ZERO) |
| | | .add(order.getWaitMoney()!=null?order.getWaitMoney():BigDecimal.ZERO); |
| | | order.setOrderMoney(orderMoney); |
| | | order.setAppUserId(null); |
| | | baseMapper.updateById(order); |
| | | if (order.getCouponId() != null) { |
| | | UseUserCouponDto useUserCouponDto = new UseUserCouponDto(); |
| | |
| | | useUserCouponDto.setUserCouponId(order.getCouponId()); |
| | | xpAppUserCouponClient.useUserCoupon(useUserCouponDto); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | // 计算完价格后 挑选优惠券 |
| | | GetUserCouponDto getUserCouponDto = new GetUserCouponDto(); |
| | | getUserCouponDto.setUserId(Long.valueOf(uid)); |
| | | getUserCouponDto.setTotalAmount(order.getOrderMoney().doubleValue()); |
| | | R<UserCouponVo> userCouponVoR = xpAppUserCouponClient.getUserCoupon(getUserCouponDto); |
| | | UserCouponVo userCouponVo = userCouponVoR.getData(); |
| | | if (userCouponVo != null) { |
| | | order.setCouponId(userCouponVo.getId()); |
| | | order.setCouponMoney(BigDecimal.valueOf(userCouponVo.getMoney())); |
| | | } |
| | | order.setAppUserId(null); |
| | | baseMapper.updateById(order); |
| | | // 结束后的车辆操作 |
| | | if(vehicle!=null){ |
| | | // 生成新的巡游单子 回到最新巡游的初始起点位置 |
| | | XpCruiseOrder xpCruiseOrders = xpCruiseOrderMapper.selectOne(new LambdaQueryWrapper<XpCruiseOrder>().eq(XpCruiseOrder::getVehicleId, vehicle.getId()).eq(XpCruiseOrder::getStatus, 2).orderByDesc(BaseModel::getCreateTime).last("limit 1")); XpCruiseOrder xpCruiseOrder = new XpCruiseOrder(); |
| | | XpCruiseOrder xpCruiseOrders = xpCruiseOrderMapper.selectOne(new LambdaQueryWrapper<XpCruiseOrder>().eq(XpCruiseOrder::getVehicleId, vehicle.getId()).eq(XpCruiseOrder::getStatus, 2).orderByDesc(BaseModel::getCreateTime).last("limit 1")); |
| | | XpCruiseOrder xpCruiseOrder = new XpCruiseOrder(); |
| | | xpCruiseOrder.setVehicleId(vehicle.getId()); |
| | | xpCruiseOrder.setFleetId(vehicle.getFleetId()); |
| | | xpCruiseOrder.setVehicleVin(vehicle.getVehicleVin()); |
| | | xpCruiseOrder.setOrderType(2); |
| | | // 返程起点是当前正常订单的终点 |
| | |
| | | if (byVehicleVin.getCode() == 200) { |
| | | vehicle = byVehicleVin.getData(); |
| | | order.setVehicleId(vehicle.getId()); |
| | | order.setFleetId(vehicle.getFleetId()); |
| | | addTaxiPassengerVo.setVin(vehicle.getVehicleVin()); |
| | | } |
| | | order.setStatus(2); |