Merge branch 'meixiongfeng' of http://git.legu.cc/liwei_3d/go_dreamfactory into dev

This commit is contained in:
meixiongfeng 2022-07-26 13:58:13 +08:00
commit 35b47d8491
4 changed files with 92 additions and 54 deletions

View File

@ -488,6 +488,19 @@ func (this *MCompModel) DelListlds(uid string, ids ...string) (err error) {
return return
} }
// 清除玩家英雄缓存信息
func (this *MCompModel) ClearnHeroCache(uid string, ids ...string) (err error) {
listkey := this.ukey(uid)
for _, v := range ids {
key := this.ukeylist(uid, v)
if err = this.Redis.Delete(key); err != nil {
return
}
}
err = this.Redis.HDel(listkey, ids...)
return
}
//获取用户通过扩展表 //获取用户通过扩展表
func (this *MCompModel) GetUserExpand(uid string) (result *pb.DBUserExpand, err error) { func (this *MCompModel) GetUserExpand(uid string) (result *pb.DBUserExpand, err error) {
result = &pb.DBUserExpand{} result = &pb.DBUserExpand{}

View File

@ -511,3 +511,15 @@ func (this *ModelHero) AddCardExp(uid string, hero *pb.DBHero, exp int32) (newhe
} }
return return
} }
// 玩家离线 清除缓存
func (this *ModelHero) RemoveUserHeroInfo(session comm.IUserSession) (err error) {
userList := this.moduleHero.GetHeroList(session.GetUserId())
for _, v := range userList {
if err := this.moduleHero.modelHero.ClearnHeroCache(session.GetUserId(), v.Id); err != nil {
this.moduleHero.Errorf("cleanData err:%v", err)
}
}
return
}

View File

