package friend import ( "go_dreamfactory/lego/core" "go_dreamfactory/lego/sys/log" "go_dreamfactory/modules" "go_dreamfactory/pb" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo/options" ) const ( DB_FriendTable core.SqlTable = "friend" DB_UserTable core.SqlTable = "user" //用户表 ) type ModelFriend struct { modules.Model_Comp } func (this *ModelFriend) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { err = this.Model_Comp.Init(service, module, comp, options) this.TableName = "friend" return } //好友 func (this *ModelFriend) Friend_SaveOrUpdate(data *pb.DB_FriendData) (err error) { err = this.DB.FindOneAndUpdate(DB_FriendTable, bson.M{"_id": data.UserId}, bson.M{"$set": bson.M{ "friendids": data.FriendIds, "applyids": data.ApplyIds}}, options.FindOneAndUpdate().SetUpsert(true)).Err() if err != nil { if err == mongo.ErrNoDocuments { _, err = this.DB.InsertOne(DB_FriendTable, data) } } return } func (this *ModelFriend) Frined_FindCond(nickName string) *pb.DB_UserData { var user *pb.DB_UserData err := this.DB.FindOne(DB_UserTable, bson.M{ "name": nickName, }).Decode(&user) if err != nil { log.Errorf("findCond err:%v", err) return nil } return user }