From 924da6fdd87e50b1dc61c5f6f7124f304ae290b6 Mon Sep 17 00:00:00 2001 From: zhaocy Date: Tue, 14 Jun 2022 15:09:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9A=82=E5=AD=98pull=20dev?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/dbmodel.go | 42 +++++++++++++++++++++++++----- modules/model_comp.go | 1 + modules/{ => user}/dbmodel_test.go | 18 +++++++------ modules/user/model_user.go | 8 ------ modules/user/user_model.go | 19 ++++++++++++++ sys/cache/cache.go | 6 ----- 6 files changed, 65 insertions(+), 29 deletions(-) rename modules/{ => user}/dbmodel_test.go (68%) delete mode 100644 modules/user/model_user.go create mode 100644 modules/user/user_model.go diff --git a/modules/dbmodel.go b/modules/dbmodel.go index 30e6c0b9a..a5390d548 100644 --- a/modules/dbmodel.go +++ b/modules/dbmodel.go @@ -2,33 +2,61 @@ package modules import ( "fmt" + "go_dreamfactory/lego/sys/log" + "go_dreamfactory/lego/sys/redis" "go_dreamfactory/sys/cache" "google.golang.org/protobuf/proto" ) type DBModel struct { - model proto.Message + *MComp_DBComp + pbData proto.Message + prefix string //rediskey前缀 + tableName string } -func (m *DBModel) Model(model proto.Message) *DBModel { - m.model = model +func NewDBModel(c *MComp_DBComp) *DBModel { + return &DBModel{MComp_DBComp: c} +} + +func (m *DBModel) SetData(model proto.Message) *DBModel { + m.pbData = model return m } +func (m *DBModel) GetData() proto.Message { + return m.pbData +} + +func (m *DBModel) SetPrefix(prefix string) { + m.prefix = prefix +} + +func (m *DBModel) SetTableName(tableName string) { + m.tableName = tableName +} + func (m *DBModel) OnChange() { } -func (m *DBModel) Set() { +func (m *DBModel) Set(key string, val interface{}) { + //调用写入mongo日志接口 } //获取数据 -func (m *DBModel) Get(key string) { - err := cache.GetRds().Get(key, m.model) +func (m *DBModel) Get(uid string) { + if m.prefix == "" { + log.Errorf("get data err,because prefix not setting") + return + } + err := cache.Redis().Get(fmt.Sprintf("%s:%s", m.prefix, uid), m.pbData) if err != nil { - fmt.Printf("err:%v", err) + if err.Error() != redis.RedisNil.Error() { + log.Errorf("err:%v", err) + } return } } diff --git a/modules/model_comp.go b/modules/model_comp.go index 028b137cb..87a941e21 100644 --- a/modules/model_comp.go +++ b/modules/model_comp.go @@ -32,6 +32,7 @@ func (this *Model_Comp) Init(service core.IService, module core.IModule, comp co this.ModuleCompBase.Init(service, module, comp, options) this.Redis = cache.Redis() this.DB = db.Mgo() + NewDBModel(this) return } func (this *Model_Comp) Start() (err error) { diff --git a/modules/dbmodel_test.go b/modules/user/dbmodel_test.go similarity index 68% rename from modules/dbmodel_test.go rename to modules/user/dbmodel_test.go index c9c6591c6..dac4e266b 100644 --- a/modules/dbmodel_test.go +++ b/modules/user/dbmodel_test.go @@ -1,8 +1,7 @@ -package modules +package user import ( "fmt" - "go_dreamfactory/pb" "go_dreamfactory/sys/cache" "go_dreamfactory/sys/db" "os" @@ -23,10 +22,13 @@ func TestMain(m *testing.M) { } -func TestInitData(t *testing.T) { - dbmodel := new(DBModel) - model := &pb.Cache_UserData{} - dbmodel.Model(model) - dbmodel.Get("user:62a2bd064098aa8ff982f2e2") - fmt.Printf("%v", model.SessionId) +func TestGet(t *testing.T) { + // userModel := NewUserModel() + // userModel.Set("1_62a729fc0e01ab2819553242",) + // fmt.Printf("%v", userModel.GetData().(*pb.Cache_UserData)) +} + +func TestSet(t *testing.T) { + // um := NewUserModel("1_62a729fc0e01ab2819553242") + } diff --git a/modules/user/model_user.go b/modules/user/model_user.go deleted file mode 100644 index 58c565e64..000000000 --- a/modules/user/model_user.go +++ /dev/null @@ -1,8 +0,0 @@ -package user - -import "go_dreamfactory/pb" - -type UserModel struct { - pb.DB_UserData -} - diff --git a/modules/user/user_model.go b/modules/user/user_model.go new file mode 100644 index 000000000..c3be6d7ca --- /dev/null +++ b/modules/user/user_model.go @@ -0,0 +1,19 @@ +package user + +import ( + "go_dreamfactory/modules" + "go_dreamfactory/pb" +) + +type UserModel struct { + modules.DBModel +} + +func NewUserModel() *UserModel { + model := new(UserModel) + model.SetPrefix("user") //每个Model有自己的唯一key + model.SetTableName("user") + model.SetData(&pb.Cache_UserData{}) //设置具体数据类型 + // model.Get(uid) //获取model数据 + return model +} diff --git a/sys/cache/cache.go b/sys/cache/cache.go index 4d14fe40b..924bbaa54 100644 --- a/sys/cache/cache.go +++ b/sys/cache/cache.go @@ -17,15 +17,12 @@ type Cache struct { redis redis.ISys } -var rdsIns redis.ISys - //初始化 redis 对象 func (this *Cache) init() (err error) { this.redis, err = redis.NewSys( redis.SetRedisType(redis.Redis_Cluster), redis.SetRedis_Cluster_Addr(this.options.Redis_Addr), redis.SetRedis_Cluster_Password(this.options.Redis_Password)) - rdsIns = this.redis return } @@ -33,6 +30,3 @@ func (this *Cache) init() (err error) { func (this *Cache) Redis() redis.ISys { return this.redis } -func GetRds() redis.ISys { - return rdsIns -}