go_dreamfactory/modules/db_comp.go

89 lines
2.0 KiB
Go

package modules
import (
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/core/cbase"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/lego/sys/mgo"
"go_dreamfactory/sys/db"
"go.mongodb.org/mongo-driver/bson/primitive"
)
/*
基础组件 存储组件 读写缓存数据
*/
type MComp_DBComp struct {
cbase.ModuleCompBase
DB mgo.ISys
}
const ()
//组件初始化接口
func (this *MComp_DBComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
this.ModuleCompBase.Init(service, module, comp, options)
this.DB = db.Mgo()
return
}
func (this *MComp_DBComp) Start() (err error) {
err = this.ModuleCompBase.Start()
return
}
func (this *MComp_DBComp) InsertModelLogs(table string, uID string, target interface{}) (err error) {
data := &comm.Autogenerated{
ID: primitive.NewObjectID().Hex(),
UID: uID,
Act: string(comm.LogHandleType_Insert),
}
data.D = append(data.D, table) // D[0]
data.D = append(data.D, target) // D[1]
_, err = this.DB.InsertOne("model", data)
if err != nil {
log.Errorf("insert model db err %v", err)
}
return err
}
func (this *MComp_DBComp) DeleteModelLogs(table string, uID string, where interface{}) (err error) {
data := &comm.Autogenerated{
ID: primitive.NewObjectID().Hex(),
UID: uID,
Act: string(comm.LogHandleType_Delete),
}
data.D = append(data.D, table) // D[0]
data.D = append(data.D, where) // D[1]
_, err = this.DB.InsertOne("model", data)
if err != nil {
log.Errorf("insert model db err %v", err)
}
return err
}
func (this *MComp_DBComp) UpdateModelLogs(table string, uID string, where interface{}, target interface{}) (err error) {
data := &comm.Autogenerated{
ID: primitive.NewObjectID().Hex(),
UID: uID,
Act: string(comm.LogHandleType_Update),
}
data.D = append(data.D, table) // D[0]
data.D = append(data.D, where) // D[1]
data.D = append(data.D, target) // D[2]
_, err = this.DB.InsertOne("model", data)
if err != nil {
log.Errorf("insert model db err %v", err)
}
return err
}