Merge remote-tracking branch 'origin/errcode' into errcode

This commit is contained in:
Gordon 2023-03-23 15:15:35 +08:00
commit 2ba38d30f9

View File

@ -1,18 +1,19 @@
package ormutil package ormutil
import ( import (
"github.com/OpenIMSDK/Open-IM-Server/pkg/utils" "github.com/OpenIMSDK/Open-IM-Server/pkg/errs"
"gorm.io/gorm" "gorm.io/gorm"
) )
func GormPage[E any](db *gorm.DB, pageNumber, showNumber int32) (uint32, []*E, error) { func GormPage[E any](db *gorm.DB, pageNumber, showNumber int32) (uint32, []*E, error) {
var count int64 var count int64
if err := db.Count(&count).Error; err != nil { var model E
return 0, nil, utils.Wrap(err, "") if err := db.Model(&model).Count(&count).Error; err != nil {
return 0, nil, errs.Wrap(err)
} }
var es []*E var es []*E
if err := db.Limit(int(showNumber)).Offset(int(pageNumber * showNumber)).Find(&es).Error; err != nil { if err := db.Limit(int(showNumber)).Offset(int(pageNumber * showNumber)).Find(&es).Error; err != nil {
return 0, nil, utils.Wrap(err, "") return 0, nil, errs.Wrap(err)
} }
return uint32(count), es, nil return uint32(count), es, nil
} }
@ -46,7 +47,7 @@ func MapCount(db *gorm.DB, field string) (map[string]uint32, error) {
Count uint32 `gorm:"column:count"` Count uint32 `gorm:"column:count"`
} }
if err := db.Select(field + " as id, count(1) as count").Group(field).Find(&items).Error; err != nil { if err := db.Select(field + " as id, count(1) as count").Group(field).Find(&items).Error; err != nil {
return nil, err return nil, errs.Wrap(err)
} }
m := make(map[string]uint32) m := make(map[string]uint32)
for _, item := range items { for _, item := range items {