彭雪彬
2025-07-15 a7501803a3ca43310e57a5dd912e5047919c2e43
oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderServiceImpl.java
@@ -12,6 +12,7 @@
import com.oying.modules.sh.domain.*;
import com.oying.modules.sh.domain.request.GeneratorOrder;
import com.oying.modules.sh.domain.request.ProductOrder;
import com.oying.modules.sh.domain.request.StatusOrder;
import com.oying.modules.sh.domain.request.SubmitOrder;
import com.oying.modules.sh.domain.vo.OrderInfo;
import com.oying.modules.sh.domain.vo.OrderResponse;
@@ -173,7 +174,9 @@
        productSnapshotService.saveBatch(snapshots);
        order.setProductSnapshots(new HashSet<>(snapshots));
        operationLogService.create(order, addressSnapshot);
        OrderResponse response = new OrderResponse(order, addressSnapshot, null);
        operationLogService.create(response, OrderStatusEnum.ZERO);
        return order;
    }
@@ -235,18 +238,22 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public OrderResponse getByOrderNum(String orderNum) {
        OrderResponse response = new OrderResponse();
        response.setOrder(orderMapper.getByOrderNum(orderNum));
        response.setAddress(addressSnapshotService.queryByOrderNum(orderNum));
        response.setOperation(operationLogService.getByOrderNum(orderNum));
        return response;
    public void statusOrder(StatusOrder statusOrder) {
        operationLog(getByOrderNum(statusOrder.getOrderNum()), statusOrder.getStatus());
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void operationLog(OrderResponse order) {
        orderMapper.updateOrderStatus(order.getOrder().getOrderNum(), OrderStatusEnum.TWO.getKey(), OrderStatusEnum.TWO.getValue());
    public OrderResponse getByOrderNum(String orderNum) {
        return new OrderResponse(orderMapper.getByOrderNum(orderNum),
                addressSnapshotService.queryByOrderNum(orderNum),
                operationLogService.getByOrderNum(orderNum));
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void operationLog(OrderResponse order, OrderStatusEnum stateEnum) {
        operationLogService.create(order, stateEnum);
    }
    @Override
@@ -258,9 +265,13 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void closeOrder(String orderNum) {
        Order order = orderMapper.getByOrderNum(orderNum);
        OrderResponse response = getByOrderNum(orderNum);
        Order order = response.getOrder();
        if (order == null) {
            throw new BadRequestException("订单不存在");
        }
        if (!SecurityUtils.getCurrentUserId().equals(order.getUserId())) {
            throw new BadRequestException("不能修改他人订单");
        }
        if (!order.getPayState().equals(PayStateEnum.NOTPAY.getKey())) {
            throw new BadRequestException(PayStateEnum.getValue(order.getPayState()));
@@ -276,7 +287,8 @@
                swiftPassService.closeOrder(orderNum, anEnum);
                break;
        }
        orderMapper.updateCloseStatus(orderNum, PayStateEnum.CLOSED.getKey());
        operationLogService.create(response, OrderStatusEnum.NINE);
        orderMapper.updateCloseStatus(orderNum, PayStateEnum.CLOSED.getKey(), PayStateEnum.CLOSED.getValue());
    }
    @Override