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