Error code standardization

This commit is contained in:
skiffer-git
2023-01-29 14:47:21 +08:00
parent 5bf8f6728e
commit 39fc655b1a
5 changed files with 134 additions and 205 deletions
+56 -11
View File
@@ -1,24 +1,69 @@
package controller
import (
"Open_IM/pkg/common/db/mysql"
"Open_IM/pkg/common/db/relation"
"context"
"gorm.io/gorm"
)
type UserModel struct {
db *relation.User
type UserInterface interface {
Find(ctx context.Context, userIDs []string) (users []*relation.User, err error)
Create(ctx context.Context, users []*relation.User) error
Take(ctx context.Context, userID string) (user *relation.User, err error)
Update(ctx context.Context, users []*relation.User) (err error)
}
func NewGroupUser(ctx context.Context) *UserModel {
var userModel UserModel
userModel.db = relation.NewUserDB()
return &userModel
type UserController struct {
database UserDatabaseInterface
}
func (u *UserModel) Find(ctx context.Context, userIDs []string) (users []*relation.User, err error) {
return u.db.Find(ctx, userIDs)
func (u *UserController) Find(ctx context.Context, userIDs []string) (users []*relation.User, err error) {
return u.database.Find(ctx, userIDs)
}
func (u *UserController) Create(ctx context.Context, users []*relation.User) error {
return u.database.Create(ctx, users)
}
func (u *UserController) Take(ctx context.Context, userID string) (user *relation.User, err error) {
return u.database.Take(ctx, userID)
}
func (u *UserController) Update(ctx context.Context, users []*relation.User) (err error) {
return u.database.Update(ctx, users)
}
func (u *UserModel) Create(ctx context.Context, users []*relation.User) error {
return u.db.Create(ctx, users)
func NewUserController(db *gorm.DB) UserInterface {
controller := &UserController{database: newUserDatabase(db)}
return controller
}
type UserDatabaseInterface interface {
Find(ctx context.Context, userIDs []string) (users []*relation.User, err error)
Create(ctx context.Context, users []*relation.User) error
Take(ctx context.Context, userID string) (user *relation.User, err error)
Update(ctx context.Context, users []*relation.User) (err error)
}
type UserDatabase struct {
sqlDB *relation.User
}
func newUserDatabase(db *gorm.DB) UserDatabaseInterface {
sqlDB := relation.NewUserDB(db)
database := &UserDatabase{
sqlDB: sqlDB,
}
return database
}
func (u *UserDatabase) Find(ctx context.Context, userIDs []string) (users []*relation.User, err error) {
return u.sqlDB.Find(ctx, userIDs)
}
func (u *UserDatabase) Create(ctx context.Context, users []*relation.User) error {
return u.sqlDB.Create(ctx, users)
}
func (u *UserDatabase) Take(ctx context.Context, userID string) (user *relation.User, err error) {
return u.sqlDB.Take(ctx, userID)
}
func (u *UserDatabase) Update(ctx context.Context, users []*relation.User) (err error) {
return u.sqlDB.Update(ctx, users)
}