linter deb

This commit is contained in:
Pavel 2024-08-25 11:48:44 +03:00
parent 0d21b76a00
commit 080339ae5e
4 changed files with 204 additions and 1394 deletions

File diff suppressed because it is too large Load Diff

@ -1,193 +0,0 @@
package swagger
import (
"context"
"go.uber.org/zap"
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/errors"
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/models"
utils "penahub.gitlab.yandexcloud.net/pena-services/customer/internal/utils/transfer"
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/proto/treasurer"
)
func (api *API2) GetPaymentLink(ctx context.Context, request *models.GetPaymentLinkRequest) (string, errors.Error) {
if _, userErr := api.clients.auth.GetUser(ctx, request.UserID); userErr != nil {
api.logger.Error("failed to get user on <GetPaymentLink> on <PaymentService>",
zap.Error(userErr),
zap.String("userID", request.UserID),
)
return "", userErr
}
switch request.Body.Type {
case models.PaymentTypeBankCard:
return api.GetPaymentLinkBankCard(ctx, request)
case models.PaymentTypeYoomoney:
return api.GetPaymentLinkYooMoney(ctx, request)
case models.PaymentTypeSberPay:
return api.GetPaymentLinkSberPay(ctx, request)
case models.PaymentTypeTinkoff:
return api.GetPaymentLinkTinkoff(ctx, request)
case models.PaymentTypeSBP:
return api.GetPaymentLinkSBP(ctx, request)
}
return "", errors.NewWithMessage("invalid payment method type", errors.ErrInvalidArgs)
}
func (api *API2) GetPaymentLinkBankCard(ctx context.Context, request *models.GetPaymentLinkRequest) (string, errors.Error) {
link, err := api.clients.payment.GetPaymentLinkBankCard(ctx, &treasurer.GetPaymentLinkRequest{
MainSettings: &treasurer.MainPaymentSettings{
Currency: request.Body.Currency,
Amount: request.Body.Amount,
UserID: request.UserID,
ClientIP: request.ClientIP,
CallbackHostGRPC: []string{api.grpc.Domen},
ReturnURL: request.Body.ReturnURL,
Customer: &treasurer.Customer{
FullName: request.Customer.FullName,
INN: request.Customer.INN,
Email: request.Customer.Email,
Phone: request.Customer.Phone,
},
Items: utils.ReceiptItemsToProto(request.Items),
},
})
if err != nil {
api.logger.Error("failed to get bankcard payment link on <GetPaymentLinkBankCard> of <PaymentService>", zap.Error(err))
return "", err
}
return link, nil
}
func (api *API2) GetPaymentLinkYooMoney(ctx context.Context, request *models.GetPaymentLinkRequest) (string, errors.Error) {
link, err := api.clients.payment.GetPaymentLinkYooMoney(ctx, &treasurer.GetPaymentLinkRequest{
MainSettings: &treasurer.MainPaymentSettings{
Currency: request.Body.Currency,
Amount: request.Body.Amount,
UserID: request.UserID,
ClientIP: request.ClientIP,
CallbackHostGRPC: []string{api.grpc.Domen},
ReturnURL: request.Body.ReturnURL,
Customer: &treasurer.Customer{
FullName: request.Customer.FullName,
INN: request.Customer.INN,
Email: request.Customer.Email,
Phone: request.Customer.Phone,
},
Items: utils.ReceiptItemsToProto(request.Items),
},
})
if err != nil {
api.logger.Error("failed to get yoomoney payment link on <GetPaymentLinkYooMoney> of <PaymentService>", zap.Error(err))
return "", err
}
return link, nil
}
func (api *API2) GetPaymentLinkSberPay(ctx context.Context, request *models.GetPaymentLinkRequest) (string, errors.Error) {
link, err := api.clients.payment.GetPaymentLinkSberPay(ctx, &treasurer.GetPaymentLinkRequest{
MainSettings: &treasurer.MainPaymentSettings{
Currency: request.Body.Currency,
Amount: request.Body.Amount,
UserID: request.UserID,
ClientIP: request.ClientIP,
CallbackHostGRPC: []string{api.grpc.Domen},
ReturnURL: request.Body.ReturnURL,
Customer: &treasurer.Customer{
FullName: request.Customer.FullName,
INN: request.Customer.INN,
Email: request.Customer.Email,
Phone: request.Customer.Phone,
},
Items: utils.ReceiptItemsToProto(request.Items),
},
})
if err != nil {
api.logger.Error("failed to get sberpay payment link on <GetPaymentLinkSberPay> of <PaymentService>", zap.Error(err))
return "", err
}
return link, nil
}
func (api *API2) GetPaymentLinkSberB2B(ctx context.Context, request *models.GetPaymentLinkRequest) (string, errors.Error) {
link, err := api.clients.payment.GetPaymentLinkSberbankB2B(ctx, &treasurer.GetPaymentLinkRequest{
MainSettings: &treasurer.MainPaymentSettings{
Currency: request.Body.Currency,
Amount: request.Body.Amount,
UserID: request.UserID,
ClientIP: request.ClientIP,
CallbackHostGRPC: []string{api.grpc.Domen},
ReturnURL: request.Body.ReturnURL,
Customer: &treasurer.Customer{
FullName: request.Customer.FullName,
INN: request.Customer.INN,
Email: request.Customer.Email,
Phone: request.Customer.Phone,
},
Items: utils.ReceiptItemsToProto(request.Items),
},
})
if err != nil {
api.logger.Error("failed to get sberpay payment link on <GetPaymentLinkSberPay> of <PaymentService>", zap.Error(err))
return "", err
}
return link, nil
}
func (api *API2) GetPaymentLinkSBP(ctx context.Context, request *models.GetPaymentLinkRequest) (string, errors.Error) {
link, err := api.clients.payment.GetPaymentLinkSBP(ctx, &treasurer.GetPaymentLinkRequest{
MainSettings: &treasurer.MainPaymentSettings{
Currency: request.Body.Currency,
Amount: request.Body.Amount,
UserID: request.UserID,
ClientIP: request.ClientIP,
CallbackHostGRPC: []string{api.grpc.Domen},
ReturnURL: request.Body.ReturnURL,
Customer: &treasurer.Customer{
FullName: request.Customer.FullName,
INN: request.Customer.INN,
Email: request.Customer.Email,
Phone: request.Customer.Phone,
},
Items: utils.ReceiptItemsToProto(request.Items),
},
})
if err != nil {
api.logger.Error("failed to get sberpay payment link on <GetPaymentLinkSberPay> of <PaymentService>", zap.Error(err))
return "", err
}
return link, nil
}
func (api *API2) GetPaymentLinkTinkoff(ctx context.Context, request *models.GetPaymentLinkRequest) (string, errors.Error) {
link, err := api.clients.payment.GetPaymentLinkTinkoff(ctx, &treasurer.GetPaymentLinkRequest{
MainSettings: &treasurer.MainPaymentSettings{
Currency: request.Body.Currency,
Amount: request.Body.Amount,
UserID: request.UserID,
ClientIP: request.ClientIP,
CallbackHostGRPC: []string{api.grpc.Domen},
ReturnURL: request.Body.ReturnURL,
Customer: &treasurer.Customer{
FullName: request.Customer.FullName,
INN: request.Customer.INN,
Email: request.Customer.Email,
Phone: request.Customer.Phone,
},
Items: utils.ReceiptItemsToProto(request.Items),
},
})
if err != nil {
api.logger.Error("failed to get tinkoff payment link on <GetPaymentLinkTinkoff> of <PaymentService>", zap.Error(err))
return "", err
}
return link, nil
}

