game_sync/model/rank.go

422 lines
10 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package model
import (
"time"
"mongo.games.com/goserver/core/logger"
)
const (
MQRankSeason = "log_rankplayerscore"
MQRankPlayerCoin = "log_rankplayercoin"
MQRankPlayerInvite = "log_rankplayerinvite"
MQRankPlayerLevel = "log_rankplayerlevel"
MQRankPlayerPermit = "log_rankplayerpermit" // 赛季通行证排行榜
MQRankNian = "log_ranknian" //年兽排行榜
)
// 排行榜类型
const (
RankType_Coin = 1 //财富榜
RankType_WinCoin = 2 //收入榜
)
type PlayerRankScore struct {
//Id bson.ObjectId `bson:"_id"`
Platform string
SnId int32
RankType int32 // 排位类型
SeasonId int32 // 赛季id
Lv int32 // 段位
Score int64 // 排位积分
Name string
Sex int32
HeadUrl string
Coin int64
IsRobot bool
UpdateTs int64
ModId int32
}
func UpsertPlayerRankSeasonList(args *PlayerRankScore) bool {
if rpcCli == nil {
logger.Logger.Error("model.UpsertPlayerRankSeason rpcCli == nil")
return false
}
var ret bool
args.UpdateTs = time.Now().Unix()
err := rpcCli.CallWithTimeout("RankSeasonSvc.Upsert", args, &ret, time.Second*30)
if err != nil {
logger.Logger.Error("UpsertPlayerRankSeasonList error:", err)
return false
}
return ret
}
type FindPlayerRankSeasonListArgs struct {
Platform string
RankType int32 // 排位类型
//SeasonId int32 // 赛季id
}
type FindPlayerRankSeasonListReply struct {
List []*PlayerRankScore
}
func FindPlayerRankSeasonList(args *FindPlayerRankSeasonListArgs) (*FindPlayerRankSeasonListReply, error) {
if rpcCli == nil {
logger.Logger.Error("model.FindPlayerRankSeasonList rpcCli == nil")
return nil, nil
}
ret := new(FindPlayerRankSeasonListReply)
err := rpcCli.CallWithTimeout("RankSeasonSvc.FindRankSeason", args, ret, time.Second*30)
if err != nil {
logger.Logger.Error("FindPlayerRankSeasonList error:", err)
return ret, err
}
return ret, nil
}
type RankPlayerCoin struct {
Platform string
SnId int32
Name string
Sex int32
HeadUrl string
Coin int64
UpdateTs int64
ModId int32
}
func UpsertRankPlayerCoin(args *RankPlayerCoin) bool {
if rpcCli == nil {
logger.Logger.Error("model.UpsertRankPlayerCoin rpcCli == nil")
return false
}
var ret bool
err := rpcCli.CallWithTimeout("RankPlayerCoinSvc.Upsert", args, &ret, time.Second*30)
if err != nil {
logger.Logger.Error("UpsertRankPlayerCoin error:", err)
return false
}
return ret
}
type FindPlayerCoinListArgs struct {
Platform string
}
type FindPlayerCoinListReply struct {
List []*RankPlayerCoin
}
func FindPlayerCoinList(args *FindPlayerCoinListArgs) (*FindPlayerCoinListReply, error) {
if rpcCli == nil {
logger.Logger.Error("model.FindPlayerCoinList rpcCli == nil")
return nil, nil
}
ret := new(FindPlayerCoinListReply)
err := rpcCli.CallWithTimeout("RankPlayerCoinSvc.Find", args, ret, time.Second*30)
if err != nil {
logger.Logger.Error("FindPlayerCoinList error:", err)
return ret, err
}
return ret, nil
}
type PlayerRankInvite struct {
//Id bson.ObjectId `bson:"_id"`
SnId int32
Score int64 // 邀请积分
InviteNum int32 // 邀请人数
Name string // 玩家名字
ModId int32 // 头像ID
}
type FindPlayerRankInviteListArgs struct {
Platform string
RankType int32 // 邀请榜时间类型: 总榜 周榜 月榜 上周榜
}
type FindPlayerRankInviteListReply struct {
RankType int32 // 邀请榜时间类型: 总榜 周榜 月榜 上周榜
List []*PlayerRankInvite
}
func FindPlayerRankInviteList(args *FindPlayerRankInviteListArgs) (*FindPlayerRankInviteListReply, error) {
if rpcCli == nil {
logger.Logger.Error("model.FindPlayerRankInviteList rpcCli == nil")
return nil, nil
}
ret := new(FindPlayerRankInviteListReply)
err := rpcCli.CallWithTimeout("BindScoreSvc.GetInviteRankList", args, ret, time.Second*30)
if err != nil {
logger.Logger.Error("FindPlayerRankInviteList error:", err)
return ret, err
}
return ret, nil
}
type FindPlayerRankInviteScoreArgs struct {
Platform string
RankType int32 // 邀请榜时间类型: 总榜 周榜 月榜 上周榜
SnId int32
}
type FindPlayerRankInviteScoreReply struct {
RankType int32 // 邀请榜时间类型: 总榜 周榜 月榜 上周榜
Data PlayerRankInvite
}
func FindPlayerRankInviteScoreType(args *FindPlayerRankInviteScoreArgs) (*FindPlayerRankInviteScoreReply, error) {
if rpcCli == nil {
logger.Logger.Error("model.FindPlayerRankInviteScoreType rpcCli == nil")
return nil, nil
}
ret := new(FindPlayerRankInviteScoreReply)
err := rpcCli.CallWithTimeout("BindScoreSvc.GetInviteScoreByType", args, ret, time.Second*30)
if err != nil {
logger.Logger.Error("FindPlayerRankInviteScoreType error:", err)
return ret, err
}
return ret, nil
}
type WinCoinInfo struct {
SnId int32
Name string
Coin int64
ModId int32
}
type FindWinCoinListArgs struct {
Platform string
StartTs, EndTs int64
}
type FindWinCoinListReply struct {
List []*WinCoinInfo
}
func FindWinCoinListTienlen(args *FindWinCoinListArgs) (*FindWinCoinListReply, error) {
if rpcCli == nil {
logger.Logger.Error("model.FindWinCoinListTienlen rpcCli == nil")
return nil, nil
}
ret := new(FindWinCoinListReply)
err := rpcCli.CallWithTimeout("GamePlayerListSvc.GetWinCoinListTienlen", args, ret, time.Second*30)
if err != nil {
logger.Logger.Error("FindWinCoinList error:", err)
return ret, err
}
return ret, nil
}
type FindWinCoinArgs struct {
Platform string
StartTs, EndTs int64
SnId int32
}
type FindWinCoinReply struct {
List *WinCoinInfo
}
func FindWinCoinTienlen(args *FindWinCoinArgs) (*FindWinCoinReply, error) {
if rpcCli == nil {
logger.Logger.Error("model.FindWinCoinTienlen rpcCli == nil")
return nil, nil
}
ret := new(FindWinCoinReply)
err := rpcCli.CallWithTimeout("GamePlayerListSvc.GetWinCoinTienlen", args, ret, time.Second*30)
if err != nil {
logger.Logger.Error("FindWinCoinTienlen error:", err)
return ret, err
}
return ret, nil
}
// 等级榜
type PlayerLevelInfo struct {
Platform string
SnId int32
Name string
Level int64
Exp int64
ModId int32 //头像
}
type FindPlayerLevelArgs struct {
Platform string
StartTs, EndTs int64
SnId int32
}
type FindPlayerLevelListArgs struct {
Platform string
StartTs, EndTs int64
}
type FindPlayerLevelListReply struct {
List []*PlayerLevelInfo
}
type FindPlayerLevelReply struct {
List *PlayerLevelInfo
}
func FindPlayerLevelList(args *FindPlayerLevelListArgs) (*FindPlayerLevelListReply, error) {
if rpcCli == nil {
logger.Logger.Error("model.FindPlayerLevelList rpcCli == nil")
return nil, nil
}
ret := new(FindPlayerLevelListReply)
err := rpcCli.CallWithTimeout("RankPlayerLevelSvc.Find", args, ret, time.Second*30)
if err != nil {
logger.Logger.Error("GetPlayerLevelList error:", err)
return ret, err
}
return ret, nil
}
// PermitScore 赛季通行证排行榜
type PermitScore struct {
Platform string `bson:"-"`
SnId int32
Name string
Exp int64
ModId int32 //头像
StartTs int64 // 赛季开始时间戳
Ts int64
}
type FindPlayerPermitListArgs struct {
Platform string
StartTs int64
}
type FindPlayerPermitListReply struct {
List []*PermitScore
}
func FindPlayerPermitList(args *FindPlayerPermitListArgs) (*FindPlayerPermitListReply, error) {
if rpcCli == nil {
logger.Logger.Error("model.FindPlayerLevelList rpcCli == nil")
return nil, nil
}
ret := new(FindPlayerPermitListReply)
err := rpcCli.CallWithTimeout("RankPlayerPermitSvc.Find", args, ret, time.Second*30)
if err != nil {
logger.Logger.Error("GetPlayerLevelList error:", err)
return ret, err
}
return ret, nil
}
func SaveRankInvite(args *RankInvite) error {
if rpcCli == nil {
logger.Logger.Error("model.SaveRankInvite rpcCli == nil")
return nil
}
var ret bool
err := rpcCli.CallWithTimeout("RankInviteSvc.SaveRankInvite", args, &ret, time.Second*30)
if err != nil {
logger.Logger.Error("SaveRankInvite error:", err)
return err
}
return nil
}
// 年兽排行榜
type NianInfo struct {
Platform string
SnId int32
Name string
Luck int64
Damage int64
ModId int32 //头像
LuckTime int64 //幸运值更新时间
Ts int64 //更新时间
}
type FindNianListArgs struct {
Platform string
}
type FindNianListReply struct {
List []*NianInfo
}
func FindLuckNianRankList(args *FindNianListArgs) (*FindNianListReply, error) {
if rpcCli == nil {
logger.Logger.Error("model.FindLuckNianList rpcCli == nil")
return nil, nil
}
ret := new(FindNianListReply)
err := rpcCli.CallWithTimeout("RankNianSvc.LuckFind", args, ret, time.Second*30)
if err != nil {
logger.Logger.Error("GetNianLuckRankList error:", err)
return ret, err
}
return ret, nil
}
func FindDamageNianRankList(args *FindNianListArgs) (*FindNianListReply, error) {
if rpcCli == nil {
logger.Logger.Error("model.FindNianList rpcCli == nil")
return nil, nil
}
ret := new(FindNianListReply)
err := rpcCli.CallWithTimeout("RankNianSvc.DamageFind", args, ret, time.Second*30)
if err != nil {
logger.Logger.Error("GetNianDamageRankList error:", err)
return ret, err
}
return ret, nil
}
func ClearNianRank(args *FindNianListArgs) error {
if rpcCli == nil {
logger.Logger.Error("model.FindNianList rpcCli == nil")
return nil
}
ret := new(FindNianListReply)
err := rpcCli.CallWithTimeout("RankNianSvc.UpdateAll", args, ret, time.Second*30)
if err != nil {
logger.Logger.Error("GetNianDamageRankList error:", err)
return err
}
return nil
}
func DelNianRank(args *FindNianListArgs) error {
if rpcCli == nil {
logger.Logger.Error("model.FindNianList rpcCli == nil")
return nil
}
ret := new(FindNianListReply)
err := rpcCli.CallWithTimeout("RankNianSvc.DelAll", args, ret, time.Second*30)
if err != nil {
logger.Logger.Error("GetNianDamageRankList error:", err)
return err
}
return nil
}
// 年兽排行榜记录
type NianPlayerRankLog struct {
TypeId int32 //1-幸运榜 2伤害榜
RankData []*NianPlayerRankData
Platform string
Ts int64
}
type NianPlayerRankData struct {
RankId int32
Snid int32
Score int64
}