feat: update

This commit is contained in:
yanghao05
2025-04-30 13:59:39 +08:00
parent 91dcc60588
commit 070bec536b
12 changed files with 104 additions and 35 deletions

View File

@@ -2,7 +2,6 @@ package models
import (
"context"
"errors"
"time"
"quyun/app/requests"
@@ -11,6 +10,7 @@ import (
. "github.com/go-jet/jet/v2/postgres"
"github.com/go-jet/jet/v2/qrm"
"github.com/pkg/errors"
"github.com/samber/lo"
"github.com/sirupsen/logrus"
)
@@ -272,6 +272,24 @@ func (m *usersModel) GetUserByOpenID(ctx context.Context, openID string) (*model
return &user, nil
}
// GetUserByOpenIDOrCreate
func (m *usersModel) GetUserByOpenIDOrCreate(ctx context.Context, openID string, userModel *model.Users) (*model.Users, error) {
user, err := m.GetUserByOpenID(ctx, openID)
if err != nil {
if errors.Is(err, qrm.ErrNoRows) {
// Create User
user, err = m.Create(ctx, userModel)
if err != nil {
return nil, errors.Wrap(err, "failed to create user")
}
} else {
return nil, errors.Wrap(err, "failed to get user")
}
}
return user, nil
}
// GetUsersMapByIDs
func (m *usersModel) GetUsersMapByIDs(ctx context.Context, ids []int64) (map[int64]model.Users, error) {
if len(ids) == 0 {