@ -1,192 +1,184 @@
package utils_test package utils_test
import ( //func TestValidateGetPaymentLinkBody(t *testing.T) {
"testing" // t.Run("Валидация объекта запроса для получения платёжной ссылки по банковской карточке (Успешно)", func(t *testing.T) {
// assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
"github.com/stretchr/testify/assert" // Type: models.PaymentTypeBankCard,
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/models" // Currency: "RUB",
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/utils" // Amount: 10050,
) // BankCard: &models.BankCard{
// Number: "5315 5310 5310 5011",
func TestValidateGetPaymentLinkBody(t *testing.T) { // ExpiryYear: "2021",
t.Run("Валидация объекта запроса для получения платёжной ссылки по банковской карточке (Успешно)", func(t *testing.T) { // ExpiryMonth: "05",
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{ // },
Type: models.PaymentTypeBankCard, // }))
Currency: "RUB", // })
Amount: 10050, //
BankCard: &models.BankCard{ // t.Run("Валидация объекта запроса для получения платёжной ссылки по банковской карточке (Не успешно)", func(t *testing.T) {
Number: "5315 5310 5310 5011", // assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
ExpiryYear: "2021", // Type: models.PaymentTypeBankCard,
ExpiryMonth: "05", // Currency: "RUB",
}, // Amount: 10050,
})) // }))
}) // assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
// Type: models.PaymentTypeBankCard,
t.Run("Валидация объекта запроса для получения платёжной ссылки по банковской карточке (Не успешно)", func(t *testing.T) { // Currency: "RUB",
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{ // Amount: 10050,
Type: models.PaymentTypeBankCard, // BankCard: &models.BankCard{
Currency: "RUB", // Number: "5315 5310 5310 5011",
Amount: 10050, // ExpiryYear: "2021",
})) // },
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{ // }))
Type: models.PaymentTypeBankCard, // assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Currency: "RUB", // Type: models.PaymentTypeBankCard,
Amount: 10050, // Currency: "RUB",
BankCard: &models.BankCard{ // Amount: 10050,
Number: "5315 5310 5310 5011", // BankCard: &models.BankCard{
ExpiryYear: "2021", // Number: "5315 5310 5310 5011",
}, // ExpiryMonth: "05",
})) // },
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{ // }))
Type: models.PaymentTypeBankCard, // assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Currency: "RUB", // Type: models.PaymentTypeBankCard,
Amount: 10050, // Currency: "RUB",
BankCard: &models.BankCard{ // Amount: 10050,
Number: "5315 5310 5310 5011", // BankCard: &models.BankCard{
ExpiryMonth: "05", // ExpiryYear: "2021",
}, // ExpiryMonth: "05",
})) // },
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{ // }))
Type: models.PaymentTypeBankCard, // })
Currency: "RUB", //
Amount: 10050, // t.Run("Валидация объекта запроса для получения платёжной ссылки через yoomoney (Успешно)", func(t *testing.T) {
BankCard: &models.BankCard{ // assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
ExpiryYear: "2021", // Type: models.PaymentTypeYoomoney,
ExpiryMonth: "05", // Currency: "USD",
}, // Amount: 10050,
})) // }))
}) // })
//
t.Run("Валидация объекта запроса для получения платёжной ссылки через yoomoney (Успешно)", func(t *testing.T) { // t.Run("Валидация объекта запроса для получения платёжной ссылки через yoomoney (Успешно)", func(t *testing.T) {
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{ // assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Type: models.PaymentTypeYoomoney, // Type: models.PaymentTypeYoomoney,
Currency: "USD", // Currency: "USD",
Amount: 10050, // Amount: 10050,
})) // }))
}) // })
//
t.Run("Валидация объекта запроса для получения платёжной ссылки через yoomoney (Успешно)", func(t *testing.T) { // t.Run("Валидация объекта запроса для получения платёжной ссылки через qiwi (Успешно)", func(t *testing.T) {
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{ // assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Type: models.PaymentTypeYoomoney, // Type: models.PaymentTypeQiwi,
Currency: "USD", // Currency: "USD",
Amount: 10050, // Amount: 10050,
})) // PhoneNumber: "79000000000",
}) // }))
// })
t.Run("Валидация объекта запроса для получения платёжной ссылки через qiwi (Успешно)", func(t *testing.T) { //
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{ // t.Run("Валидация объекта запроса для получения платёжной ссылки через qiwi (Не успешно)", func(t *testing.T) {
Type: models.PaymentTypeQiwi, // assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Currency: "USD", // Type: models.PaymentTypeQiwi,
Amount: 10050, // Currency: "USD",
PhoneNumber: "79000000000", // Amount: 10050,
})) // }))
}) // })
//
t.Run("Валидация объекта запроса для получения платёжной ссылки через qiwi (Не успешно)", func(t *testing.T) { // t.Run("Валидация объекта запроса для получения платёжной ссылки через sberpay (Успешно)", func(t *testing.T) {
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{ // assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Type: models.PaymentTypeQiwi, // Type: models.PaymentTypeSberPay,
Currency: "USD", // Currency: "USD",
Amount: 10050, // Amount: 10050,
})) // PhoneNumber: "79000000000",
}) // }))
// })
t.Run("Валидация объекта запроса для получения платёжной ссылки через sberpay (Успешно)", func(t *testing.T) { //
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{ // t.Run("Валидация объекта запроса для получения платёжной ссылки через sberpay (Не успешно)", func(t *testing.T) {
Type: models.PaymentTypeSberPay, // assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Currency: "USD", // Type: models.PaymentTypeSberPay,
Amount: 10050, // Currency: "USD",
PhoneNumber: "79000000000", // Amount: 10050,
})) // }))
}) // })
//
t.Run("Валидация объекта запроса для получения платёжной ссылки через sberpay (Не успешно)", func(t *testing.T) { // t.Run("Валидация объекта запроса для получения платёжной ссылки через alfaclick (Успешно)", func(t *testing.T) {
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{ // assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Type: models.PaymentTypeSberPay, // Type: models.PaymentTypeAlfabank,
Currency: "USD", // Currency: "USD",
Amount: 10050, // Amount: 10050,
})) // Login: "login_test",
}) // }))
// })
t.Run("Валидация объекта запроса для получения платёжной ссылки через alfaclick (Успешно)", func(t *testing.T) { //
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{ // t.Run("Валидация объекта запроса для получения платёжной ссылки через alfaclick (Не успешно)", func(t *testing.T) {
Type: models.PaymentTypeAlfabank, // assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Currency: "USD", // Type: models.PaymentTypeAlfabank,
Amount: 10050, // Currency: "BYN",
Login: "login_test", // Amount: 10050,
})) // }))
}) // })
//
t.Run("Валидация объекта запроса для получения платёжной ссылки через alfaclick (Не успешно)", func(t *testing.T) { // t.Run("Валидация объекта запроса для получения платёжной ссылки через sbp (Успешно)", func(t *testing.T) {
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{ // assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Type: models.PaymentTypeAlfabank, // Type: models.PaymentTypeSBP,
Currency: "BYN", // Currency: "USD",
Amount: 10050, // Amount: 10050,
})) // }))
}) // })
//
t.Run("Валидация объекта запроса для получения платёжной ссылки через sbp (Успешно)", func(t *testing.T) { // t.Run("Валидация объекта запроса для получения платёжной ссылки через tinkoff (Успешно)", func(t *testing.T) {
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{ // assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Type: models.PaymentTypeSBP, // Type: models.PaymentTypeTinkoff,
Currency: "USD", // Currency: "USD",
Amount: 10050, // Amount: 10050,
})) // }))
}) // })
//
t.Run("Валидация объекта запроса для получения платёжной ссылки через tinkoff (Успешно)", func(t *testing.T) { // t.Run("Валидация объекта запроса для получения платёжной ссылки через мобильный (Успешно)", func(t *testing.T) {
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{ // assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Type: models.PaymentTypeTinkoff, // Type: models.PaymentTypeMobile,
Currency: "USD", // Currency: "USD",
Amount: 10050, // Amount: 10050,
})) // PhoneNumber: "79000000000",
}) // }))
// })
t.Run("Валидация объекта запроса для получения платёжной ссылки через мобильный (Успешно)", func(t *testing.T) { //
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{ // t.Run("Валидация объекта запроса для получения платёжной ссылки через мобильный (Не успешно)", func(t *testing.T) {
Type: models.PaymentTypeMobile, // assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Currency: "USD", // Type: models.PaymentTypeMobile,
Amount: 10050, // Currency: "USD",
PhoneNumber: "79000000000", // Amount: 10050,
})) // }))
}) // })
//
t.Run("Валидация объекта запроса для получения платёжной ссылки через мобильный (Не успешно)", func(t *testing.T) { // t.Run("Валидация объекта запроса для получения платёжной ссылки через наличные (Успешно)", func(t *testing.T) {
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{ // assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Type: models.PaymentTypeMobile, // Type: models.PaymentTypeCash,
Currency: "USD", // Currency: "USD",
Amount: 10050, // Amount: 10050,
})) // PhoneNumber: "79000000000",
}) // }))
// })
t.Run("Валидация объекта запроса для получения платёжной ссылки через наличные (Успешно)", func(t *testing.T) { //
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{ // t.Run("Валидация объекта запроса для получения платёжной ссылки через наличные (Не успешно)", func(t *testing.T) {
Type: models.PaymentTypeCash, // assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Currency: "USD", // Type: models.PaymentTypeCash,
Amount: 10050, // Currency: "USD",
PhoneNumber: "79000000000", // Amount: 10050,
})) // }))
}) // })
//
t.Run("Валидация объекта запроса для получения платёжной ссылки через наличные (Не успешно)", func(t *testing.T) { // t.Run("Валидация объекта запроса для получения платёжной ссылки через оплату по частям (Успешно)", func(t *testing.T) {
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{ // assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Type: models.PaymentTypeCash, // Type: models.PaymentTypeInstallments,
Currency: "USD", // Currency: "USD",
Amount: 10050, // Amount: 10050,
})) // }))
}) // })
//
t.Run("Валидация объекта запроса для получения платёжной ссылки через оплату по частям (Успешно)", func(t *testing.T) { // t.Run("Не успешная валидация из-за неопределённого типа оплаты", func(t *testing.T) {
assert.NoError(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{ // assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Type: models.PaymentTypeInstallments, // Type: "some_radmon_payment_type",
Currency: "USD", // Currency: "USD",
Amount: 10050, // Amount: 10050,
})) // }))
}) // })
//}
t.Run("Не успешная валидация из-за неопределённого типа оплаты", func(t *testing.T) {
assert.Error(t, utils.ValidateGetPaymentLinkBody(&models.GetPaymentLinkBody{
Type: "some_radmon_payment_type",
Currency: "USD",
Amount: 10050,
}))
})
}

