diff --git a/mall-oms/oms-api/src/main/java/com/youlai/mall/oms/enums/OrderStatusEnum.java b/mall-oms/oms-api/src/main/java/com/youlai/mall/oms/enums/OrderStatusEnum.java index 236f25de5d2db8987b88fbbe1eb74a5a998e5c28..bf6f00f56faf3ec81bd32c6931e0bd97a0d454af 100644 --- a/mall-oms/oms-api/src/main/java/com/youlai/mall/oms/enums/OrderStatusEnum.java +++ b/mall-oms/oms-api/src/main/java/com/youlai/mall/oms/enums/OrderStatusEnum.java @@ -12,34 +12,29 @@ import lombok.Getter; public enum OrderStatusEnum implements IBaseEnum { /** - * 1. 订单创建阶段 + * 待付款 */ - PENDING_PAYMENT(1, "待支付"), - USER_CANCEL(2, "用户取消"), - SYSTEM_CANCEL(3, "系统自动取消"), - + WAIT_PAY(1, "待付款"), /** - * 2. 订单付款阶段 + * 待发货 */ - PAYED(10, "已支付"), - APPLY_REFUND(11, "申请退款"), - REFUNDED(12, "已退款"), - + WAIT_SHIPPING(2, "待发货"), /** - * 订单发货阶段 + * 已发货 */ - DELIVERED(20, "已发货"), - + SHIPPED(3, "已发货"), /** - * 订单收货阶段 + * 已完成 */ - USER_RECEIVE(30, "用户收货"), - AUTO_RECEIVE(31, "系统自动收货"), - + FINISHED(4, "已完成"), + /** + * 已关闭(退款完成) + */ + CLOSED(5, "已关闭"), /** - * 订单完结 + * 已取消 */ - COMPLETED(99, "已完成"); + CANCELED(6, "已取消"); OrderStatusEnum(int value, String label) { diff --git a/mall-oms/oms-boot/src/main/java/com/youlai/mall/oms/service/impl/OrderServiceImpl.java b/mall-oms/oms-boot/src/main/java/com/youlai/mall/oms/service/impl/OrderServiceImpl.java index dd4932fa1bc7141fab3dcb7b68332f5c125c8738..80051d596432db04e251013e31ab7bcb17944fb9 100644 --- a/mall-oms/oms-boot/src/main/java/com/youlai/mall/oms/service/impl/OrderServiceImpl.java +++ b/mall-oms/oms-boot/src/main/java/com/youlai/mall/oms/service/impl/OrderServiceImpl.java @@ -183,7 +183,7 @@ public class OrderServiceImpl extends ServiceImpl impleme // 创建订单 order = new OmsOrder().setOrderSn(orderToken) // 把orderToken赋值给订单编号 - .setStatus(OrderStatusEnum.PENDING_PAYMENT.getValue()) + .setStatus(OrderStatusEnum.WAIT_PAY.getValue()) .setSourceType(OrderSourceTypeEnum.APP.getCode()) .setMemberId(SecurityUtils.getMemberId()) .setRemark(orderSubmitForm.getRemark()) @@ -230,7 +230,7 @@ public class OrderServiceImpl extends ServiceImpl impleme public T pay(Long orderId, String appId, PayTypeEnum payTypeEnum) { OmsOrder order = this.getById(orderId); Assert.isTrue(order != null, "订单不存在"); - Assert.isTrue(OrderStatusEnum.PENDING_PAYMENT.getValue().equals(order.getStatus()), "订单不可支付,请检查订单状态"); + Assert.isTrue(OrderStatusEnum.WAIT_PAY.getValue().equals(order.getStatus()), "订单不可支付,请检查订单状态"); RLock lock = redissonClient.getLock(ORDER_SN_PREFIX + order.getOrderSn()); try { @@ -272,7 +272,7 @@ public class OrderServiceImpl extends ServiceImpl impleme Assert.isTrue(Result.isSuccess(deductBalanceResult), "扣减账户余额失败"); // 更新订单状态 - order.setStatus(OrderStatusEnum.PAYED.getValue()); + order.setStatus(OrderStatusEnum.WAIT_SHIPPING.getValue()); order.setPayType(PayTypeEnum.BALANCE.getValue()); order.setPayTime(new Date()); this.updateById(order); @@ -324,7 +324,7 @@ public class OrderServiceImpl extends ServiceImpl impleme public boolean closeOrder(String orderToken) { log.info("订单超时取消,orderToken:{}", orderToken); OmsOrder order = this.getOne(new LambdaQueryWrapper().eq(OmsOrder::getOrderSn, orderToken)); - if (order == null || !OrderStatusEnum.PENDING_PAYMENT.getValue().equals(order.getStatus())) { + if (order == null || !OrderStatusEnum.WAIT_PAY.getValue().equals(order.getStatus())) { return false; } // 如果已经有outTradeNo了就先进行关单 @@ -337,7 +337,7 @@ public class OrderServiceImpl extends ServiceImpl impleme throw new ApiException("微信关单异常"); } } - order.setStatus(OrderStatusEnum.SYSTEM_CANCEL.getValue()); + order.setStatus(OrderStatusEnum.CANCELED.getValue()); return this.updateById(order); } @@ -349,7 +349,7 @@ public class OrderServiceImpl extends ServiceImpl impleme throw new ApiException("订单不存在"); } - if (!OrderStatusEnum.PENDING_PAYMENT.getValue().equals(order.getStatus())) { + if (!OrderStatusEnum.WAIT_PAY.getValue().equals(order.getStatus())) { throw new ApiException("取消失败,订单状态不支持取消"); // 通过自定义异常,将异常信息抛出由异常处理器捕获显示给前端页面 } // 如果已经有outTradeNo了就先进行关单 @@ -362,7 +362,7 @@ public class OrderServiceImpl extends ServiceImpl impleme throw new ApiException("微信关单异常"); } } - order.setStatus(OrderStatusEnum.USER_CANCEL.getValue()); + order.setStatus(OrderStatusEnum.CANCELED.getValue()); boolean result = this.updateById(order); if (result) { // 释放被锁定的库存 @@ -378,8 +378,7 @@ public class OrderServiceImpl extends ServiceImpl impleme public boolean deleteOrder(Long id) { log.info("=======================订单删除,订单ID:{}=======================", id); OmsOrder order = this.getById(id); - if (order != null && !OrderStatusEnum.SYSTEM_CANCEL.getValue().equals(order.getStatus()) - && !OrderStatusEnum.USER_CANCEL.getValue().equals(order.getStatus())) { + if (order != null && !OrderStatusEnum.CANCELED.getValue().equals(order.getStatus())) { throw new ApiException("订单删除失败,订单不存在或订单状态不支持删除"); } return this.removeById(id); @@ -398,7 +397,7 @@ public class OrderServiceImpl extends ServiceImpl impleme ); // 支付成功处理 if (WxPayConstants.WxpayTradeStatus.SUCCESS.equals(result.getTradeState())) { - orderDO.setStatus(OrderStatusEnum.PAYED.getValue()); + orderDO.setStatus(OrderStatusEnum.WAIT_SHIPPING.getValue()); orderDO.setTransactionId(result.getTransactionId()); orderDO.setPayTime(new Date()); this.updateById(orderDO); @@ -420,7 +419,7 @@ public class OrderServiceImpl extends ServiceImpl impleme OmsOrder orderDO = this.getOne(wrapper); // 退款成功处理 if (WxPayConstants.RefundStatus.SUCCESS.equals(result.getRefundStatus())) { - orderDO.setStatus(OrderStatusEnum.REFUNDED.getValue()); + orderDO.setStatus(OrderStatusEnum.CLOSED.getValue()); orderDO.setRefundId(result.getRefundId()); this.updateById(orderDO); } @@ -521,19 +520,20 @@ public class OrderServiceImpl extends ServiceImpl impleme Long amount = orderDTO.getAmount(); memberFeignClient.deductBalance(memberId, amount); + // 开启异常 + if (openEx) { + int i = 1 / 0; + } + // 生成订单 String orderSn = businessSnGenerator.generateSerialNo(); new OmsOrder().setOrderSn(orderSn) - .setStatus(OrderStatusEnum.COMPLETED.getValue()) + .setStatus(OrderStatusEnum.FINISHED.getValue()) .setSourceType(OrderSourceTypeEnum.APP.getCode()) .setMemberId(memberId) .setPayAmount(amount) .setTotalQuantity(1) .setTotalAmount(amount); - // 开启异常,制造运行时异常 - if (openEx) { - int i = 1 / 0; - } return orderSn; } diff --git a/mall-ums/ums-api/src/main/java/com/youlai/mall/ums/api/MemberFeignClient.java b/mall-ums/ums-api/src/main/java/com/youlai/mall/ums/api/MemberFeignClient.java index 5aca908c8cd5561d7c3397a070b650971f2baefa..12b36ec8a5fc993b5e27cee6ca7378a94de31ca7 100644 --- a/mall-ums/ums-api/src/main/java/com/youlai/mall/ums/api/MemberFeignClient.java +++ b/mall-ums/ums-api/src/main/java/com/youlai/mall/ums/api/MemberFeignClient.java @@ -82,7 +82,7 @@ public interface MemberFeignClient { * @param memberId * @return */ - @PutMapping("/api/v1/members/{memberId}/balance/_reset") + @PutMapping("/app-api/v1/members/{memberId}/balance/_reset") Result resetBalance(@PathVariable Long memberId); /** diff --git a/mall-ums/ums-boot/src/main/java/com/youlai/mall/ums/controller/app/MemberController.java b/mall-ums/ums-boot/src/main/java/com/youlai/mall/ums/controller/app/MemberController.java index c8aab013fb5a8344a832a124055e7c53803b112e..14c0b71583a0854042a96033daf909c06df07072 100644 --- a/mall-ums/ums-boot/src/main/java/com/youlai/mall/ums/controller/app/MemberController.java +++ b/mall-ums/ums-boot/src/main/java/com/youlai/mall/ums/controller/app/MemberController.java @@ -116,7 +116,7 @@ public class MemberController { } @ApiOperation(value = "「实验室」重置会员余额", hidden = true) - @PutMapping("/{memberId}/balances/_reset") + @PutMapping("/{memberId}/balance/_reset") public Result resetBalance(@PathVariable Long memberId) { boolean result = memberService.update( new LambdaUpdateWrapper()