上传工会战斗排名
This commit is contained in:
parent
e36daa965e
commit
b2cb400165
@ -300,9 +300,11 @@ const (
|
|||||||
TableGuildMember = "guildmember"
|
TableGuildMember = "guildmember"
|
||||||
|
|
||||||
///工会轮盘
|
///工会轮盘
|
||||||
TableUnionroulette = "unionroulette"
|
TableGuildroulette = "guildoulette"
|
||||||
///工会排行榜
|
///工会排行榜
|
||||||
TableUnionrank = "unionrank"
|
TableGuildGverank = "guildgverank"
|
||||||
|
///工会战斗排行排行榜
|
||||||
|
TableGuildGvebattlerank = "guildgvebattlerank"
|
||||||
//全局表
|
//全局表
|
||||||
TableGlobal = "global"
|
TableGlobal = "global"
|
||||||
|
|
||||||
|
@ -111,6 +111,7 @@ func (this *apiComp) ChallengeFinish(session comm.IUserSession, req *pb.GuildGve
|
|||||||
Harm: req.Report.Harm,
|
Harm: req.Report.Harm,
|
||||||
}
|
}
|
||||||
member.Record[req.Boosid] = record
|
member.Record[req.Boosid] = record
|
||||||
|
go this.module.modelbattlerank.updateRank(req.Boosid, req.Report.Harm, record.User.Uid)
|
||||||
for i, v := range req.Report.Info.Redflist[0].Team {
|
for i, v := range req.Report.Info.Redflist[0].Team {
|
||||||
if int32(i) == req.Report.Info.Redflist[0].Leadpos && v != nil {
|
if int32(i) == req.Report.Info.Redflist[0].Leadpos && v != nil {
|
||||||
record.CaptainHeroId = v.HeroID
|
record.CaptainHeroId = v.HeroID
|
||||||
|
@ -7,7 +7,7 @@ import (
|
|||||||
|
|
||||||
// 参数校验
|
// 参数校验
|
||||||
func (this *apiComp) FriendsRecordCheck(session comm.IUserSession, req *pb.GuildGveFriendsRecordReq) (errdata *pb.ErrorData) {
|
func (this *apiComp) FriendsRecordCheck(session comm.IUserSession, req *pb.GuildGveFriendsRecordReq) (errdata *pb.ErrorData) {
|
||||||
if len(req.Friends) == 0 || len(req.Friends) > 50 {
|
if req.QueryType == 1 && (len(req.Friends) == 0 || len(req.Friends) > 50) {
|
||||||
errdata = &pb.ErrorData{
|
errdata = &pb.ErrorData{
|
||||||
Code: pb.ErrorCode_ReqParameterError,
|
Code: pb.ErrorCode_ReqParameterError,
|
||||||
Title: pb.ErrorCode_ReqParameterError.ToString(),
|
Title: pb.ErrorCode_ReqParameterError.ToString(),
|
||||||
@ -21,6 +21,7 @@ func (this *apiComp) FriendsRecordCheck(session comm.IUserSession, req *pb.Guild
|
|||||||
func (this *apiComp) FriendsRecord(session comm.IUserSession, req *pb.GuildGveFriendsRecordReq) (errdata *pb.ErrorData) {
|
func (this *apiComp) FriendsRecord(session comm.IUserSession, req *pb.GuildGveFriendsRecordReq) (errdata *pb.ErrorData) {
|
||||||
var (
|
var (
|
||||||
member []*pb.DBGuildMember
|
member []*pb.DBGuildMember
|
||||||
|
uids []string
|
||||||
record []*pb.DBGveRecord
|
record []*pb.DBGveRecord
|
||||||
err error
|
err error
|
||||||
)
|
)
|
||||||
@ -28,7 +29,20 @@ func (this *apiComp) FriendsRecord(session comm.IUserSession, req *pb.GuildGveFr
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if member, err = this.module.modelGuildMember.inquireGuildMembers(req.Friends); err != nil {
|
if req.QueryType == 0 {
|
||||||
|
if uids, err = this.module.modelbattlerank.queryRankUser(req.Boosid); err != nil {
|
||||||
|
errdata = &pb.ErrorData{
|
||||||
|
Code: pb.ErrorCode_DBError,
|
||||||
|
Title: pb.ErrorCode_DBError.ToString(),
|
||||||
|
Message: err.Error(),
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
uids = req.Friends
|
||||||
|
}
|
||||||
|
|
||||||
|
if member, err = this.module.modelGuildMember.inquireGuildMembers(uids); err != nil {
|
||||||
errdata = &pb.ErrorData{
|
errdata = &pb.ErrorData{
|
||||||
Code: pb.ErrorCode_DBError,
|
Code: pb.ErrorCode_DBError,
|
||||||
Title: pb.ErrorCode_DBError.ToString(),
|
Title: pb.ErrorCode_DBError.ToString(),
|
||||||
|
@ -21,7 +21,7 @@ type ModelUnionroulette struct {
|
|||||||
|
|
||||||
func (this *ModelUnionroulette) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
func (this *ModelUnionroulette) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
||||||
err = this.MCompModel.Init(service, module, comp, options)
|
err = this.MCompModel.Init(service, module, comp, options)
|
||||||
this.TableName = comm.TableUnionroulette
|
this.TableName = comm.TableGuildroulette
|
||||||
this.module = module.(*GuildGve)
|
this.module = module.(*GuildGve)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
67
modules/guildgve/modelbattlerank.go
Normal file
67
modules/guildgve/modelbattlerank.go
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
package guildgve
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"go_dreamfactory/comm"
|
||||||
|
"go_dreamfactory/lego/core"
|
||||||
|
"go_dreamfactory/modules"
|
||||||
|
"go_dreamfactory/pb"
|
||||||
|
"sync"
|
||||||
|
|
||||||
|
"github.com/go-redis/redis/v8"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Modelbattlerank struct {
|
||||||
|
modules.MCompModel
|
||||||
|
module *GuildGve
|
||||||
|
conflock sync.RWMutex
|
||||||
|
bossconf *pb.DBGuildGveBossConf
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *Modelbattlerank) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
||||||
|
err = this.MCompModel.Init(service, module, comp, options)
|
||||||
|
this.TableName = comm.TableGuildGvebattlerank
|
||||||
|
this.module = module.(*GuildGve)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *Modelbattlerank) Start() (err error) {
|
||||||
|
err = this.MCompModel.Start()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *Modelbattlerank) key(boos int32) string {
|
||||||
|
return fmt.Sprintf("%s:%d", this.TableName, boos)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取排行榜前50的用户名单
|
||||||
|
func (this *Modelbattlerank) queryRankUser(boos int32) (ranks []string, err error) {
|
||||||
|
var (
|
||||||
|
key string
|
||||||
|
result []string
|
||||||
|
)
|
||||||
|
key = this.key(boos)
|
||||||
|
if result, err = this.DBModel.Redis.ZRevRange(key, 0, 50).Result(); err != nil {
|
||||||
|
this.module.Errorln(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
ranks = make([]string, 0)
|
||||||
|
for i := 0; i < len(result); i += 1 {
|
||||||
|
ranks = append(ranks, result[i])
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 更新排名
|
||||||
|
func (this *Modelbattlerank) updateRank(boos int32, score int32, member string) (err error) {
|
||||||
|
var (
|
||||||
|
key string
|
||||||
|
menbers *redis.Z
|
||||||
|
)
|
||||||
|
key = this.key(boos)
|
||||||
|
menbers = &redis.Z{Score: float64(score), Member: member}
|
||||||
|
if err = this.Redis.ZAdd(key, menbers); err != nil {
|
||||||
|
this.module.Errorln(err)
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
@ -25,7 +25,7 @@ type modelRank struct {
|
|||||||
|
|
||||||
func (this *modelRank) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
func (this *modelRank) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
|
||||||
err = this.MCompModel.Init(service, module, comp, options)
|
err = this.MCompModel.Init(service, module, comp, options)
|
||||||
this.TableName = comm.TableUnionrank
|
this.TableName = comm.TableGuildGverank
|
||||||
this.module = module.(*GuildGve)
|
this.module = module.(*GuildGve)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,7 @@ type GuildGve struct {
|
|||||||
modelGuildGve *ModelUniongve
|
modelGuildGve *ModelUniongve
|
||||||
modelUnionroulette *ModelUnionroulette
|
modelUnionroulette *ModelUnionroulette
|
||||||
modelGuildMember *ModelGuildMember
|
modelGuildMember *ModelGuildMember
|
||||||
|
modelbattlerank *Modelbattlerank
|
||||||
modelRank *modelRank
|
modelRank *modelRank
|
||||||
configure *MCompConfigure
|
configure *MCompConfigure
|
||||||
}
|
}
|
||||||
@ -64,6 +65,7 @@ func (this *GuildGve) OnInstallComp() {
|
|||||||
this.configure = this.RegisterComp(new(MCompConfigure)).(*MCompConfigure)
|
this.configure = this.RegisterComp(new(MCompConfigure)).(*MCompConfigure)
|
||||||
this.modelGuildGve = this.RegisterComp(new(ModelUniongve)).(*ModelUniongve)
|
this.modelGuildGve = this.RegisterComp(new(ModelUniongve)).(*ModelUniongve)
|
||||||
this.modelGuildMember = this.RegisterComp(new(ModelGuildMember)).(*ModelGuildMember)
|
this.modelGuildMember = this.RegisterComp(new(ModelGuildMember)).(*ModelGuildMember)
|
||||||
|
this.modelbattlerank = this.RegisterComp(new(Modelbattlerank)).(*Modelbattlerank)
|
||||||
this.modelUnionroulette = this.RegisterComp(new(ModelUnionroulette)).(*ModelUnionroulette)
|
this.modelUnionroulette = this.RegisterComp(new(ModelUnionroulette)).(*ModelUnionroulette)
|
||||||
this.modelRank = this.RegisterComp(new(modelRank)).(*modelRank)
|
this.modelRank = this.RegisterComp(new(modelRank)).(*modelRank)
|
||||||
}
|
}
|
||||||
|
@ -977,7 +977,8 @@ type GuildGveFriendsRecordReq struct {
|
|||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
Boosid int32 `protobuf:"varint,1,opt,name=boosid,proto3" json:"boosid"`
|
Boosid int32 `protobuf:"varint,1,opt,name=boosid,proto3" json:"boosid"`
|
||||||
Friends []string `protobuf:"bytes,2,rep,name=friends,proto3" json:"friends"` //奖励
|
QueryType int32 `protobuf:"varint,2,opt,name=queryType,proto3" json:"queryType"` // 0 全服排行榜 1 好友推荐
|
||||||
|
Friends []string `protobuf:"bytes,3,rep,name=friends,proto3" json:"friends"` //好友id
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *GuildGveFriendsRecordReq) Reset() {
|
func (x *GuildGveFriendsRecordReq) Reset() {
|
||||||
@ -1019,6 +1020,13 @@ func (x *GuildGveFriendsRecordReq) GetBoosid() int32 {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *GuildGveFriendsRecordReq) GetQueryType() int32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.QueryType
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
func (x *GuildGveFriendsRecordReq) GetFriends() []string {
|
func (x *GuildGveFriendsRecordReq) GetFriends() []string {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.Friends
|
return x.Friends
|
||||||
@ -1178,18 +1186,20 @@ var file_guildgve_guildgve_msg_proto_rawDesc = []byte{
|
|||||||
0x50, 0x75, 0x73, 0x68, 0x12, 0x2e, 0x0a, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x01,
|
0x50, 0x75, 0x73, 0x68, 0x12, 0x2e, 0x0a, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x01,
|
||||||
0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x44, 0x42, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x6f,
|
0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x44, 0x42, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x6f,
|
||||||
0x75, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x06, 0x72, 0x65,
|
0x75, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x06, 0x72, 0x65,
|
||||||
0x63, 0x6f, 0x72, 0x64, 0x22, 0x4c, 0x0a, 0x18, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65,
|
0x63, 0x6f, 0x72, 0x64, 0x22, 0x6a, 0x0a, 0x18, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65,
|
||||||
0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71,
|
0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71,
|
||||||
0x12, 0x16, 0x0a, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
|
0x12, 0x16, 0x0a, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
|
||||||
0x52, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x72, 0x69, 0x65,
|
0x52, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x71, 0x75, 0x65, 0x72,
|
||||||
0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x66, 0x72, 0x69, 0x65, 0x6e,
|
0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x71, 0x75, 0x65,
|
||||||
0x64, 0x73, 0x22, 0x59, 0x0a, 0x19, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x46, 0x72,
|
0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64,
|
||||||
0x69, 0x65, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12,
|
0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73,
|
||||||
0x16, 0x0a, 0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
|
0x22, 0x59, 0x0a, 0x19, 0x47, 0x75, 0x69, 0x6c, 0x64, 0x47, 0x76, 0x65, 0x46, 0x72, 0x69, 0x65,
|
||||||
0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72,
|
0x6e, 0x64, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a,
|
||||||
0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x44, 0x42, 0x47, 0x76, 0x65, 0x52,
|
0x06, 0x62, 0x6f, 0x6f, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x62,
|
||||||
0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x06, 0x5a,
|
0x6f, 0x6f, 0x73, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18,
|
||||||
0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x44, 0x42, 0x47, 0x76, 0x65, 0x52, 0x65, 0x63,
|
||||||
|
0x6f, 0x72, 0x64, 0x52, 0x06, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x06, 0x5a, 0x04, 0x2e,
|
||||||
|
0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
Loading…
Reference in New Issue
Block a user