25 lines
935 B
C#
25 lines
935 B
C#
namespace BrokerApiCore;
|
|
|
|
// 화폐(Currency) 주문 완료 전략
|
|
public class CurrencyOrderCompletionStrategy : IOrderCompletionStrategy
|
|
{
|
|
private readonly PlanetItemExchangeOrderRepo m_planet_item_exchange_repo;
|
|
|
|
public CurrencyOrderCompletionStrategy(PlanetItemExchangeOrderRepo planetItemExchangeOrderRepo)
|
|
{
|
|
m_planet_item_exchange_repo = planetItemExchangeOrderRepo;
|
|
}
|
|
|
|
public async Task<PlanetItemExchangeOrder> completeOrder(PlanetUserEntity planetUserEntity,
|
|
PlanetItemExchangeOrder orderCreated,
|
|
CancellationToken cancellationToken = default)
|
|
{
|
|
var (result, order_completed) =
|
|
await m_planet_item_exchange_repo.findAndUpdateStatus(orderCreated.OrderId, ExchangeOrderStatus.Completed, cancellationToken);
|
|
Guard.Against.resultFail(result);
|
|
Guard.Against.isNull(order_completed, ServerErrorCode.InvalidRequest,
|
|
()=>"CurrencyOrderCompletionStrategy => Order not found");
|
|
return order_completed;
|
|
}
|
|
}
|