fix:fix lint errors in pkg/common/db/relation

and pkg/common/db/localcache
pull/1263/head
cncsmonster 2 years ago
parent e7e48a8c74
commit fc1a270057

@ -50,6 +50,7 @@ func (g *ConversationLocalCache) GetRecvMsgNotNotifyUserIDs(ctx context.Context,
if err != nil { if err != nil {
return nil, err return nil, err
} }
return resp.UserIDs, nil return resp.UserIDs, nil
} }

@ -57,6 +57,7 @@ func (g *GroupLocalCache) GetGroupMemberIDs(ctx context.Context, groupID string)
localHashInfo, ok := g.cache[groupID] localHashInfo, ok := g.cache[groupID]
if ok && localHashInfo.memberListHash == resp.GroupAbstractInfos[0].GroupMemberListHash { if ok && localHashInfo.memberListHash == resp.GroupAbstractInfos[0].GroupMemberListHash {
g.lock.Unlock() g.lock.Unlock()
return localHashInfo.userIDs, nil return localHashInfo.userIDs, nil
} }
g.lock.Unlock() g.lock.Unlock()
@ -74,5 +75,6 @@ func (g *GroupLocalCache) GetGroupMemberIDs(ctx context.Context, groupID string)
memberListHash: resp.GroupAbstractInfos[0].GroupMemberListHash, memberListHash: resp.GroupAbstractInfos[0].GroupMemberListHash,
userIDs: groupMembersResp.UserIDs, userIDs: groupMembersResp.UserIDs,
} }
return g.cache[groupID].userIDs, nil return g.cache[groupID].userIDs, nil
} }

