xin
2025-07-14 5df7e1b117d15f3ac1cf398ce2b0c17290774ade
订单流程
4 files modified
27 ■■■■■ changed files
oying-system/src/main/java/com/oying/modules/hwc/service/impl/CallbackServiceImpl.java 2 ●●● patch | view | raw | blame | history
oying-system/src/main/java/com/oying/modules/sh/service/OrderService.java 2 ●●● patch | view | raw | blame | history
oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderOperationLogServiceImpl.java 11 ●●●●● patch | view | raw | blame | history
oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderServiceImpl.java 12 ●●●● patch | view | raw | blame | history
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"));
                                    // 处理成功
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);
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);
    }
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;