| | |
| | | List<TLotteryEvent> collect = data.stream().filter(s -> s.getPayMoney().compareTo(order.getPayMoney()) >= 0).collect(Collectors.toList()); |
| | | appPlaceOrderVo.setLotteryDraw(collect.size() > 0); |
| | | if (collect.size() > 0) { |
| | | appPlaceOrderVo.setLotteryEventId(collect.get(0).getEventId()); |
| | | appPlaceOrderVo.setLotteryEventId(collect.get(0).getId()); |
| | | } |
| | | } else { |
| | | appPlaceOrderVo.setLotteryDraw(false); |
| | |
| | | } |
| | | return new ArrayList<>(); |
| | | } |
| | | /** |
| | | * 后台取消订单 |
| | | * 订单状态变为已取消 不退款 |
| | | * @param dto |
| | | */ |
| | | @Override |
| | | public R cancelOrderBySys(CancelOrderDTO dto) { |
| | | Order order = this.getById(dto.getOrderId()); |
| | | // 订单状态-1.删除 0.已取消 1.待支付 2.待核销 3.已完成 |
| | | if(null == order || order.getDelFlag() == -1){ |
| | | return R.fail("订单不存在"); |
| | | } |
| | | |
| | | if (order.getOrderStatus() == 0) { |
| | | return R.fail(AppErrorConstant.CANCEL_CANCEL_ORDER); |
| | | } else if (order.getOrderStatus() == 1) { |
| | | //删除待支付超时取消延时任务 |
| | | redisService.deleteObject(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode() + "-" + order.getOrderId()); |
| | | remoteConfigService.deleteDelayTask(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode()+"-"+order.getOrderId()); |
| | | order.setOrderStatus(0); |
| | | order.setCancelTime(new Date()); |
| | | this.saveOrUpdate(order); |
| | | } else if (order.getOrderStatus() == 2) { |
| | | // 2.待核销 |
| | | order.setOrderStatus(0); |
| | | order.setCancelTime(new Date()); |
| | | this.saveOrUpdate(order); |
| | | } else { |
| | | return R.fail(AppErrorConstant.CANCEL_ERROR_ORDER); |
| | | } |
| | | return R.ok(); |
| | | } |
| | | |
| | | @Override |
| | | public R refundOrderBySys(CancelOrderDTO dto) { |
| | | Order order = this.getById(dto.getOrderId()); |
| | | // 订单状态-1.删除 0.已取消 1.待支付 2.待核销 3.已完成 |
| | | if(null == order || order.getDelFlag() == -1){ |
| | | return R.fail("订单不存在"); |
| | | } |
| | | if (order.getOrderStatus() == 0) { |
| | | return R.fail(AppErrorConstant.CANCEL_CANCEL_ORDER); |
| | | }else if (order.getOrderStatus() == 1) { |
| | | //删除待支付超时取消延时任务 |
| | | redisService.deleteObject(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode() + "-" + order.getOrderId()); |
| | | remoteConfigService.deleteDelayTask(DelayTaskEnum.ORDER_AUTOMATIC_CANCEL.getCode()+"-"+ order.getOrderId()); |
| | | this.autoCancelOrder( order.getOrderId()); |
| | | } else if (order.getOrderStatus() == 2) { |
| | | // 2.待核销 -> 订单退款 |
| | | this.refundOrder( order.getOrderId()); |
| | | } else { |
| | | return R.fail("已核销订单不能退款"); |
| | | } |
| | | return R.ok(); |
| | | |
| | | } |
| | | } |