@ -63,10 +63,11 @@ func (b *BlackGorm) Find(
ctx context.Context, ctx context.Context,
blacks []*relation.BlackModel, blacks []*relation.BlackModel,
) (blackList []*relation.BlackModel, err error) { ) (blackList []*relation.BlackModel, err error) {
var where [][]interface{} where := make([][]interface{}, 0, len(blacks))
for _, black := range blacks { for _, black := range blacks {
where = append(where, []interface{}{black.OwnerUserID, black.BlockUserID}) where = append(where, []interface{}{black.OwnerUserID, black.BlockUserID})
} }
return blackList, utils.Wrap( return blackList, utils.Wrap(
b.db(ctx).Where("(owner_user_id, block_user_id) in ?", where).Find(&blackList).Error, b.db(ctx).Where("(owner_user_id, block_user_id) in ?", where).Find(&blackList).Error,
"", "",
@ -75,6 +76,7 @@ func (b *BlackGorm) Find(
func (b *BlackGorm) Take(ctx context.Context, ownerUserID, blockUserID string) (black *relation.BlackModel, err error) { func (b *BlackGorm) Take(ctx context.Context, ownerUserID, blockUserID string) (black *relation.BlackModel, err error) {
black = &relation.BlackModel{} black = &relation.BlackModel{}
return black, utils.Wrap( return black, utils.Wrap(
b.db(ctx).Where("owner_user_id = ? and block_user_id = ?", ownerUserID, blockUserID).Take(black).Error, b.db(ctx).Where("owner_user_id = ? and block_user_id = ?", ownerUserID, blockUserID).Take(black).Error,
"", "",
@ -96,6 +98,7 @@ func (b *BlackGorm) FindOwnerBlacks(
showNumber, showNumber,
) )
total = int64(totalUint32) total = int64(totalUint32)
return return
} }

@ -15,6 +15,8 @@
package relation package relation
import ( import (
//nolint:staticcheck //tofix: SA1019: "github.com/golang/protobuf/jsonpb" is deprecated: Use the "google.golang.org/protobuf/encoding/protojson" package instead.
"github.com/golang/protobuf/jsonpb" "github.com/golang/protobuf/jsonpb"
"github.com/jinzhu/copier" "github.com/jinzhu/copier"
"google.golang.org/protobuf/proto" "google.golang.org/protobuf/proto"
@ -38,7 +40,10 @@ func NewChatLogGorm(db *gorm.DB) relation.ChatLogModelInterface {
func (c *ChatLogGorm) Create(msg *pbmsg.MsgDataToMQ) error { func (c *ChatLogGorm) Create(msg *pbmsg.MsgDataToMQ) error {
chatLog := new(relation.ChatLogModel) chatLog := new(relation.ChatLogModel)
copier.Copy(chatLog, msg.MsgData) err := copier.Copy(chatLog, msg.MsgData)
if err != nil {
return err
}
switch msg.MsgData.SessionType { switch msg.MsgData.SessionType {
case constant.GroupChatType, constant.SuperGroupChatType: case constant.GroupChatType, constant.SuperGroupChatType:
chatLog.RecvID = msg.MsgData.GroupID chatLog.RecvID = msg.MsgData.GroupID
@ -59,5 +64,6 @@ func (c *ChatLogGorm) Create(msg *pbmsg.MsgDataToMQ) error {
} }
chatLog.CreateTime = utils.UnixMillSecondToTime(msg.MsgData.CreateTime) chatLog.CreateTime = utils.UnixMillSecondToTime(msg.MsgData.CreateTime)
chatLog.SendTime = utils.UnixMillSecondToTime(msg.MsgData.SendTime) chatLog.SendTime = utils.UnixMillSecondToTime(msg.MsgData.SendTime)
return c.DB.Create(chatLog).Error return c.DB.Create(chatLog).Error
} }

@ -54,6 +54,7 @@ func (c *ConversationGorm) UpdateByMap(
args map[string]interface{}, args map[string]interface{},
) (rows int64, err error) { ) (rows int64, err error) {
result := c.db(ctx).Where("owner_user_id IN (?) and conversation_id=?", userIDList, conversationID).Updates(args) result := c.db(ctx).Where("owner_user_id IN (?) and conversation_id=?", userIDList, conversationID).Updates(args)
return result.RowsAffected, utils.Wrap(result.Error, "") return result.RowsAffected, utils.Wrap(result.Error, "")
} }
@ -79,6 +80,7 @@ func (c *ConversationGorm) Find(
Error, Error,
"", "",
) )
return conversations, err return conversations, err
} }
@ -87,6 +89,7 @@ func (c *ConversationGorm) Take(
userID, conversationID string, userID, conversationID string,
) (conversation *relation.ConversationModel, err error) { ) (conversation *relation.ConversationModel, err error) {
cc := &relation.ConversationModel{} cc := &relation.ConversationModel{}
return cc, utils.Wrap( return cc, utils.Wrap(
c.db(ctx).Where("conversation_id = ? And owner_user_id = ?", conversationID, userID).Take(cc).Error, c.db(ctx).Where("conversation_id = ? And owner_user_id = ?", conversationID, userID).Take(cc).Error,
"", "",
@ -169,6 +172,7 @@ func (c *ConversationGorm) GetUserRecvMsgOpt(
ownerUserID, conversationID string, ownerUserID, conversationID string,
) (opt int, err error) { ) (opt int, err error) {
var conversation relation.ConversationModel var conversation relation.ConversationModel
return int( return int(
conversation.RecvMsgOpt, conversation.RecvMsgOpt,
), utils.Wrap( ), utils.Wrap(
@ -219,6 +223,7 @@ func (c *ConversationGorm) GetConversationIDsNeedDestruct(
func (c *ConversationGorm) GetConversationRecvMsgOpt(ctx context.Context, userID string, conversationID string) (int32, error) { func (c *ConversationGorm) GetConversationRecvMsgOpt(ctx context.Context, userID string, conversationID string) (int32, error) {
var recvMsgOpt int32 var recvMsgOpt int32
return recvMsgOpt, errs.Wrap( return recvMsgOpt, errs.Wrap(
c.db(ctx). c.db(ctx).
Model(&relation.ConversationModel{}). Model(&relation.ConversationModel{}).
@ -230,6 +235,7 @@ func (c *ConversationGorm) GetConversationRecvMsgOpt(ctx context.Context, userID
func (c *ConversationGorm) GetConversationNotReceiveMessageUserIDs(ctx context.Context, conversationID string) ([]string, error) { func (c *ConversationGorm) GetConversationNotReceiveMessageUserIDs(ctx context.Context, conversationID string) ([]string, error) {
var userIDs []string var userIDs []string
return userIDs, errs.Wrap( return userIDs, errs.Wrap(
c.db(ctx). c.db(ctx).
Model(&relation.ConversationModel{}). Model(&relation.ConversationModel{}).

@ -50,6 +50,7 @@ func (f *FriendGorm) Delete(ctx context.Context, ownerUserID string, friendUserI
Error, Error,
"", "",
) )
return err return err
} }
@ -84,6 +85,7 @@ func (f *FriendGorm) UpdateRemark(ctx context.Context, ownerUserID, friendUserID
} }
m := make(map[string]interface{}, 1) m := make(map[string]interface{}, 1)
m["remark"] = "" m["remark"] = ""
return utils.Wrap(f.db(ctx).Where("owner_user_id = ?", ownerUserID).Updates(m).Error, "") return utils.Wrap(f.db(ctx).Where("owner_user_id = ?", ownerUserID).Updates(m).Error, "")
} }
@ -93,6 +95,7 @@ func (f *FriendGorm) Take(
ownerUserID, friendUserID string, ownerUserID, friendUserID string,
) (friend *relation.FriendModel, err error) { ) (friend *relation.FriendModel, err error) {
friend = &relation.FriendModel{} friend = &relation.FriendModel{}
return friend, utils.Wrap( return friend, utils.Wrap(
f.db(ctx).Where("owner_user_id = ? and friend_user_id", ownerUserID, friendUserID).Take(friend).Error, f.db(ctx).Where("owner_user_id = ? and friend_user_id", ownerUserID, friendUserID).Take(friend).Error,
"", "",
@ -156,6 +159,7 @@ func (f *FriendGorm) FindOwnerFriends(
Error, Error,
"", "",
) )
return return
} }
@ -178,6 +182,7 @@ func (f *FriendGorm) FindInWhoseFriends(
Error, Error,
"", "",
) )
return return
} }

@ -74,6 +74,7 @@ func (f *FriendRequestGorm) Update(ctx context.Context, friendRequest *relation.
fr2 := *friendRequest fr2 := *friendRequest
fr2.FromUserID = "" fr2.FromUserID = ""
fr2.ToUserID = "" fr2.ToUserID = ""
return utils.Wrap( return utils.Wrap(
f.db(ctx). f.db(ctx).
Where("from_user_id = ? AND to_user_id =?", friendRequest.FromUserID, friendRequest.ToUserID). Where("from_user_id = ? AND to_user_id =?", friendRequest.FromUserID, friendRequest.ToUserID).
@ -93,6 +94,7 @@ func (f *FriendRequestGorm) Find(
f.db(ctx).Where("from_user_id = ? and to_user_id = ?", fromUserID, toUserID).Find(friendRequest).Error, f.db(ctx).Where("from_user_id = ? and to_user_id = ?", fromUserID, toUserID).Find(friendRequest).Error,
"", "",
) )
return friendRequest, err return friendRequest, err
} }
@ -105,6 +107,7 @@ func (f *FriendRequestGorm) Take(
f.db(ctx).Where("from_user_id = ? and to_user_id = ?", fromUserID, toUserID).Take(friendRequest).Error, f.db(ctx).Where("from_user_id = ? and to_user_id = ?", fromUserID, toUserID).Take(friendRequest).Error,
"", "",
) )
return friendRequest, err return friendRequest, err
} }
@ -127,6 +130,7 @@ func (f *FriendRequestGorm) FindToUserID(
Error, Error,
"", "",
) )
return return
} }
@ -149,6 +153,7 @@ func (f *FriendRequestGorm) FindFromUserID(
Error, Error,
"", "",
) )
return return
} }
@ -160,5 +165,6 @@ func (f *FriendRequestGorm) FindBothFriendRequests(ctx context.Context, fromUser
Error, Error,
"", "",
) )
return return
} }

