| | |
| | | import com.xiaopeng.order.model.dto.XpOrderCommentDto; |
| | | import com.xiaopeng.order.model.dto.XpOrderPayDto; |
| | | import com.xiaopeng.order.model.query.XpHistoryOrderListQuery; |
| | | import com.xiaopeng.order.model.query.XpOrderExcelQuery; |
| | | import com.xiaopeng.order.model.query.XpOrderPageQuery; |
| | | import com.xiaopeng.order.model.vo.*; |
| | | import com.xiaopeng.order.service.IXpOrderCancelService; |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<XpOrderPageVO> exportList(XpOrderPageQuery query) { |
| | | public List<XpOrderPageVO> exportList(XpOrderExcelQuery query) { |
| | | // 1. 构建查询条件 |
| | | LambdaQueryWrapper<XpOrder> wrapper = buildQueryWrapper(query); |
| | | LambdaQueryWrapper<XpOrder> wrapper = buildExcelQueryWrapper(query); |
| | | |
| | | // 2. 查询订单列表 |
| | | List<XpOrder> orderList = this.list(wrapper); |
| | |
| | | wrapper.orderByDesc(XpOrder::getCreateTime); |
| | | return wrapper; |
| | | } |
| | | private LambdaQueryWrapper<XpOrder> buildExcelQueryWrapper(XpOrderExcelQuery query) { |
| | | LambdaQueryWrapper<XpOrder> wrapper = new LambdaQueryWrapper<>(); |
| | | |
| | | wrapper.like(StringUtils.isNotBlank(query.getOrderNumber()), XpOrder::getOrderNumber, query.getOrderNumber()) |
| | | .eq(Objects.nonNull(query.getFleetId()), XpOrder::getFleetId, query.getFleetId()) |
| | | .eq(Objects.nonNull(query.getOrderSource()), XpOrder::getOrderSource, query.getOrderSource()) |
| | | .like(StringUtils.isNotBlank(query.getCityCode()), XpOrder::getCityCode, query.getCityCode()) |
| | | .eq(Objects.nonNull(query.getStatus()), XpOrder::getStatus, query.getStatus()); |
| | | |
| | | if (Objects.nonNull(query.getStartTime())) { |
| | | wrapper.ge(XpOrder::getCreateTime, LocalDateTime.of(query.getStartTime(), LocalTime.MIN)); |
| | | } |
| | | if (Objects.nonNull(query.getEndTime())) { |
| | | wrapper.le(XpOrder::getCreateTime, LocalDateTime.of(query.getEndTime(), LocalTime.MAX)); |
| | | } |
| | | if (CollUtil.isNotEmpty(query.getIds())) { |
| | | wrapper.in(XpOrder::getId, query.getIds()); |
| | | } |
| | | wrapper.orderByDesc(XpOrder::getCreateTime); |
| | | return wrapper; |
| | | } |
| | | /** |
| | | * 批量获取用户信息 |
| | | */ |
| | |
| | | xpOrderCancel.setCancelSource(1); |
| | | xpOrderCancel.setCancelReason("用户取消订单"); |
| | | xpOrderCancelService.save(xpOrderCancel); |
| | | |
| | | //判断还原车辆状态 |
| | | Object cacheObject1 = redisService.getCacheObject("CREATE_ORDER:" + order.getId().toString()); |
| | | if(null != cacheObject1){ |
| | | com.alibaba.fastjson.JSONObject jsonObject = com.alibaba.fastjson.JSON.parseObject(cacheObject1.toString()); |
| | | String vin = jsonObject.getString("vin"); |
| | | XpVehicle vehicle = xpVehicleClient.findByVehicleVin(vin).getData(); |
| | | if(null != vehicle && 0 != vehicle.getState()){ |
| | | vehicle.setState(0); |
| | | xpVehicleClient.updateVehicleById(vehicle); |
| | | } |
| | | } |
| | | |
| | | // 设置当天的取消次数缓存 |
| | | Object cacheObject = redisService.getCacheObject("CANCEL_ORDER_" + uid); |