From 5df7e1b117d15f3ac1cf398ce2b0c17290774ade Mon Sep 17 00:00:00 2001 From: xin <1099200748@qq.com> Date: Mon, 14 Jul 2025 21:07:01 +0800 Subject: [PATCH] 订单流程 --- oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderOperationLogServiceImpl.java | 11 +++++++---- oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderServiceImpl.java | 12 ++++++------ oying-system/src/main/java/com/oying/modules/sh/service/OrderService.java | 2 +- oying-system/src/main/java/com/oying/modules/hwc/service/impl/CallbackServiceImpl.java | 2 +- 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/oying-system/src/main/java/com/oying/modules/hwc/service/impl/CallbackServiceImpl.java b/oying-system/src/main/java/com/oying/modules/hwc/service/impl/CallbackServiceImpl.java index 404251a..da47970 100644 --- a/oying-system/src/main/java/com/oying/modules/hwc/service/impl/CallbackServiceImpl.java +++ b/oying-system/src/main/java/com/oying/modules/hwc/service/impl/CallbackServiceImpl.java @@ -61,7 +61,7 @@ PayStateEnum stateEnum = PayStateEnum.NOTPAY; if ("0".equals(map.get("pay_result"))) { stateEnum = PayStateEnum.SUCCESS; - orderService.paySuccess(order); + orderService.operationLog(order); } orderService.updatePayStatus(map.get("out_trade_no"), stateEnum, map.get("pay_info"), map.get("time_end")); // 处理成功 diff --git a/oying-system/src/main/java/com/oying/modules/sh/service/OrderService.java b/oying-system/src/main/java/com/oying/modules/sh/service/OrderService.java index 49f1dc7..4ac0a58 100644 --- a/oying-system/src/main/java/com/oying/modules/sh/service/OrderService.java +++ b/oying-system/src/main/java/com/oying/modules/sh/service/OrderService.java @@ -47,7 +47,7 @@ OrderResponse getByOrderNum(String orderNum); - void paySuccess(OrderResponse order); + void operationLog(OrderResponse order); void updatePayStatus(String outTradeNo, PayStateEnum stateEnum, String payInfo, String timeEnd); diff --git a/oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderOperationLogServiceImpl.java b/oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderOperationLogServiceImpl.java index d4b2546..a35bddc 100644 --- a/oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderOperationLogServiceImpl.java +++ b/oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderOperationLogServiceImpl.java @@ -4,6 +4,8 @@ import com.oying.modules.sh.domain.Order; import com.oying.modules.sh.domain.OrderAddressSnapshot; import com.oying.modules.sh.domain.OrderOperationLog; +import com.oying.modules.sh.domain.vo.OrderResponse; +import com.oying.modules.sh.mapper.OrderMapper; import com.oying.utils.*; import com.oying.utils.enums.OrderStatusEnum; import lombok.RequiredArgsConstructor; @@ -33,6 +35,7 @@ public class OrderOperationLogServiceImpl extends ServiceImpl<OrderOperationLogMapper, OrderOperationLog> implements OrderOperationLogService { private final OrderOperationLogMapper orderOperationLogMapper; + private final OrderMapper orderMapper; @Override public PageResult<OrderOperationLog> queryAll(OrderOperationLogQueryCriteria criteria, Page<Object> page) { @@ -58,9 +61,9 @@ @Override @Transactional(rollbackFor = Exception.class) public void create(Order order, OrderAddressSnapshot addressSnapshot) { - Map<String, Object> map = new LinkedHashMap<>(); - map.put("order", order); - map.put("address", addressSnapshot); + OrderResponse response = new OrderResponse(); + response.setOrder(order); + response.setAddress(addressSnapshot); String username = SecurityUtils.getCurrentUsername(); Timestamp time = new Timestamp(System.currentTimeMillis()); OrderOperationLog resources = new OrderOperationLog(); @@ -70,7 +73,7 @@ resources.setOperation(OrderStatusEnum.ZERO.getKey()); resources.setOperationDescribe(OrderStatusEnum.ZERO.getValue()); resources.setRemark(username + ":" + time + ">" + OrderStatusEnum.ZERO.getValue() + ":" + order.getOrderNum()); - resources.setSnapshotData(JSON.toJSONString(map)); + resources.setSnapshotData(JSON.toJSONString(response)); resources.setOperationTime(time); } diff --git a/oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderServiceImpl.java b/oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderServiceImpl.java index be09c2c..f7e251a 100644 --- a/oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderServiceImpl.java +++ b/oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderServiceImpl.java @@ -245,7 +245,7 @@ @Override @Transactional(rollbackFor = Exception.class) - public void paySuccess(OrderResponse order) { + public void operationLog(OrderResponse order) { orderMapper.updateOrderStatus(order.getOrder().getOrderNum(), OrderStatusEnum.TWO.getKey(), OrderStatusEnum.TWO.getValue()); } @@ -262,16 +262,16 @@ if (order == null) { throw new BadRequestException("订单不存在"); } + if (!order.getPayState().equals(PayStateEnum.NOTPAY.getKey())) { + throw new BadRequestException(PayStateEnum.getValue(order.getPayState())); + } PayTypeEnum anEnum = PayTypeEnum.find(order.getPayType()); switch (anEnum) { case HWC: case HWC2: JSONObject object = swiftPassService.query(orderNum, anEnum); - if (object.getString("trade_state").equals(PayStateEnum.SUCCESS.getKey())) { - throw new BadRequestException("订单已支付"); - } - if (object.getString("trade_state").equals(PayStateEnum.CLOSED.getKey())) { - throw new BadRequestException("订单已关闭"); + if (object.getString("trade_state").equals(PayStateEnum.NOTPAY.getKey())) { + throw new BadRequestException(PayStateEnum.getValue(order.getPayState())); } swiftPassService.closeOrder(orderNum, anEnum); break; -- Gitblit v1.9.3