package mgoService import ( "GoClouds/models" "GoClouds/service" "context" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/bson/primitive" "time" ) func FindParam(id string) *models.MgoParam { if len(id) <= 0 { return nil } ses := service.MgoParamDao.GetSession() e := new(models.MgoParam) ids, _ := primitive.ObjectIDFromHex(id) err := ses.C().Find(context.Background(), bson.M{"_id": ids}).One(e) if err != nil { return nil } return e } func GetParam(key string) *models.MgoParam { if len(key) <= 0 { return nil } ses := service.MgoParamDao.GetSession() e := new(models.MgoParam) err := ses.C().Find(context.Background(), bson.M{"key": key}).One(e) if err != nil { return nil } return e } func SetParam(key string, val map[string]interface{}, tits ...string) bool { if len(key) <= 0 { return false } isup := true e := GetParam(key) if e == nil { isup = false e = new(models.MgoParam) e.Id = primitive.NewObjectID() e.Key = key e.Times = time.Now() } e.Value = val if len(tits) > 0 { e.Title = tits[0] } var err error ses := service.MgoParamDao.GetSession() if isup { err = ses.UpdateId(nil, e.Id, bson.M{"value": e.Value, "title": e.Title}) } else { _, err = ses.C().InsertOne(nil, e) } if err != nil { println("err:" + err.Error()) return false } return true }