@ -68,6 +68,7 @@ func (g *GroupMemberGorm) UpdateRoleLevel(
db := g.db(ctx).Where("group_id = ? and user_id = ?", groupID, userID).Updates(map[string]any{ db := g.db(ctx).Where("group_id = ? and user_id = ?", groupID, userID).Updates(map[string]any{
"role_level": roleLevel, "role_level": roleLevel,
}) })
return db.RowsAffected, utils.Wrap(db.Error, "") return db.RowsAffected, utils.Wrap(db.Error, "")
} }
@ -87,6 +88,7 @@ func (g *GroupMemberGorm) Find(
if len(roleLevels) > 0 { if len(roleLevels) > 0 {
db = db.Where("role_level in (?)", roleLevels) db = db.Where("role_level in (?)", roleLevels)
} }
return groupMembers, utils.Wrap(db.Find(&groupMembers).Error, "") return groupMembers, utils.Wrap(db.Find(&groupMembers).Error, "")
} }
@ -96,6 +98,7 @@ func (g *GroupMemberGorm) Take(
userID string, userID string,
) (groupMember *relation.GroupMemberModel, err error) { ) (groupMember *relation.GroupMemberModel, err error) {
groupMember = &relation.GroupMemberModel{} groupMember = &relation.GroupMemberModel{}
return groupMember, utils.Wrap( return groupMember, utils.Wrap(
g.db(ctx).Where("group_id = ? and user_id = ?", groupID, userID).Take(groupMember).Error, g.db(ctx).Where("group_id = ? and user_id = ?", groupID, userID).Take(groupMember).Error,
"", "",
@ -107,6 +110,7 @@ func (g *GroupMemberGorm) TakeOwner(
groupID string, groupID string,
) (groupMember *relation.GroupMemberModel, err error) { ) (groupMember *relation.GroupMemberModel, err error) {
groupMember = &relation.GroupMemberModel{} groupMember = &relation.GroupMemberModel{}
return groupMember, utils.Wrap( return groupMember, utils.Wrap(
g.db(ctx).Where("group_id = ? and role_level = ?", groupID, constant.GroupOwner).Take(groupMember).Error, g.db(ctx).Where("group_id = ? and role_level = ?", groupID, constant.GroupOwner).Take(groupMember).Error,
"", "",
@ -125,6 +129,7 @@ func (g *GroupMemberGorm) SearchMember(
ormutil.GormIn(&db, "group_id", groupIDs) ormutil.GormIn(&db, "group_id", groupIDs)
ormutil.GormIn(&db, "user_id", userIDs) ormutil.GormIn(&db, "user_id", userIDs)
ormutil.GormIn(&db, "role_level", roleLevels) ormutil.GormIn(&db, "role_level", roleLevels)
return ormutil.GormSearch[relation.GroupMemberModel](db, []string{"nickname"}, keyword, pageNumber, showNumber) return ormutil.GormSearch[relation.GroupMemberModel](db, []string{"nickname"}, keyword, pageNumber, showNumber)
} }
@ -152,6 +157,7 @@ func (g *GroupMemberGorm) FindJoinUserID(
groupUsers[item.GroupID] = append(v, item.UserID) groupUsers[item.GroupID] = append(v, item.UserID)
} }
} }
return groupUsers, nil return groupUsers, nil
} }
@ -182,6 +188,7 @@ func (g *GroupMemberGorm) FindUsersJoinedGroupID(ctx context.Context, userIDs []
result[groupMember.UserID] = append(v, groupMember.GroupID) result[groupMember.UserID] = append(v, groupMember.GroupID)
} }
} }
return result, nil return result, nil
} }

