53 lines
1.8 KiB
Go
53 lines
1.8 KiB
Go
package tools
|
|
|
|
import (
|
|
"go_dreamfactory/comm"
|
|
"go_dreamfactory/lego/core"
|
|
"go_dreamfactory/lego/sys/log"
|
|
"go_dreamfactory/lego/sys/mgo"
|
|
"go_dreamfactory/modules"
|
|
|
|
"go.mongodb.org/mongo-driver/bson"
|
|
"go.mongodb.org/mongo-driver/mongo/options"
|
|
)
|
|
|
|
type modelGlobal struct {
|
|
modules.MCompModel
|
|
module *Tools
|
|
}
|
|
|
|
func (this *modelGlobal) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
|
err = this.MCompModel.Init(service, module, comp, options)
|
|
this.TableName = comm.TableGlobal
|
|
this.module = module.(*Tools)
|
|
return
|
|
}
|
|
|
|
// 查询全局配置
|
|
func (this *modelGlobal) GetGlobalData(key string, v interface{}) (err error) {
|
|
if err = this.DBModel.DB.FindOne(core.SqlTable(this.TableName), bson.M{"_id": key}).Decode(v); err != nil && err != mgo.MongodbNil {
|
|
this.module.Error("GetGlobalData err", log.Field{Key: "key", Value: key}, log.Field{Key: "err", Value: err.Error()})
|
|
return
|
|
}
|
|
err = nil
|
|
return
|
|
}
|
|
|
|
//查询更新列表
|
|
func (this *modelGlobal) GetAndUpdateGlobalData(key string, v interface{}, update interface{}) (err error) {
|
|
if err = this.DBModel.DB.FindOneAndUpdate(core.SqlTable(this.TableName), bson.M{"_id": key}, update).Decode(v); err != nil && err != mgo.MongodbNil {
|
|
this.module.Error("GetAndUpdateGlobalData err", log.Field{Key: "key", Value: key}, log.Field{Key: "err", Value: err.Error()})
|
|
return
|
|
}
|
|
err = nil
|
|
return
|
|
}
|
|
|
|
// 更新全局配置
|
|
func (this *modelGlobal) UpdateGlobalData(key string, v interface{}) (err error) {
|
|
if _, err = this.DBModel.DB.UpdateOne(core.SqlTable(this.TableName), bson.M{"_id": key}, bson.M{"$set": v}, options.Update().SetUpsert(true)); err != nil {
|
|
//this.module.Error("GetGlobalData err", log.Field{Key: "key", Value: key}, log.Field{Key: "err", Value: err.Error()})
|
|
}
|
|
return
|
|
}
|