From 24b4a35cbd2d7fa05636ec5bb5bc8618e120d2b4 Mon Sep 17 00:00:00 2001 From: "LinskRuis.32" Date: Fri, 10 Jan 2020 12:01:48 +0800 Subject: [PATCH] mongo --- models/mgoParam.go | 19 ++++++++++ service/dao.go | 8 +++++ service/mgoService/param.go | 70 +++++++++++++++++++++++++++++++++++++ 3 files changed, 97 insertions(+) create mode 100644 models/mgoParam.go create mode 100644 service/dao.go create mode 100644 service/mgoService/param.go diff --git a/models/mgoParam.go b/models/mgoParam.go new file mode 100644 index 0000000..1d93795 --- /dev/null +++ b/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) +} diff --git a/service/dao.go b/service/dao.go new file mode 100644 index 0000000..b0fc21d --- /dev/null +++ b/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") diff --git a/service/mgoService/param.go b/service/mgoService/param.go new file mode 100644 index 0000000..1cd63da --- /dev/null +++ b/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 +}