@ -209,7 +209,7 @@ func rankAward(ticker *rankTicker) {
// UpdateRankValue 更新玩家数值(mode:1打码,2充值)
// todo 接入打码
func UpdateRankValue ( mode int , uid int , updateValue int64 ) {
func UpdateRankValue ( mode int , uid int , updateValue int64 , isRobot int ) {
configRanks := GetConfigRank ( mode )
if len ( configRanks ) == 0 {
return
@ -226,8 +226,9 @@ func UpdateRankValue(mode int, uid int, updateValue int64) {
rankData := common . RankData {
UID : uid ,
RankType : rank . RankType ,
RankCycle : util . ToInt ( rank . Rank Cycle) ,
RankCycle : util . ToInt ( rankCycle ) ,
RankAt : rankAt . Unix ( ) ,
IsRobot : isRobot ,
RankValue : updateValueReal ,
UpdatedAt : now . Unix ( ) ,
}
@ -288,7 +289,8 @@ func rankUserRefresh(rankType int, must bool) {
robotCfg := rankCfg . RobotCfgValue
rankAt , _ , _ , _ := getRankJackpotKey ( rankType , rankCycle )
var rankRobots [ ] common . RankData
err = db . Mysql ( ) . C ( ) . Model ( & common . RankData { } ) . Where ( "is_robot = 1" ) . Order ( "rank_value desc" ) . Find ( & rankRobots ) . Error
err = db . Mysql ( ) . C ( ) . Model ( & common . RankData { } ) . Where ( "rank_type = ? and rank_cycle = ? and rank_at = ? and is_robot = 1" , rankType , util . ToInt ( rankCycle ) , rankAt . Unix ( ) ) .
Order ( "rank_value desc" ) . Find ( & rankRobots ) . Error
if err != nil {
log . Error ( "get robot data err, %s" , err . Error ( ) )
continue
@ -343,7 +345,7 @@ func rankUserRefresh(rankType int, must bool) {
addValue := rand . Intn ( 100 ) + 1
updateValue := addValue * 10000 / freeRate
if rankRobot . RankValue == 0 {
UpdateRankValue ( rankType , rankRobot . UID , int64 ( updateValue ) )
UpdateRankValue ( rankType , rankRobot . UID , int64 ( updateValue ) , 1 )
}
}
} else {
@ -363,7 +365,7 @@ func rankUserRefresh(rankType int, must bool) {
addValue := rankValueFinal - robot . RankValue
updateValue := addValue * 10000 / int64 ( freeRate )
if updateValue > 0 {
UpdateRankValue ( rankType , robot . UID , updateValue )
UpdateRankValue ( rankType , robot . UID , updateValue , 1 )
delete ( rankRobotsMap , rankUser . UID )
}
_ , ok := rankUserMap [ robot . UID ]
@ -420,7 +422,7 @@ func rankUsersGet(rankType int, rankCycle string, rankAt time.Time, page, pageSi
// RankUsersGet 获取当前排行榜用户
func RankUsersGet ( rankType int , rankCycle string , page , pageSize int ) ( rankUsers [ ] * common . RankDataWithUser , count int64 , err error ) {
rankAt , _ , _ , _ := getRankJackpotKey ( rankType , rankCycle )
if rankAt . Sub ( time . Now ( ) ) . Minutes ( ) > 5 {
if time . Now ( ) . Sub ( rankAt ) . Minutes ( ) > 5 {
rankUserRefresh ( rankType , false )
}
return rankUsersGet ( rankType , rankCycle , rankAt , page , pageSize )