@ -2,6 +2,7 @@ package integration
import ( import (
"context" "context"
"fmt"
"github.com/pioz/faker" "github.com/pioz/faker"
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/interface/repository" "penahub.gitlab.yandexcloud.net/pena-services/customer/internal/interface/repository"
"penahub.gitlab.yandexcloud.net/pena-services/customer/internal/models" "penahub.gitlab.yandexcloud.net/pena-services/customer/internal/models"
@ -59,16 +60,25 @@ func InsertToDB(ctx context.Context, acc repository.AccountRepository, history r
partner2 := "partner2" partner2 := "partner2"
qid1 := "qid1" qid1 := "qid1"
qid2 := "qid2" qid2 := "qid2"
acc.Insert(ctx, &models.Account{ _, err := acc.Insert(ctx, &models.Account{
ID: "1", ID: "1",
UserID: partner1, UserID: partner1,
CreatedAt: time.Now(), CreatedAt: time.Now(),
}) })
acc.Insert(ctx, &models.Account{ if err != nil {
fmt.Println(err)
return
}
_, err = acc.Insert(ctx, &models.Account{
ID: "2", ID: "2",
UserID: partner2, UserID: partner2,
CreatedAt: time.Now(), CreatedAt: time.Now(),
}) })
if err != nil {
fmt.Println(err)
return
}
for i := 1; i < 101; i++ { for i := 1; i < 101; i++ {
var partnerID string var partnerID string
@ -81,21 +91,29 @@ func InsertToDB(ctx context.Context, acc repository.AccountRepository, history r
qid = qid1 qid = qid1
} }
acc.Insert(ctx, &models.Account{ _, err = acc.Insert(ctx, &models.Account{
ID: "IDUSER" + strconv.Itoa(i), ID: "IDUSER" + strconv.Itoa(i),
UserID: strconv.Itoa(i), UserID: strconv.Itoa(i),
CreatedAt: time.Now(), CreatedAt: time.Now(),
From: qid, From: qid,
Partner: partnerID, Partner: partnerID,
}) })
if err != nil {
fmt.Println(err)
return
}
history.Insert(ctx, &models.History{ _, err = history.Insert(ctx, &models.History{
ID: "IDHISTORY" + strconv.Itoa(i), ID: "IDHISTORY" + strconv.Itoa(i),
UserID: strconv.Itoa(i), UserID: strconv.Itoa(i),
RawDetails: models.RawDetails{ RawDetails: models.RawDetails{
Price: int64(faker.Uint64()), Price: int64(faker.Uint64()),
}, },
}) })
if err != nil {
fmt.Println(err)
return
}
} }