package com.starry.admin.modules.order.service;

import com.starry.admin.modules.order.module.dto.OrderCompletionContext;
import com.starry.admin.modules.order.module.dto.OrderCreationContext;
import com.starry.admin.modules.order.module.dto.OrderPlacementCommand;
import com.starry.admin.modules.order.module.dto.OrderPlacementResult;
import com.starry.admin.modules.order.module.dto.OrderRefundContext;
import com.starry.admin.modules.order.module.dto.OrderRevocationContext;
import com.starry.admin.modules.order.module.entity.PlayOrderInfoEntity;

public interface IOrderLifecycleService {

    OrderPlacementResult placeOrder(OrderPlacementCommand command);

    void completeOrder(String orderId, OrderCompletionContext context);

    void refundOrder(OrderRefundContext context);

    void revokeCompletedOrder(OrderRevocationContext context);
}