@ -61,12 +61,14 @@ func (g *GroupGorm) Find(ctx context.Context, groupIDs []string) (groups []*rela
func (g *GroupGorm) Take(ctx context.Context, groupID string) (group *relation.GroupModel, err error) { func (g *GroupGorm) Take(ctx context.Context, groupID string) (group *relation.GroupModel, err error) {
group = &relation.GroupModel{} group = &relation.GroupModel{}
return group, utils.Wrap(g.DB.Where("group_id = ?", groupID).Take(group).Error, "") return group, utils.Wrap(g.DB.Where("group_id = ?", groupID).Take(group).Error, "")
} }
func (g *GroupGorm) Search(ctx context.Context, keyword string, pageNumber, showNumber int32) (total uint32, groups []*relation.GroupModel, err error) { func (g *GroupGorm) Search(ctx context.Context, keyword string, pageNumber, showNumber int32) (total uint32, groups []*relation.GroupModel, err error) {
db := g.DB db := g.DB
db = db.WithContext(ctx).Where("status!=?", constant.GroupStatusDismissed) db = db.WithContext(ctx).Where("status!=?", constant.GroupStatusDismissed)
return ormutil.GormSearch[relation.GroupModel](db, []string{"name"}, keyword, pageNumber, showNumber) return ormutil.GormSearch[relation.GroupModel](db, []string{"name"}, keyword, pageNumber, showNumber)
} }
@ -82,6 +84,7 @@ func (g *GroupGorm) CountTotal(ctx context.Context, before *time.Time) (count in
if err := db.Count(&count).Error; err != nil { if err := db.Count(&count).Error; err != nil {
return 0, err return 0, err
} }
return count, nil return count, nil
} }
@ -98,6 +101,7 @@ func (g *GroupGorm) CountRangeEverydayTotal(ctx context.Context, start time.Time
for _, r := range res { for _, r := range res {
v[r.Date.Format("2006-01-02")] = r.Count v[r.Date.Format("2006-01-02")] = r.Count
} }
return v, nil return v, nil
} }

