fix err amount - int64

This commit is contained in:
Pasha 2025-07-21 18:25:32 +03:00
parent 92d90b8ab9
commit 4a4048d381
3 changed files with 5 additions and 6 deletions

@ -29,7 +29,7 @@ type AlchemyAddressActivityWebhook struct {
} `json:"rawContract"` } `json:"rawContract"`
ToAddress string `json:"toAddress"` ToAddress string `json:"toAddress"`
//TypeTraceAddress interface{} `json:"typeTraceAddress"` //TypeTraceAddress interface{} `json:"typeTraceAddress"`
Value float64 `json:"value"` Value int64 `json:"value"`
} `json:"activity"` } `json:"activity"`
Network string `json:"network"` Network string `json:"network"`
} `json:"event"` } `json:"event"`

@ -24,7 +24,7 @@ type Provider struct {
} }
type Deps struct { type Deps struct {
Repository *repository.PaymentMethodRepository Repository *repository.PaymentRepository
Logger *zap.Logger Logger *zap.Logger
Config *Config Config *Config
} }
@ -63,8 +63,7 @@ func (p *Provider) handleWebhook(ctx *fiber.Ctx) error {
if act.ToAddress != p.config.WalletAddress { if act.ToAddress != p.config.WalletAddress {
continue continue
} }
amountStr := fmt.Sprintf("%v", act.Value) payment, err := p.repository.FindByWalletAddressAndAmount(ctx.Context(), act.FromAddress, act.Value)
payment, err := p.repository.FindByWalletAddressAndAmount(ctx.Context(), act.FromAddress, amountStr)
if err != nil { if err != nil {
if err.Type() == errors.ErrNotFound { if err.Type() == errors.ErrNotFound {
return ctx.Status(fiber.StatusNotFound).SendString(fmt.Sprintf("payment not found: %s", err.Error())) return ctx.Status(fiber.StatusNotFound).SendString(fmt.Sprintf("payment not found: %s", err.Error()))

@ -161,7 +161,7 @@ func (r *PaymentRepository) SetPaymentStatus(ctx context.Context, paymentID stri
return &payment, nil return &payment, nil
} }
func (r *PaymentRepository) FindByWalletAddressAndAmount(ctx context.Context, walletAddress string, amount string) (*models.Payment, errors.Error) { func (r *PaymentRepository) FindByWalletAddressAndAmount(ctx context.Context, walletAddress string, amount int64) (*models.Payment, errors.Error) {
payment := models.Payment{} payment := models.Payment{}
filter := bson.M{ filter := bson.M{
PaymentFields.WalletAddress: walletAddress, PaymentFields.WalletAddress: walletAddress,
@ -172,7 +172,7 @@ func (r *PaymentRepository) FindByWalletAddressAndAmount(ctx context.Context, wa
r.logger.Error("failed to find payment by walletAddress and amount on <FindByWalletAddressAndAmount> of <PaymentRepository>", r.logger.Error("failed to find payment by walletAddress and amount on <FindByWalletAddressAndAmount> of <PaymentRepository>",
zap.Error(err), zap.Error(err),
zap.String("walletAddress", walletAddress), zap.String("walletAddress", walletAddress),
zap.String("amount", amount), zap.Int64("amount", amount),
) )
findErr := errors.NewWithError( findErr := errors.NewWithError(