邀请积分排行榜 机器人随机
This commit is contained in:
parent
944dba45d8
commit
8ebbb86d3b
|
@ -147,7 +147,15 @@ func (b *BindScoreSvc) GetInviteRankList(req *model.FindPlayerRankInviteListArgs
|
||||||
logger.Logger.Error("GetInviteRankList find player is error", err)
|
logger.Logger.Error("GetInviteRankList find player is error", err)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
//机器人库
|
||||||
|
robotPlayer := AccountCollection(mongo.G_P)
|
||||||
|
var robotPlayerList []PInfo
|
||||||
|
err = robotPlayer.Find(selecter).Select(bson.M{"snid": 1, "name": 1, "roles": 1}).All(&robotPlayerList)
|
||||||
|
if err != nil {
|
||||||
|
logger.Logger.Error("GetInviteRankList find player is error", err)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
retPlayerList = append(retPlayerList, robotPlayerList...)
|
||||||
for _, inviteInfo := range list {
|
for _, inviteInfo := range list {
|
||||||
for _, playerData := range retPlayerList {
|
for _, playerData := range retPlayerList {
|
||||||
if inviteInfo.SnId == playerData.SnId {
|
if inviteInfo.SnId == playerData.SnId {
|
||||||
|
|
|
@ -2,6 +2,8 @@ package svc
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
|
"fmt"
|
||||||
|
"net/rpc"
|
||||||
|
|
||||||
"github.com/globalsign/mgo"
|
"github.com/globalsign/mgo"
|
||||||
"github.com/globalsign/mgo/bson"
|
"github.com/globalsign/mgo/bson"
|
||||||
|
@ -52,4 +54,18 @@ func SaveRankInvite(data *model.RankInvite) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
//todo 每周清理数据
|
type RankInviteSvc struct {
|
||||||
|
}
|
||||||
|
|
||||||
|
func (svc *RankInviteSvc) SaveRankInvite(data *model.RankInvite, ret *bool) (err error) {
|
||||||
|
err = SaveRankInvite(data)
|
||||||
|
fmt.Println("11111111111111111111111111111111111111111111")
|
||||||
|
if err == nil {
|
||||||
|
*ret = true
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
rpc.Register(new(RankInviteSvc))
|
||||||
|
}
|
||||||
|
|
|
@ -550,7 +550,7 @@ func (svc *AccountSvc) GetRobotAccounts(limit int, accs *[]model.Account) error
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
*accs = make([]model.Account, 0, limit)
|
*accs = make([]model.Account, 0, limit)
|
||||||
err := caccounts.Find(bson.M{"platform": common.Platform_Rob}).Limit(limit).All(&accs)
|
err := caccounts.Find(bson.M{"platform": common.Platform_Rob}).Limit(limit).All(accs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Logger.Info("GetAllRobotAccounts error:", err)
|
logger.Logger.Info("GetAllRobotAccounts error:", err)
|
||||||
return nil
|
return nil
|
||||||
|
|
|
@ -316,3 +316,17 @@ func FindPlayerPermitList(args *FindPlayerPermitListArgs) (*FindPlayerPermitList
|
||||||
}
|
}
|
||||||
return ret, nil
|
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
|
||||||
|
}
|
||||||
|
|
|
@ -1,10 +1,14 @@
|
||||||
package rank
|
package rank
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"mongo.games.com/goserver/core/logger"
|
"math/rand"
|
||||||
|
"mongo.games.com/game/common"
|
||||||
"mongo.games.com/game/model"
|
"mongo.games.com/game/model"
|
||||||
"mongo.games.com/game/ranksrv/com"
|
"mongo.games.com/game/ranksrv/com"
|
||||||
|
"mongo.games.com/goserver/core/basic"
|
||||||
|
"mongo.games.com/goserver/core/logger"
|
||||||
|
"mongo.games.com/goserver/core/task"
|
||||||
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
var InviteLogMgrInstance = com.NewListMgr[*model.InviteInfo](
|
var InviteLogMgrInstance = com.NewListMgr[*model.InviteInfo](
|
||||||
|
@ -20,3 +24,42 @@ var InviteLogMgrInstance = com.NewListMgr[*model.InviteInfo](
|
||||||
}
|
}
|
||||||
return ret, nil
|
return ret, nil
|
||||||
})
|
})
|
||||||
|
|
||||||
|
func RobotRandon() {
|
||||||
|
//机器人随机
|
||||||
|
robotNum := rand.Intn(21) + 10
|
||||||
|
logger.Logger.Tracef("随机到的机器人数量:%d", robotNum)
|
||||||
|
accounts := model.GetRobotAccounts(200)
|
||||||
|
task.New(nil, task.CallableWrapper(func(o *basic.Object) interface{} {
|
||||||
|
for i := 0; i < robotNum; i++ {
|
||||||
|
//随机机器人
|
||||||
|
snId := accounts[rand.Intn(len(accounts))].SnId
|
||||||
|
logger.Logger.Trace("随机到的机器人snid:%d", snId)
|
||||||
|
data := model.RankInvite{
|
||||||
|
Platform: "1",
|
||||||
|
SnId: snId,
|
||||||
|
Num: int64(rand.Intn(4) + 2),
|
||||||
|
Score: int64(rand.Intn(901) + 100),
|
||||||
|
Ts: time.Now().Unix(),
|
||||||
|
Week: common.GetWeekStartTs(time.Now().Unix()),
|
||||||
|
}
|
||||||
|
logger.Logger.Tracef("机器人邀请数据:%+v", data)
|
||||||
|
err := model.SaveRankInvite(&data)
|
||||||
|
if err != nil {
|
||||||
|
logger.Logger.Error("SaveRankInviteTask error %v", err)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}), task.CompleteNotifyWrapper(func(data interface{}, tt task.Task) {
|
||||||
|
InviteLogMgrInstance.UpdateCache("1", 2)
|
||||||
|
})).StartByFixExecutor("SaveRankInviteTask")
|
||||||
|
}
|
||||||
|
func init() {
|
||||||
|
common.RegisterClockFunc(&common.ClockFunc{
|
||||||
|
OnDayTimerFunc: func() {
|
||||||
|
RobotRandon()
|
||||||
|
logger.Logger.Trace("0点机器人随机完成邀请积分排行榜!!!!!")
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue