|
|
@ -0,0 +1,70 @@ |
|
|
|
package mgoService |
|
|
|
|
|
|
|
import ( |
|
|
|
"GoClouds/models" |
|
|
|
"GoClouds/service" |
|
|
|
"gopkg.in/mgo.v2/bson" |
|
|
|
"time" |
|
|
|
) |
|
|
|
|
|
|
|
func FindParam(id string) *models.MgoParam { |
|
|
|
if len(id) <= 0 { |
|
|
|
return nil |
|
|
|
} |
|
|
|
ses := service.MgoParamDao.NewSession() |
|
|
|
defer ses.Close() |
|
|
|
|
|
|
|
e := new(models.MgoParam) |
|
|
|
err := ses.C().FindId(bson.ObjectIdHex(id)).One(e) |
|
|
|
if err != nil { |
|
|
|
return nil |
|
|
|
} |
|
|
|
return e |
|
|
|
} |
|
|
|
func GetParam(key string) *models.MgoParam { |
|
|
|
if len(key) <= 0 { |
|
|
|
return nil |
|
|
|
} |
|
|
|
ses := service.MgoParamDao.NewSession() |
|
|
|
defer ses.Close() |
|
|
|
|
|
|
|
e := new(models.MgoParam) |
|
|
|
err := ses.C().Find(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 = bson.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.NewSession() |
|
|
|
defer ses.Close() |
|
|
|
if isup { |
|
|
|
err = ses.C().UpdateId(e.Id, e) |
|
|
|
} else { |
|
|
|
err = ses.C().Insert(e) |
|
|
|
} |
|
|
|
if err != nil { |
|
|
|
println("err:" + err.Error()) |
|
|
|
return false |
|
|
|
} |
|
|
|
return true |
|
|
|
} |