🐛 Fix dozens of issue in PaymentServiceGrpc
This commit is contained in:
@@ -5,15 +5,21 @@ using NodaTime;
|
||||
|
||||
namespace DysonNetwork.Pass.Wallet;
|
||||
|
||||
public class PaymentServiceGrpc(PaymentService paymentService) : Shared.Proto.PaymentService.PaymentServiceBase
|
||||
public class PaymentServiceGrpc(PaymentService paymentService)
|
||||
: Shared.Proto.PaymentService.PaymentServiceBase
|
||||
{
|
||||
public override async Task<Shared.Proto.Order> CreateOrder(CreateOrderRequest request, ServerCallContext context)
|
||||
public override async Task<Shared.Proto.Order> CreateOrder(
|
||||
CreateOrderRequest request,
|
||||
ServerCallContext context
|
||||
)
|
||||
{
|
||||
var order = await paymentService.CreateOrderAsync(
|
||||
request.HasPayeeWalletId ? Guid.Parse(request.PayeeWalletId) : null,
|
||||
request.Currency,
|
||||
decimal.Parse(request.Amount),
|
||||
request.Expiration is not null ? Duration.FromSeconds(request.Expiration.Seconds) : null,
|
||||
request.Expiration is not null
|
||||
? Duration.FromSeconds(request.Expiration.Seconds)
|
||||
: null,
|
||||
request.HasAppIdentifier ? request.AppIdentifier : SnWalletOrder.InternalAppIdentifier,
|
||||
request.HasProductIdentifier ? request.ProductIdentifier : null,
|
||||
request.HasRemarks ? request.Remarks : null,
|
||||
@@ -26,50 +32,65 @@ public class PaymentServiceGrpc(PaymentService paymentService) : Shared.Proto.Pa
|
||||
}
|
||||
|
||||
public override async Task<Shared.Proto.Transaction> CreateTransactionWithAccount(
|
||||
CreateTransactionWithAccountRequest request, ServerCallContext context)
|
||||
CreateTransactionWithAccountRequest request,
|
||||
ServerCallContext context
|
||||
)
|
||||
{
|
||||
var transaction = await paymentService.CreateTransactionWithAccountAsync(
|
||||
request.HasPayerAccountId ? Guid.Parse(request.PayerAccountId) : null,
|
||||
request.HasPayeeAccountId ? Guid.Parse(request.PayeeAccountId) : null,
|
||||
request.PayerAccountId is not null ? Guid.Parse(request.PayerAccountId) : null,
|
||||
request.PayeeAccountId is not null ? Guid.Parse(request.PayeeAccountId) : null,
|
||||
request.Currency,
|
||||
decimal.Parse(request.Amount),
|
||||
request.HasRemarks ? request.Remarks : null,
|
||||
request.Remarks is not null ? request.Remarks : null,
|
||||
(Shared.Models.TransactionType)request.Type
|
||||
);
|
||||
return transaction.ToProtoValue();
|
||||
}
|
||||
|
||||
public override async Task<Shared.Proto.Transaction> CreateTransaction(CreateTransactionRequest request,
|
||||
ServerCallContext context)
|
||||
public override async Task<Shared.Proto.Transaction> CreateTransaction(
|
||||
CreateTransactionRequest request,
|
||||
ServerCallContext context
|
||||
)
|
||||
{
|
||||
var transaction = await paymentService.CreateTransactionAsync(
|
||||
request.HasPayerWalletId ? Guid.Parse(request.PayerWalletId) : null,
|
||||
request.HasPayeeWalletId ? Guid.Parse(request.PayeeWalletId) : null,
|
||||
request.PayerWalletId is not null ? Guid.Parse(request.PayerWalletId) : null,
|
||||
request.PayeeWalletId is not null ? Guid.Parse(request.PayeeWalletId) : null,
|
||||
request.Currency,
|
||||
decimal.Parse(request.Amount),
|
||||
request.HasRemarks ? request.Remarks : null,
|
||||
request.Remarks is not null ? request.Remarks : null,
|
||||
(Shared.Models.TransactionType)request.Type
|
||||
);
|
||||
return transaction.ToProtoValue();
|
||||
}
|
||||
|
||||
public override async Task<Shared.Proto.Order> CancelOrder(CancelOrderRequest request, ServerCallContext context)
|
||||
public override async Task<Shared.Proto.Order> CancelOrder(
|
||||
CancelOrderRequest request,
|
||||
ServerCallContext context
|
||||
)
|
||||
{
|
||||
var order = await paymentService.CancelOrderAsync(Guid.Parse(request.OrderId));
|
||||
return order.ToProtoValue();
|
||||
}
|
||||
|
||||
public override async Task<RefundOrderResponse> RefundOrder(RefundOrderRequest request, ServerCallContext context)
|
||||
public override async Task<RefundOrderResponse> RefundOrder(
|
||||
RefundOrderRequest request,
|
||||
ServerCallContext context
|
||||
)
|
||||
{
|
||||
var (order, refundTransaction) = await paymentService.RefundOrderAsync(Guid.Parse(request.OrderId));
|
||||
var (order, refundTransaction) = await paymentService.RefundOrderAsync(
|
||||
Guid.Parse(request.OrderId)
|
||||
);
|
||||
return new RefundOrderResponse
|
||||
{
|
||||
Order = order.ToProtoValue(),
|
||||
RefundTransaction = refundTransaction.ToProtoValue()
|
||||
RefundTransaction = refundTransaction.ToProtoValue(),
|
||||
};
|
||||
}
|
||||
|
||||
public override async Task<Shared.Proto.Transaction> Transfer(TransferRequest request, ServerCallContext context)
|
||||
public override async Task<Shared.Proto.Transaction> Transfer(
|
||||
TransferRequest request,
|
||||
ServerCallContext context
|
||||
)
|
||||
{
|
||||
var transaction = await paymentService.TransferAsync(
|
||||
Guid.Parse(request.PayerAccountId),
|
||||
@@ -79,4 +100,5 @@ public class PaymentServiceGrpc(PaymentService paymentService) : Shared.Proto.Pa
|
||||
);
|
||||
return transaction.ToProtoValue();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user