xin
2025-07-10 9bb306e77b07fe5296eecc2e8d7edf9c9f8187e9
oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderServiceImpl.java
@@ -119,7 +119,7 @@
        order.setOrderStatusDescribe(OrderStatusEnum.ZERO.getValue());
        order.setUserId(SecurityUtils.getCurrentUserId());
        order.setUsername(SecurityUtils.getCurrentUsername());
        Store store = storeService.getMerchantStore(submit.getStoreId());
        Store store = storeService.getById(submit.getStoreId());
        order.setStoreId(submit.getStoreId());
        order.setStoreName(store.getStoreName());
        order.setStoreLogo(store.getLogoImageUrl());
@@ -165,7 +165,7 @@
            if (product == null) {
                throw new BadRequestException("商品不存在");
            }
            if (product.getStoreId().equals(criteria.getStoreId())) {
            if (!product.getStoreId().equals(criteria.getStoreId())) {
                throw new BadRequestException("不支持跨门店下单");
            }
            if (!product.getStatus().equals(ProductStatusEnum.AVAILABLE.getValue())) {
@@ -196,6 +196,47 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public Order getByOrderNum(String orderNum) {
        return orderMapper.getByOrderNum(orderNum);
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void paySuccess(Order order) {
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void updatePayStatus(String orderNum, PayStateEnum payState, String payMessage, String payTime) {
        orderMapper.updatePayStatus(orderNum, payState.getKey(), payMessage, payTime);
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void closeOrder(String orderNum) {
        Order order = getByOrderNum(orderNum);
        if (order == null) {
            throw new BadRequestException("订单不存在");
        }
        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("订单已关闭");
                }
                swiftPassService.closeOrder(orderNum, anEnum);
                break;
        }
        orderMapper.updateCloseStatus(orderNum, PayStateEnum.CLOSED.getKey());
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void create(Order resources) {
        orderMapper.insert(resources);
    }