| | |
| | | this.cancel(goodsorder,null,"订单未支付超时自动取消"); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 自动完成 7 天未确认收货的物流发货订单 |
| | | */ |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void autoCompleteOrder(){ |
| | | //查询发货后 7 天未确认收货的订单数据(仅处理快递配送订单) |
| | | List<Goodsorder> goodsOrderList = goodsorderMapper.selectList( |
| | | new QueryWrapper<Goodsorder>() |
| | | .eq("STATUS", Constants.OrderStatus.WAIT_RECEIVE.getKey()) |
| | | .eq("RECEIVE_TYPE", Constants.ZERO) // 仅处理快递配送订单 |
| | | .isNotNull("KD_CODE") // 有物流单号 |
| | | .ne("KD_CODE", "") // 物流单号不为空 |
| | | .apply(" KD_DATE IS NOT NULL ") // 有发货时间 |
| | | .apply(" NOW() >= DATE_SUB(KD_DATE, INTERVAL -7 DAY) ") // 发货后 7 天 |
| | | ); |
| | | |
| | | if (!goodsOrderList.isEmpty()) { |
| | | for (Goodsorder order : goodsOrderList) { |
| | | try { |
| | | Goodsorder updateOrder = new Goodsorder(); |
| | | updateOrder.setId(order.getId()); |
| | | updateOrder.setStatus(Constants.OrderStatus.DONE.getKey()); |
| | | updateOrder.setDoneDate(new Date()); |
| | | updateOrder.setDoneInfo("发货 7 天后系统自动确认收货"); |
| | | goodsorderMapper.updateById(updateOrder); |
| | | |
| | | //存在现金支付 赠送 积分 |
| | | if(Constants.equalsInteger(updateOrder.getPayMethod(),Constants.ZERO)){ |
| | | //赠送消费者积分 |
| | | this.orderAddMemberIntegral(order); |
| | | //下单完成 根据信息确认是否需要赠送邀请者优惠券 |
| | | this.orderDoneRewardInviteCoupon(order); |
| | | //经销商 添加赠送积分 |
| | | this.orderAddShopIntegral(order); |
| | | //经销商 结算金额 |
| | | this.orderAddShopCash(order); |
| | | } |
| | | |
| | | |
| | | System.out.println("订单自动完成:订单 ID=" + order.getId() + ", 订单编号=" + order.getCode()); |
| | | } catch (Exception e) { |
| | | System.out.println("订单自动完成失败:订单 ID=" + order.getId() + ", 错误:" + e.getMessage()); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |