This commit is contained in:
2025-07-20 20:53:26 +08:00
parent 83bf9aea7d
commit 8ad1d7288e
158 changed files with 18156 additions and 13188 deletions

View File

@@ -2,6 +2,7 @@ package repositories
import (
"context"
"errors"
"time"
"github.com/shopspring/decimal"
@@ -42,6 +43,12 @@ func (r *GormWalletRepository) Create(ctx context.Context, wallet entities.Walle
func (r *GormWalletRepository) GetByID(ctx context.Context, id string) (entities.Wallet, error) {
var wallet entities.Wallet
err := r.db.WithContext(ctx).Where("id = ?", id).First(&wallet).Error
if err != nil {
if errors.Is(err, gorm.ErrRecordNotFound) {
return entities.Wallet{}, gorm.ErrRecordNotFound
}
return entities.Wallet{}, err
}
return wallet, err
}
@@ -199,6 +206,9 @@ func (r *GormWalletRepository) GetByUserID(ctx context.Context, userID string) (
var wallet entities.Wallet
err := r.db.WithContext(ctx).Where("user_id = ?", userID).First(&wallet).Error
if err != nil {
if errors.Is(err, gorm.ErrRecordNotFound) {
return nil, gorm.ErrRecordNotFound
}
return nil, err
}
return &wallet, nil
@@ -209,6 +219,9 @@ func (r *GormWalletRepository) GetByWalletAddress(ctx context.Context, walletAdd
var wallet entities.Wallet
err := r.db.WithContext(ctx).Where("wallet_address = ?", walletAddress).First(&wallet).Error
if err != nil {
if errors.Is(err, gorm.ErrRecordNotFound) {
return nil, gorm.ErrRecordNotFound
}
return nil, err
}
return &wallet, nil
@@ -219,6 +232,9 @@ func (r *GormWalletRepository) GetByWalletType(ctx context.Context, userID strin
var wallet entities.Wallet
err := r.db.WithContext(ctx).Where("user_id = ? AND wallet_type = ?", userID, walletType).First(&wallet).Error
if err != nil {
if errors.Is(err, gorm.ErrRecordNotFound) {
return nil, gorm.ErrRecordNotFound
}
return nil, err
}
return &wallet, nil
@@ -384,6 +400,12 @@ func (r *GormUserSecretsRepository) Create(ctx context.Context, secrets entities
func (r *GormUserSecretsRepository) GetByID(ctx context.Context, id string) (entities.UserSecrets, error) {
var secrets entities.UserSecrets
err := r.db.WithContext(ctx).Where("id = ?", id).First(&secrets).Error
if err != nil {
if errors.Is(err, gorm.ErrRecordNotFound) {
return entities.UserSecrets{}, gorm.ErrRecordNotFound
}
return entities.UserSecrets{}, err
}
return secrets, err
}
@@ -503,21 +525,27 @@ func (r *GormUserSecretsRepository) WithTx(tx interface{}) interfaces.Repository
return r
}
// FindByUserID 根据用户ID查找密钥
// FindByUserID 根据用户ID查找用户密钥
func (r *GormUserSecretsRepository) FindByUserID(ctx context.Context, userID string) (*entities.UserSecrets, error) {
var secrets entities.UserSecrets
err := r.db.WithContext(ctx).Where("user_id = ?", userID).First(&secrets).Error
if err != nil {
if errors.Is(err, gorm.ErrRecordNotFound) {
return nil, gorm.ErrRecordNotFound
}
return nil, err
}
return &secrets, nil
}
// FindByAccessID 根据访问ID查找密钥
// FindByAccessID 根据访问ID查找用户密钥
func (r *GormUserSecretsRepository) FindByAccessID(ctx context.Context, accessID string) (*entities.UserSecrets, error) {
var secrets entities.UserSecrets
err := r.db.WithContext(ctx).Where("access_id = ?", accessID).First(&secrets).Error
if err != nil {
if errors.Is(err, gorm.ErrRecordNotFound) {
return nil, gorm.ErrRecordNotFound
}
return nil, err
}
return &secrets, nil
@@ -575,16 +603,22 @@ func (r *GormUserSecretsRepository) GetByUserID(ctx context.Context, userID stri
var secrets entities.UserSecrets
err := r.db.WithContext(ctx).Where("user_id = ?", userID).First(&secrets).Error
if err != nil {
if errors.Is(err, gorm.ErrRecordNotFound) {
return nil, gorm.ErrRecordNotFound
}
return nil, err
}
return &secrets, nil
}
// GetBySecretType 根据密钥类型获取用户密钥
// GetBySecretType 根据用户ID和密钥类型获取用户密钥
func (r *GormUserSecretsRepository) GetBySecretType(ctx context.Context, userID string, secretType string) (*entities.UserSecrets, error) {
var secrets entities.UserSecrets
err := r.db.WithContext(ctx).Where("user_id = ? AND secret_type = ?", userID, secretType).First(&secrets).Error
if err != nil {
if errors.Is(err, gorm.ErrRecordNotFound) {
return nil, gorm.ErrRecordNotFound
}
return nil, err
}
return &secrets, nil