63 lines
1.1 KiB
Go
63 lines
1.1 KiB
Go
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 {
|
|
*MComp_DBComp
|
|
pbData proto.Message
|
|
prefix string //rediskey前缀
|
|
tableName string
|
|
}
|
|
|
|
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(key string, val interface{}) {
|
|
|
|
//调用写入mongo日志接口
|
|
}
|
|
|
|
//获取数据
|
|
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 {
|
|
if err.Error() != redis.RedisNil.Error() {
|
|
log.Errorf("err:%v", err)
|
|
}
|
|
return
|
|
}
|
|
}
|