@ -80,6 +80,7 @@ func (g *GroupRequestGorm) Take(
userID string, userID string,
) (groupRequest *relation.GroupRequestModel, err error) { ) (groupRequest *relation.GroupRequestModel, err error) {
groupRequest = &relation.GroupRequestModel{} groupRequest = &relation.GroupRequestModel{}
return groupRequest, utils.Wrap( return groupRequest, utils.Wrap(
g.DB.WithContext(ctx).Where("group_id = ? and user_id = ? ", groupID, userID).Take(groupRequest).Error, g.DB.WithContext(ctx).Where("group_id = ? and user_id = ? ", groupID, userID).Take(groupRequest).Error,
utils.GetSelfFuncName(), utils.GetSelfFuncName(),
@ -114,5 +115,6 @@ func (g *GroupRequestGorm) PageGroup(
func (g *GroupRequestGorm) FindGroupRequests(ctx context.Context, groupID string, userIDs []string) (total int64, groupRequests []*relation.GroupRequestModel, err error) { func (g *GroupRequestGorm) FindGroupRequests(ctx context.Context, groupID string, userIDs []string) (total int64, groupRequests []*relation.GroupRequestModel, err error) {
err = g.DB.WithContext(ctx).Where("group_id = ? and user_id in ?", groupID, userIDs).Find(&groupRequests).Error err = g.DB.WithContext(ctx).Where("group_id = ? and user_id in ?", groupID, userIDs).Find(&groupRequests).Error
return int64(len(groupRequests)), groupRequests, utils.Wrap(err, utils.GetSelfFuncName()) return int64(len(groupRequests)), groupRequests, utils.Wrap(err, utils.GetSelfFuncName())
} }

@ -25,6 +25,7 @@ func (l *LogGorm) Search(ctx context.Context, keyword string, start time.Time, e
db = l.db.WithContext(ctx).Where("create_time <= ?", end) db = l.db.WithContext(ctx).Where("create_time <= ?", end)
} }
db = db.Order("create_time desc") db = db.Order("create_time desc")
return ormutil.GormSearch[relationtb.Log](db, []string{"user_id"}, keyword, pageNumber, showNumber) return ormutil.GormSearch[relationtb.Log](db, []string{"user_id"}, keyword, pageNumber, showNumber)
} }
@ -32,6 +33,7 @@ func (l *LogGorm) Delete(ctx context.Context, logIDs []string, userID string) er
if userID == "" { if userID == "" {
return errs.Wrap(l.db.WithContext(ctx).Where("log_id in ?", logIDs).Delete(&relationtb.Log{}).Error) return errs.Wrap(l.db.WithContext(ctx).Where("log_id in ?", logIDs).Delete(&relationtb.Log{}).Error)
} }
return errs.Wrap(l.db.WithContext(ctx).Where("log_id in ? and user_id=?", logIDs, userID).Delete(&relationtb.Log{}).Error) return errs.Wrap(l.db.WithContext(ctx).Where("log_id in ? and user_id=?", logIDs, userID).Delete(&relationtb.Log{}).Error)
} }
@ -40,10 +42,15 @@ func (l *LogGorm) Get(ctx context.Context, logIDs []string, userID string) ([]*r
if userID == "" { if userID == "" {
return logs, errs.Wrap(l.db.WithContext(ctx).Where("log_id in ?", logIDs).Find(&logs).Error) return logs, errs.Wrap(l.db.WithContext(ctx).Where("log_id in ?", logIDs).Find(&logs).Error)
} }
return logs, errs.Wrap(l.db.WithContext(ctx).Where("log_id in ? and user_id=?", logIDs, userID).Find(&logs).Error) return logs, errs.Wrap(l.db.WithContext(ctx).Where("log_id in ? and user_id=?", logIDs, userID).Find(&logs).Error)
} }
func NewLogGorm(db *gorm.DB) relationtb.LogInterface { func NewLogGorm(db *gorm.DB) relationtb.LogInterface {
db.AutoMigrate(&relationtb.Log{}) err := db.AutoMigrate(&relationtb.Log{})
if err != nil {
panic(err)
}
return &LogGorm{db: db} return &LogGorm{db: db}
} }

