mirror of
https://github.com/openimsdk/open-im-server.git
synced 2026-05-10 20:15:59 +08:00
model
This commit is contained in:
@@ -26,6 +26,8 @@ func NewGroupModel(db *mysql.Group, rdb redis.UniversalClient, mdb *mongo.Client
|
||||
DisableCacheRead: false,
|
||||
StrongConsistency: true,
|
||||
})
|
||||
sg := mdb.Database().Collection()
|
||||
sg.Find()
|
||||
groupModel.mongo = mongoDB.NewMongoClient(mdb)
|
||||
return &groupModel
|
||||
}
|
||||
@@ -54,3 +56,20 @@ func (g *GroupModel) Delete(ctx context.Context, groupIDs []string) error {
|
||||
func (g *GroupModel) Take(ctx context.Context, groupID string) (group *mysql.Group, err error) {
|
||||
return g.cache.GetGroupInfoFromCache(ctx, groupID)
|
||||
}
|
||||
|
||||
func (g *GroupModel) Update(ctx context.Context, groups []*mysql.Group) error {
|
||||
err := g.db.DB.Transaction(func(tx *gorm.DB) error {
|
||||
if err := g.db.Update(ctx, groups, tx); err != nil {
|
||||
return err
|
||||
}
|
||||
var groupIDs []string
|
||||
for _, group := range groups {
|
||||
groupIDs = append(groupIDs, group.GroupID)
|
||||
}
|
||||
if err := g.cache.DelGroupsInfoFromCache(ctx, groupIDs); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
})
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user