You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

65 lines
1.1 KiB

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.GetSession()
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.GetSession()
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.GetSession()
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
}