@ -34,5 +34,6 @@ func NewMetaDB(db *gorm.DB, table any) *MetaDB {
func (g *MetaDB) db(ctx context.Context) *gorm.DB { func (g *MetaDB) db(ctx context.Context) *gorm.DB {
db := g.DB.WithContext(ctx).Model(g.table) db := g.DB.WithContext(ctx).Model(g.table)
return db return db
} }

@ -15,6 +15,7 @@
package relation package relation
import ( import (
"errors"
"fmt" "fmt"
"time" "time"
@ -82,6 +83,7 @@ func newMysqlGormDB() (*gorm.DB, error) {
sqlDB.SetConnMaxLifetime(time.Second * time.Duration(config.Config.Mysql.MaxLifeTime)) sqlDB.SetConnMaxLifetime(time.Second * time.Duration(config.Config.Mysql.MaxLifeTime))
sqlDB.SetMaxOpenConns(config.Config.Mysql.MaxOpenConn) sqlDB.SetMaxOpenConns(config.Config.Mysql.MaxOpenConn)
sqlDB.SetMaxIdleConns(config.Config.Mysql.MaxIdleConn) sqlDB.SetMaxIdleConns(config.Config.Mysql.MaxIdleConn)
return db, nil return db, nil
} }
@ -94,11 +96,13 @@ func connectToDatabase(dsn string, maxRetry int) (*gorm.DB, error) {
if err == nil { if err == nil {
return db, nil return db, nil
} }
if mysqlErr, ok := err.(*mysqldriver.MySQLError); ok && mysqlErr.Number == 1045 { var mysqlErr *mysqldriver.MySQLError
if errors.As(err, &mysqlErr) && mysqlErr.Number == 1045 {
return nil, err return nil, err
} }
time.Sleep(time.Duration(1) * time.Second) time.Sleep(time.Duration(1) * time.Second)
} }
return nil, err return nil, err
} }
@ -106,6 +110,7 @@ func connectToDatabase(dsn string, maxRetry int) (*gorm.DB, error) {
func NewGormDB() (*gorm.DB, error) { func NewGormDB() (*gorm.DB, error) {
specialerror.AddReplace(gorm.ErrRecordNotFound, errs.ErrRecordNotFound) specialerror.AddReplace(gorm.ErrRecordNotFound, errs.ErrRecordNotFound)
specialerror.AddErrHandler(replaceDuplicateKey) specialerror.AddErrHandler(replaceDuplicateKey)
return newMysqlGormDB() return newMysqlGormDB()
} }
@ -113,12 +118,15 @@ func replaceDuplicateKey(err error) errs.CodeError {
if IsMysqlDuplicateKey(err) { if IsMysqlDuplicateKey(err) {
return errs.ErrDuplicateKey return errs.ErrDuplicateKey
} }
return nil return nil
} }
func IsMysqlDuplicateKey(err error) bool { func IsMysqlDuplicateKey(err error) bool {
if mysqlErr, ok := err.(*mysqldriver.MySQLError); ok { var mysqlErr *mysqldriver.MySQLError
if errors.As(err, &mysqlErr) {
return mysqlErr.Number == 1062 return mysqlErr.Number == 1062
} }
return false return false
} }

