422 lines
10 KiB
Go
422 lines
10 KiB
Go
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
|
||
}
|