xin
2025-09-25 6416e025afd6b3d19347610b3e441ac6a12a0f8f
oying-system/src/main/java/com/oying/modules/sh/service/impl/OrderOperationLogServiceImpl.java
@@ -2,7 +2,6 @@
import com.alibaba.fastjson2.JSON;
import com.oying.exception.BadRequestException;
import com.oying.modules.message.common.MesTypeEnum;
import com.oying.modules.message.common.MsgStatusEnum;
import com.oying.modules.message.service.MesMsgRecordService;
import com.oying.modules.sh.domain.OrderOperationLog;
@@ -61,17 +60,11 @@
        String userType = ConstantsKey.BUYER;
        String username = null;
        Timestamp time = new Timestamp(System.currentTimeMillis());
        MsgStatusEnum msgStatusEnum = null;
        switch (statusEnum) {
            case NINE:
                if (response.getOrder().getOrderStatus().equals(OrderStatusEnum.NINE.getKey())) {
                    throw new BadRequestException("订单已取消");
                }
                if (response.getOrder().getOrderStatus() > OrderStatusEnum.TWO.getKey()) {
                    throw new BadRequestException(OrderStatusEnum.getValue(response.getOrder().getOrderStatus()));
                }
            case ZERO:
            case ONE:
            case EIGHT:
            case TEN:
                userType = ConstantsKey.BUYER;
                break;
            case TWO:
@@ -94,13 +87,29 @@
                orderOperationLogMapper.insert(log1);
                response.getOrder().setOrderStatus(OrderStatusEnum.TWO.getKey());
                response.getOrder().setOrderStatusDescribe(OrderStatusEnum.TWO.getValue());
                msgStatusEnum = MsgStatusEnum.MERCHANT_ACCEPTED;
                userType = ConstantsKey.BUYER;
                break;
            case THREE:
                userType = ConstantsKey.MERCHANT;
                if (response.getOrder().getOrderStatus() > statusEnum.getKey()) {
                    statusEnum = OrderStatusEnum.find(response.getOrder().getOrderStatus());
                }
                msgStatusEnum = MsgStatusEnum.MERCHANT_PREPARED;
                userType = ConstantsKey.BUYER;
                break;
            case FOUR:
                orderMapper.updateRider(response.getOrder().getOrderNum(), SecurityUtils.getCurrentUserId(), SecurityUtils.getCurrentUsername(), cardName);
                msgStatusEnum = MsgStatusEnum.RIDER_PENDING_ACCEPTANCE;
                userType = ConstantsKey.RIDER;
                break;
            case FIVE:
                msgStatusEnum = MsgStatusEnum.RIDER_ARRIVED;
                userType = ConstantsKey.RIDER;
                break;
            case SIX:
                msgStatusEnum = MsgStatusEnum.RIDER_PICKED_UP;
                userType = ConstantsKey.RIDER;
                break;
            case SEVEN:
                userType = ConstantsKey.RIDER;
                username = SecurityUtils.getCurrentUsername();
@@ -119,25 +128,41 @@
                log2.setOperationTime(time);
                orderOperationLogMapper.insert(log2);
                orderMapper.updateOrderStatus(response.getOrder().getOrderNum(), statusEnum.getKey(), statusEnum.getValue());
                msgStatusEnum = MsgStatusEnum.BUYER_ORDER_DELIVERED;
                statusEnum = OrderStatusEnum.EIGHT;
                break;
            case TEN:
            case TWELVE:
            case EIGHT:
                msgStatusEnum = MsgStatusEnum.BUYER_ORDER_COMPLETED;
                userType = ConstantsKey.BUYER;
                orderMapper.updateOrderStatus(response.getOrder().getOrderNum(), statusEnum.getKey(), statusEnum.getValue());
                break;
            case FIFTEEN:
            case NINE:
                if (response.getOrder().getOrderStatus().equals(OrderStatusEnum.NINE.getKey())) {
                    throw new BadRequestException("订单已取消");
                }
                if (response.getOrder().getOrderStatus() > OrderStatusEnum.TWO.getKey()) {
                    throw new BadRequestException(OrderStatusEnum.getValue(response.getOrder().getOrderStatus()));
                }
                msgStatusEnum = MsgStatusEnum.RIDER_ORDER_CANCELLED;
                userType = ConstantsKey.BUYER;
                orderMapper.updateOrderStatus(response.getOrder().getOrderNum(), OrderStatusEnum.EIGHT.getKey(), OrderStatusEnum.EIGHT.getValue());
                break;
            case ELEVEN:
                userType = ConstantsKey.MERCHANT;
                orderMapper.updateOrderStatus(response.getOrder().getOrderNum(), OrderStatusEnum.EIGHT.getKey(), OrderStatusEnum.EIGHT.getValue());
                break;
            case TWELVE:
                userType = ConstantsKey.BUYER;
                orderMapper.updateOrderStatus(response.getOrder().getOrderNum(), statusEnum.getKey(), statusEnum.getValue());
                break;
            case THIRTEEN:
                userType = ConstantsKey.MERCHANT;
                break;
            case FOURTEEN:
                userType = ConstantsKey.MERCHANT;
                orderMapper.updateOrderStatus(response.getOrder().getOrderNum(), statusEnum.getKey(), statusEnum.getValue());
                break;
            case FIFTEEN:
                userType = ConstantsKey.BUYER;
                orderMapper.updateOrderStatus(response.getOrder().getOrderNum(), OrderStatusEnum.EIGHT.getKey(), OrderStatusEnum.EIGHT.getValue());
                break;
            default:
                throw new BadRequestException("状态错误");
@@ -159,7 +184,9 @@
        resources.setSnapshotData(JSON.toJSONString(map));
        resources.setOperationTime(time);
        orderOperationLogMapper.insert(resources);
        mesMsgRecordService.insertOrderMsg(response.getOrder(), MsgStatusEnum.MERCHANT_ORDER_SUBMITTED, MesTypeEnum.ORDER);
        if (msgStatusEnum != null) {
//            mesMsgRecordService.insertOrderMsg(response.getOrder(), msgStatusEnum, MesTypeEnum.ORDER);
        }
        orderMapper.updateOrderStatus(response.getOrder().getOrderNum(), statusEnum.getKey(), statusEnum.getValue());
    }