From d373a401de0e9443d9ad0d40ee6bbf9d35dee240 Mon Sep 17 00:00:00 2001 From: zhaocy Date: Tue, 14 Jun 2022 15:32:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9A=82=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/dbmodel.go | 23 ++++++++++++++++++++--- modules/user/dbmodel_test.go | 6 +++++- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/modules/dbmodel.go b/modules/dbmodel.go index a5390d548..73d4a70ea 100644 --- a/modules/dbmodel.go +++ b/modules/dbmodel.go @@ -6,9 +6,18 @@ import ( "go_dreamfactory/lego/sys/redis" "go_dreamfactory/sys/cache" + "go.mongodb.org/mongo-driver/bson" "google.golang.org/protobuf/proto" ) +type Action string + +const ( + INSERT Action = "insert" + UPDATE Action = "update" + DELETE Action = "delete" +) + type DBModel struct { *MComp_DBComp pbData proto.Message @@ -37,13 +46,21 @@ func (m *DBModel) SetTableName(tableName string) { m.tableName = tableName } -func (m *DBModel) OnChange() { - +func (m *DBModel) OnChange(key string) { + m.MComp_DBComp.InsertModelLogs(m.tableName, key, m.pbData) } -func (m *DBModel) Set(key string, val interface{}) { +func (m *DBModel) Set(key string, act Action) { //调用写入mongo日志接口 + switch act { + case INSERT: + m.MComp_DBComp.InsertModelLogs(m.tableName, key, m.pbData) + case UPDATE: + m.MComp_DBComp.UpdateModelLogs(m.tableName, key, bson.M{"_id": key}, m.pbData) + case DELETE: + m.MComp_DBComp.DeleteModelLogs(m.tableName, key, bson.M{"_id": key}) + } } //获取数据 diff --git a/modules/user/dbmodel_test.go b/modules/user/dbmodel_test.go index dac4e266b..d8b8af2bb 100644 --- a/modules/user/dbmodel_test.go +++ b/modules/user/dbmodel_test.go @@ -2,6 +2,8 @@ package user import ( "fmt" + "go_dreamfactory/modules" + "go_dreamfactory/pb" "go_dreamfactory/sys/cache" "go_dreamfactory/sys/db" "os" @@ -23,7 +25,9 @@ func TestMain(m *testing.M) { } func TestGet(t *testing.T) { - // userModel := NewUserModel() + userModel := NewUserModel() + userModel.SetData(&pb.DB_UserData{Name: "aaaaa"}) + userModel.Set("1_62a729fc0e01ab2819553242", modules.INSERT) // userModel.Set("1_62a729fc0e01ab2819553242",) // fmt.Printf("%v", userModel.GetData().(*pb.Cache_UserData)) }