世界等级
parent
67dc20bd41
commit
cf27447f0d
|
@ -88,20 +88,6 @@ public class MongoUtil {
|
||||||
|
|
||||||
return MongoUtil.getInstence().coreMongoTemplate;
|
return MongoUtil.getInstence().coreMongoTemplate;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int worldLevel() throws Exception {
|
|
||||||
Query query = new Query();
|
|
||||||
query.with(new Sort(Sort.Direction.DESC,"playerManager.level"));
|
|
||||||
query.fields().include("playerManager.level");
|
|
||||||
List<User> users = getLjsdMongoTemplate().findAllByCondition(query, User.class);
|
|
||||||
int size = (int)(users.size()*0.85);
|
|
||||||
int level = 0;
|
|
||||||
for(int i = 0 ; i <size;i++){
|
|
||||||
level+=users.get(i).getPlayerInfoManager().getLevel();
|
|
||||||
}
|
|
||||||
return level/size;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
try {
|
try {
|
||||||
LjsdMongoTemplate ljsdMongoTemplate = getLjsdMongoTemplate();
|
LjsdMongoTemplate ljsdMongoTemplate = getLjsdMongoTemplate();
|
||||||
|
|
|
@ -37,6 +37,8 @@ import com.ljsd.jieling.util.TimeUtils;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.context.ConfigurableApplicationContext;
|
import org.springframework.context.ConfigurableApplicationContext;
|
||||||
|
import org.springframework.data.domain.Sort;
|
||||||
|
import org.springframework.data.mongodb.core.query.Query;
|
||||||
|
|
||||||
import java.net.UnknownHostException;
|
import java.net.UnknownHostException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -352,7 +354,17 @@ public class GlobalDataManaager {
|
||||||
|
|
||||||
|
|
||||||
private static int calWorldLevel() throws Exception {
|
private static int calWorldLevel() throws Exception {
|
||||||
return MongoUtil.getInstence().worldLevel();
|
Query query = new Query();
|
||||||
|
query.with(new Sort(Sort.Direction.DESC,"playerManager.level"));
|
||||||
|
query.fields().include("playerManager.level");
|
||||||
|
List<User> users = MongoUtil.getLjsdMongoTemplate().findAllByCondition(query, User.class);
|
||||||
|
int size = (int)(users.size()*0.85);
|
||||||
|
int level = 0;
|
||||||
|
for(int i = 0 ; i <size;i++){
|
||||||
|
level+=users.get(i).getPlayerInfoManager().getLevel();
|
||||||
|
}
|
||||||
|
LOGGER.info("计算世界等级为{}",level/size);
|
||||||
|
return level/size;
|
||||||
}
|
}
|
||||||
private static int getEndleeMapIdByLevel() throws Exception {
|
private static int getEndleeMapIdByLevel() throws Exception {
|
||||||
ServerConfig config = MongoUtil.getInstence().getMyMongoTemplate().findById(1, ServerConfig.class);
|
ServerConfig config = MongoUtil.getInstence().getMyMongoTemplate().findById(1, ServerConfig.class);
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package com.ljsd.jieling.thread.task;
|
package com.ljsd.jieling.thread.task;
|
||||||
|
|
||||||
import com.ljsd.GameApplication;
|
import com.ljsd.GameApplication;
|
||||||
|
import com.ljsd.jieling.config.ServerConfig;
|
||||||
import com.ljsd.jieling.config.reportData.DataMessageUtils;
|
import com.ljsd.jieling.config.reportData.DataMessageUtils;
|
||||||
import com.ljsd.jieling.core.CoreLogic;
|
import com.ljsd.jieling.core.CoreLogic;
|
||||||
import com.ljsd.jieling.core.GlobalsDef;
|
import com.ljsd.jieling.core.GlobalsDef;
|
||||||
|
@ -18,6 +19,7 @@ import com.ljsd.jieling.logic.OnlineUserManager;
|
||||||
import com.ljsd.jieling.logic.STableManager;
|
import com.ljsd.jieling.logic.STableManager;
|
||||||
import com.ljsd.jieling.logic.activity.ActivityLogic;
|
import com.ljsd.jieling.logic.activity.ActivityLogic;
|
||||||
import com.ljsd.jieling.logic.arena.ArenaLogic;
|
import com.ljsd.jieling.logic.arena.ArenaLogic;
|
||||||
|
import com.ljsd.jieling.logic.dao.root.User;
|
||||||
import com.ljsd.jieling.logic.family.GuildFightLogic;
|
import com.ljsd.jieling.logic.family.GuildFightLogic;
|
||||||
import com.ljsd.jieling.logic.fight.CheckFight;
|
import com.ljsd.jieling.logic.fight.CheckFight;
|
||||||
import com.ljsd.jieling.logic.fight.CombatLogic;
|
import com.ljsd.jieling.logic.fight.CombatLogic;
|
||||||
|
@ -28,8 +30,11 @@ import com.ljsd.jieling.logic.store.StoreLogic;
|
||||||
import com.ljsd.jieling.network.server.ProtocolsManager;
|
import com.ljsd.jieling.network.server.ProtocolsManager;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.data.domain.Sort;
|
||||||
|
import org.springframework.data.mongodb.core.query.Query;
|
||||||
|
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class MinuteTask extends Thread {
|
public class MinuteTask extends Thread {
|
||||||
private static final Logger LOGGER = LoggerFactory.getLogger(MinuteTask.class);
|
private static final Logger LOGGER = LoggerFactory.getLogger(MinuteTask.class);
|
||||||
|
@ -65,6 +70,21 @@ public class MinuteTask extends Thread {
|
||||||
CoreLogic.getInstance().checkCoreCdk();
|
CoreLogic.getInstance().checkCoreCdk();
|
||||||
BuyGoodsLogic.minuteCheckReharge();
|
BuyGoodsLogic.minuteCheckReharge();
|
||||||
RedisUtil.getInstence().set(RedisKey.ONLINE_NUM+RedisKey.Delimiter_colon+GameApplication.serverId, String.valueOf(OnlineUserManager.sessionMap.entrySet().size()));
|
RedisUtil.getInstence().set(RedisKey.ONLINE_NUM+RedisKey.Delimiter_colon+GameApplication.serverId, String.valueOf(OnlineUserManager.sessionMap.entrySet().size()));
|
||||||
|
ServerConfig serverConfigTmp = MongoUtil.getInstence().getMyMongoTemplate().findById(1, ServerConfig.class);
|
||||||
|
if(serverConfigTmp.getWorldLevel()==1){
|
||||||
|
Query query = new Query();
|
||||||
|
query.with(new Sort(Sort.Direction.DESC,"playerManager.level"));
|
||||||
|
query.fields().include("playerManager.level");
|
||||||
|
List<User> users = MongoUtil.getLjsdMongoTemplate().findAllByCondition(query, User.class);
|
||||||
|
int size = (int)(users.size()*0.85);
|
||||||
|
int level = 0;
|
||||||
|
for(int i = 0 ; i <size;i++){
|
||||||
|
level+=users.get(i).getPlayerInfoManager().getLevel();
|
||||||
|
}
|
||||||
|
LOGGER.info("计算世界等级为{}",level/size);
|
||||||
|
serverConfigTmp.setWorldLevel(level/size);
|
||||||
|
MongoUtil.getLjsdMongoTemplate().save(serverConfigTmp);
|
||||||
|
}
|
||||||
LOGGER.info("MinuteTask end...");
|
LOGGER.info("MinuteTask end...");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOGGER.error("e",e);
|
LOGGER.error("e",e);
|
||||||
|
|
Loading…
Reference in New Issue