@ -3,6 +3,7 @@ package hero
import ( import (
"go_dreamfactory/comm" "go_dreamfactory/comm"
"go_dreamfactory/lego/core" "go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/event"
"go_dreamfactory/modules" "go_dreamfactory/modules"
"go_dreamfactory/pb" "go_dreamfactory/pb"
) )
@ -36,6 +37,12 @@ func (this *Hero) OnInstallComp() {
this.api = this.RegisterComp(new(apiComp)).(*apiComp) this.api = this.RegisterComp(new(apiComp)).(*apiComp)
this.modelHero = this.RegisterComp(new(ModelHero)).(*ModelHero) this.modelHero = this.RegisterComp(new(ModelHero)).(*ModelHero)
this.configure = this.RegisterComp(new(configureComp)).(*configureComp) this.configure = this.RegisterComp(new(configureComp)).(*configureComp)
}
func (this *Hero) Start() (err error) {
err = this.ModuleBase.Start()
event.RegisterGO(comm.EventUserOffline, this.EventUserOffline)
return
} }
//创建新英雄 //创建新英雄
@ -119,3 +126,9 @@ func (this *Hero) DelCard(udi string, hero *pb.DBHero, amount int32) (code pb.Er
func (this *Hero) CleanData(uid string) { func (this *Hero) CleanData(uid string) {
this.modelHero.cleanData(uid) this.modelHero.cleanData(uid)
} }
//Event-------------------------------------------------------------------------------------------------玩家离线
func (this *Hero) EventUserOffline(session comm.IUserSession) {
err := this.modelHero.RemoveUserHeroInfo(session)
this.Debugf("EventUserOffline:%s err:%v", session, err)
}

View File

@ -2,7 +2,7 @@
// versions: // versions:
// protoc-gen-go v1.28.0 // protoc-gen-go v1.28.0
// protoc v3.20.0 // protoc v3.20.0
// source: userrecord.proto // source: hero/userrecord.proto
package pb package pb
@ -32,7 +32,7 @@ type Floor struct {
func (x *Floor) Reset() { func (x *Floor) Reset() {
*x = Floor{} *x = Floor{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_userrecord_proto_msgTypes[0] mi := &file_hero_userrecord_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -45,7 +45,7 @@ func (x *Floor) String() string {
func (*Floor) ProtoMessage() {} func (*Floor) ProtoMessage() {}
func (x *Floor) ProtoReflect() protoreflect.Message { func (x *Floor) ProtoReflect() protoreflect.Message {
mi := &file_userrecord_proto_msgTypes[0] mi := &file_hero_userrecord_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -58,7 +58,7 @@ func (x *Floor) ProtoReflect() protoreflect.Message {
// Deprecated: Use Floor.ProtoReflect.Descriptor instead. // Deprecated: Use Floor.ProtoReflect.Descriptor instead.
func (*Floor) Descriptor() ([]byte, []int) { func (*Floor) Descriptor() ([]byte, []int) {
return file_userrecord_proto_rawDescGZIP(), []int{0} return file_hero_userrecord_proto_rawDescGZIP(), []int{0}
} }
func (x *Floor) GetH4() int32 { func (x *Floor) GetH4() int32 {
@ -96,7 +96,7 @@ type DBUserRecord struct {
func (x *DBUserRecord) Reset() { func (x *DBUserRecord) Reset() {
*x = DBUserRecord{} *x = DBUserRecord{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_userrecord_proto_msgTypes[1] mi := &file_hero_userrecord_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -109,7 +109,7 @@ func (x *DBUserRecord) String() string {
func (*DBUserRecord) ProtoMessage() {} func (*DBUserRecord) ProtoMessage() {}
func (x *DBUserRecord) ProtoReflect() protoreflect.Message { func (x *DBUserRecord) ProtoReflect() protoreflect.Message {
mi := &file_userrecord_proto_msgTypes[1] mi := &file_hero_userrecord_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -122,7 +122,7 @@ func (x *DBUserRecord) ProtoReflect() protoreflect.Message {
// Deprecated: Use DBUserRecord.ProtoReflect.Descriptor instead. // Deprecated: Use DBUserRecord.ProtoReflect.Descriptor instead.
func (*DBUserRecord) Descriptor() ([]byte, []int) { func (*DBUserRecord) Descriptor() ([]byte, []int) {
return file_userrecord_proto_rawDescGZIP(), []int{1} return file_hero_userrecord_proto_rawDescGZIP(), []int{1}
} }
func (x *DBUserRecord) GetId() string { func (x *DBUserRecord) GetId() string {
@ -195,52 +195,52 @@ func (x *DBUserRecord) GetMtime() int64 {
return 0 return 0
} }
var File_userrecord_proto protoreflect.FileDescriptor var File_hero_userrecord_proto protoreflect.FileDescriptor
var file_userrecord_proto_rawDesc = []byte{ var file_hero_userrecord_proto_rawDesc = []byte{
0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x0a, 0x15, 0x68, 0x65, 0x72, 0x6f, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x72, 0x65, 0x63, 0x6f, 0x72,
0x74, 0x6f, 0x22, 0x27, 0x0a, 0x05, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x68, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x27, 0x0a, 0x05, 0x46, 0x6c, 0x6f, 0x6f, 0x72,
0x34, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x68, 0x34, 0x12, 0x0e, 0x0a, 0x02, 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x68, 0x34, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x68, 0x34,
0x35, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x68, 0x35, 0x22, 0x9c, 0x02, 0x0a, 0x0c, 0x12, 0x0e, 0x0a, 0x02, 0x68, 0x35, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x68, 0x35,
0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x22, 0x9c, 0x02, 0x0a, 0x0c, 0x44, 0x42, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69,
0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
0x0a, 0x05, 0x72, 0x61, 0x63, 0x65, 0x30, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x75, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x05, 0x72, 0x61, 0x63, 0x65, 0x30, 0x18, 0x03, 0x20, 0x01,
0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x52, 0x05, 0x72, 0x61, 0x63, 0x65, 0x30, 0x12, 0x1c, 0x0a, 0x05, 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x52, 0x05, 0x72, 0x61, 0x63, 0x65,
0x72, 0x61, 0x63, 0x65, 0x31, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x46, 0x6c, 0x30, 0x12, 0x1c, 0x0a, 0x05, 0x72, 0x61, 0x63, 0x65, 0x31, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
0x6f, 0x6f, 0x72, 0x52, 0x05, 0x72, 0x61, 0x63, 0x65, 0x31, 0x12, 0x1c, 0x0a, 0x05, 0x72, 0x61, 0x32, 0x06, 0x2e, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x52, 0x05, 0x72, 0x61, 0x63, 0x65, 0x31, 0x12,
0x63, 0x65, 0x32, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x46, 0x6c, 0x6f, 0x6f, 0x1c, 0x0a, 0x05, 0x72, 0x61, 0x63, 0x65, 0x32, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x06,
0x72, 0x52, 0x05, 0x72, 0x61, 0x63, 0x65, 0x32, 0x12, 0x1c, 0x0a, 0x05, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x52, 0x05, 0x72, 0x61, 0x63, 0x65, 0x32, 0x12, 0x1c, 0x0a,
0x33, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x52, 0x05, 0x72, 0x61, 0x63, 0x65, 0x33, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x46,
0x05, 0x72, 0x61, 0x63, 0x65, 0x33, 0x12, 0x1c, 0x0a, 0x05, 0x72, 0x61, 0x63, 0x65, 0x34, 0x18, 0x6c, 0x6f, 0x6f, 0x72, 0x52, 0x05, 0x72, 0x61, 0x63, 0x65, 0x33, 0x12, 0x1c, 0x0a, 0x05, 0x72,
0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x46, 0x6c, 0x6f, 0x6f, 0x72, 0x52, 0x05, 0x72, 0x61, 0x63, 0x65, 0x34, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x06, 0x2e, 0x46, 0x6c, 0x6f,
0x61, 0x63, 0x65, 0x34, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x6e, 0x6f, 0x72, 0x52, 0x05, 0x72, 0x61, 0x63, 0x65, 0x34, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x72, 0x69,
0x75, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x67, 0x67, 0x65, 0x72, 0x6e, 0x75, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74,
0x72, 0x6e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x6e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x63, 0x74,
0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x69, 0x76, 0x69, 0x74, 0x79, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x61,
0x74, 0x79, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x74, 0x69,
0x01, 0x28, 0x03, 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6d, 0x74, 0x69, 0x6d, 0x65, 0x42,
0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
} }
var ( var (
file_userrecord_proto_rawDescOnce sync.Once file_hero_userrecord_proto_rawDescOnce sync.Once
file_userrecord_proto_rawDescData = file_userrecord_proto_rawDesc file_hero_userrecord_proto_rawDescData = file_hero_userrecord_proto_rawDesc
) )
func file_userrecord_proto_rawDescGZIP() []byte { func file_hero_userrecord_proto_rawDescGZIP() []byte {
file_userrecord_proto_rawDescOnce.Do(func() { file_hero_userrecord_proto_rawDescOnce.Do(func() {
file_userrecord_proto_rawDescData = protoimpl.X.CompressGZIP(file_userrecord_proto_rawDescData) file_hero_userrecord_proto_rawDescData = protoimpl.X.CompressGZIP(file_hero_userrecord_proto_rawDescData)
}) })
return file_userrecord_proto_rawDescData return file_hero_userrecord_proto_rawDescData
} }
var file_userrecord_proto_msgTypes = make([]protoimpl.MessageInfo, 2) var file_hero_userrecord_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_userrecord_proto_goTypes = []interface{}{ var file_hero_userrecord_proto_goTypes = []interface{}{
(*Floor)(nil), // 0: Floor (*Floor)(nil), // 0: Floor
(*DBUserRecord)(nil), // 1: DBUserRecord (*DBUserRecord)(nil), // 1: DBUserRecord
} }
var file_userrecord_proto_depIdxs = []int32{ var file_hero_userrecord_proto_depIdxs = []int32{
0, // 0: DBUserRecord.race0:type_name -> Floor 0, // 0: DBUserRecord.race0:type_name -> Floor
0, // 1: DBUserRecord.race1:type_name -> Floor 0, // 1: DBUserRecord.race1:type_name -> Floor
0, // 2: DBUserRecord.race2:type_name -> Floor 0, // 2: DBUserRecord.race2:type_name -> Floor
@ -253,13 +253,13 @@ var file_userrecord_proto_depIdxs = []int32{
0, // [0:5] is the sub-list for field type_name 0, // [0:5] is the sub-list for field type_name
} }
func init() { file_userrecord_proto_init() } func init() { file_hero_userrecord_proto_init() }
func file_userrecord_proto_init() { func file_hero_userrecord_proto_init() {
if File_userrecord_proto != nil { if File_hero_userrecord_proto != nil {
return return
} }
if !protoimpl.UnsafeEnabled { if !protoimpl.UnsafeEnabled {
file_userrecord_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { file_hero_userrecord_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Floor); i { switch v := v.(*Floor); i {
case 0: case 0:
return &v.state return &v.state
@ -271,7 +271,7 @@ func file_userrecord_proto_init() {
return nil return nil
} }
} }
file_userrecord_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { file_hero_userrecord_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*DBUserRecord); i { switch v := v.(*DBUserRecord); i {
case 0: case 0:
return &v.state return &v.state
@ -288,18 +288,18 @@ func file_userrecord_proto_init() {
out := protoimpl.TypeBuilder{ out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{ File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(), GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_userrecord_proto_rawDesc, RawDescriptor: file_hero_userrecord_proto_rawDesc,
NumEnums: 0, NumEnums: 0,
NumMessages: 2, NumMessages: 2,
NumExtensions: 0, NumExtensions: 0,
NumServices: 0, NumServices: 0,
}, },
GoTypes: file_userrecord_proto_goTypes, GoTypes: file_hero_userrecord_proto_goTypes,
DependencyIndexes: file_userrecord_proto_depIdxs, DependencyIndexes: file_hero_userrecord_proto_depIdxs,
MessageInfos: file_userrecord_proto_msgTypes, MessageInfos: file_hero_userrecord_proto_msgTypes,
}.Build() }.Build()
File_userrecord_proto = out.File File_hero_userrecord_proto = out.File
file_userrecord_proto_rawDesc = nil file_hero_userrecord_proto_rawDesc = nil
file_userrecord_proto_goTypes = nil file_hero_userrecord_proto_goTypes = nil
file_userrecord_proto_depIdxs = nil file_hero_userrecord_proto_depIdxs = nil
} }