Browse Source

mongo

master
LinskRuis.32 5 years ago
parent
commit
24b4a35cbd
  1. 19
      models/mgoParam.go
  2. 8
      service/dao.go
  3. 70
      service/mgoService/param.go

19
models/mgoParam.go

@ -0,0 +1,19 @@
package models
import (
ruisUtil "github.com/mgr9525/go-ruisutil"
"gopkg.in/mgo.v2/bson"
"time"
)
type MgoParam struct {
Id bson.ObjectId `bson:"_id"`
Key string
Title string
Value *map[string]interface{}
Times time.Time
}
func (c *MgoParam) Map() *ruisUtil.Map {
return ruisUtil.NewMapo(c.Value)
}

8
service/dao.go

@ -0,0 +1,8 @@
package service
import (
"GoClouds/core/comm"
gocloud "github.com/mgr9525/go-cloud"
)
var MgoParamDao = gocloud.NewDaoMgo(&comm.DbMongo, "Data", "param")

70
service/mgoService/param.go

@ -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
}
Loading…
Cancel
Save