@ -44,10 +44,12 @@ func (o *ObjectInfoGorm) SetObject(ctx context.Context, obj *relation.ObjectMode
if err := o.DB.WithContext(ctx).Where("name = ?", obj.Name).FirstOrCreate(obj).Error; err != nil { if err := o.DB.WithContext(ctx).Where("name = ?", obj.Name).FirstOrCreate(obj).Error; err != nil {
return errs.Wrap(err) return errs.Wrap(err)
} }
return nil return nil
} }
func (o *ObjectInfoGorm) Take(ctx context.Context, name string) (info *relation.ObjectModel, err error) { func (o *ObjectInfoGorm) Take(ctx context.Context, name string) (info *relation.ObjectModel, err error) {
info = &relation.ObjectModel{} info = &relation.ObjectModel{}
return info, errs.Wrap(o.DB.WithContext(ctx).Where("name = ?", name).Take(info).Error) return info, errs.Wrap(o.DB.WithContext(ctx).Where("name = ?", name).Take(info).Error)
} }

@ -53,6 +53,7 @@ func (u *UserGorm) Update(ctx context.Context, user *relation.UserModel) (err er
// 获取指定用户信息 不存在,也不返回错误. // 获取指定用户信息 不存在,也不返回错误.
func (u *UserGorm) Find(ctx context.Context, userIDs []string) (users []*relation.UserModel, err error) { func (u *UserGorm) Find(ctx context.Context, userIDs []string) (users []*relation.UserModel, err error) {
err = utils.Wrap(u.db(ctx).Where("user_id in (?)", userIDs).Find(&users).Error, "") err = utils.Wrap(u.db(ctx).Where("user_id in (?)", userIDs).Find(&users).Error, "")
return users, err return users, err
} }
@ -60,6 +61,7 @@ func (u *UserGorm) Find(ctx context.Context, userIDs []string) (users []*relatio
func (u *UserGorm) Take(ctx context.Context, userID string) (user *relation.UserModel, err error) { func (u *UserGorm) Take(ctx context.Context, userID string) (user *relation.UserModel, err error) {
user = &relation.UserModel{} user = &relation.UserModel{}
err = utils.Wrap(u.db(ctx).Where("user_id = ?", userID).Take(&user).Error, "") err = utils.Wrap(u.db(ctx).Where("user_id = ?", userID).Take(&user).Error, "")
return user, err return user, err
} }
@ -81,6 +83,7 @@ func (u *UserGorm) Page(
Error, Error,
"", "",
) )
return return
} }
@ -88,13 +91,14 @@ func (u *UserGorm) Page(
func (u *UserGorm) GetAllUserID(ctx context.Context, pageNumber, showNumber int32) (userIDs []string, err error) { func (u *UserGorm) GetAllUserID(ctx context.Context, pageNumber, showNumber int32) (userIDs []string, err error) {
if pageNumber == 0 || showNumber == 0 { if pageNumber == 0 || showNumber == 0 {
return userIDs, errs.Wrap(u.db(ctx).Pluck("user_id", &userIDs).Error) return userIDs, errs.Wrap(u.db(ctx).Pluck("user_id", &userIDs).Error)
} else {
return userIDs, errs.Wrap(u.db(ctx).Limit(int(showNumber)).Offset(int((pageNumber-1)*showNumber)).Pluck("user_id", &userIDs).Error)
} }
return userIDs, errs.Wrap(u.db(ctx).Limit(int(showNumber)).Offset(int((pageNumber-1)*showNumber)).Pluck("user_id", &userIDs).Error)
} }
func (u *UserGorm) GetUserGlobalRecvMsgOpt(ctx context.Context, userID string) (opt int, err error) { func (u *UserGorm) GetUserGlobalRecvMsgOpt(ctx context.Context, userID string) (opt int, err error) {
err = u.db(ctx).Model(&relation.UserModel{}).Where("user_id = ?", userID).Pluck("global_recv_msg_opt", &opt).Error err = u.db(ctx).Model(&relation.UserModel{}).Where("user_id = ?", userID).Pluck("global_recv_msg_opt", &opt).Error
return opt, err return opt, err
} }
@ -106,6 +110,7 @@ func (u *UserGorm) CountTotal(ctx context.Context, before *time.Time) (count int
if err := db.Count(&count).Error; err != nil { if err := db.Count(&count).Error; err != nil {
return 0, err return 0, err
} }
return count, nil return count, nil
} }
@ -132,5 +137,6 @@ func (u *UserGorm) CountRangeEverydayTotal(
for _, r := range res { for _, r := range res {
v[r.Date.Format("2006-01-02")] = r.Count v[r.Date.Format("2006-01-02")] = r.Count
} }
return v, nil return v, nil
} }

Loading…
Cancel
Save