back_recharge
zhangshanxue 2019-08-09 10:21:25 +08:00
commit 8ffaafc666
14 changed files with 240 additions and 40 deletions

View File

@ -703,6 +703,16 @@ public class RedisUtil {
}
}
public void zsetRemoveOne(String key, String value){
for (int i = 0; i < MAX_TRY_TIMES; i++) {
try {
redisTemplate.opsForZSet().remove(key, value);
return;
} catch (Exception e) {
TimeUtils.sleep(FAILED_SLEEP);
}
}
}
//操作sortset
public Set<ZSetOperations.TypedTuple<String>> getZsetRangeWithScore(String key, double min, double max){
for (int i = 0; i < MAX_TRY_TIMES; i++) {

View File

@ -10,6 +10,7 @@ import com.ljsd.jieling.logic.dao.ActivityMission;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.mail.MailLogic;
import com.ljsd.jieling.logic.mission.GameEvent;
import com.ljsd.jieling.logic.mission.main.ServenMissionIdsType;
import com.ljsd.jieling.logic.mission.main.TreasureMissionType;
import com.ljsd.jieling.util.ItemUtil;
import com.ljsd.jieling.util.MessageUtil;
@ -40,8 +41,8 @@ public class DefaultEmptyActivity extends AbstractActivity{
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
if(sGlobalActivity.getType() == ActivityType.SERVERHAPPY){
STreasureTaskConfig sTreasureTaskConfig = STreasureTaskConfig.sTreasureSevenTaskConfigByActivityMap.get(id);
TreasureMissionType sevenHappyMissionType = user.getUserMissionManager().getSevenHappyMissionType();
if(!sevenHappyMissionType.getRewardedMissionIds().get(sTreasureTaskConfig.getId())){
ServenMissionIdsType sevenHappyMissionType = user.getUserMissionManager().getSevenHappyMissionType();
if(!sevenHappyMissionType.getRewardedMissionIds().get(sTreasureTaskConfig.getId())){
int senvenScores = user.getUserMissionManager().getSevenHappyCumulationData().senvenScores;
sevenHappyMissionType.getDoingMissionIds().remove(sTreasureTaskConfig.getId());
sevenHappyMissionType.getFinishMissionIds().remove(sTreasureTaskConfig.getId());

View File

@ -1,13 +1,16 @@
package com.ljsd.jieling.logic.dao;
import com.ljsd.jieling.config.SGuildSetting;
import com.ljsd.jieling.db.mongo.MongoUtil;
import com.ljsd.jieling.db.redis.RedisUtil;
import com.ljsd.jieling.logic.dao.root.GuildApply;
import com.ljsd.jieling.logic.dao.root.GuildInfo;
import com.ljsd.jieling.logic.dao.root.GuildLog;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.family.GuildLogic;
import com.mongodb.BasicDBObject;
import org.springframework.data.mongodb.core.query.BasicQuery;
import org.springframework.data.redis.core.ZSetOperations;
import java.util.*;
@ -83,7 +86,51 @@ public class GuilidManager {
}
}
public static void checkNeedReleaseGuild() throws Exception {
int now = (int)(System.currentTimeMillis()/1000);
int round=0;
boolean needContinue = true;
String key = RedisUtil.getInstence().getKey("guild-release", "");
while (needContinue){
Set<ZSetOperations.TypedTuple<String>> zsetreverseRangeWithScores = RedisUtil.getInstence().getZsetreverseRangeWithScores("guild-release", "", round*5, (round+1)*5);
if(zsetreverseRangeWithScores.isEmpty()){
return;
}
for(ZSetOperations.TypedTuple<String> item : zsetreverseRangeWithScores){
String value = item.getValue();
Double score = item.getScore();
if(score>now){
needContinue=false;
break;
}
GuildInfo guildInfo = guildInfoMap.get(Integer.parseInt(value));
if(guildInfo == null){
RedisUtil.getInstence().zsetRemoveOne(key,value);
continue;
}
GuildLogic.releaseGuild(guildInfo);
RedisUtil.getInstence().zsetRemoveOne(key,value);
}
round++;
MongoUtil.getInstence().lastUpdate();
}
}
public static Collection<GuildInfo> recommandGuild(User user) {
return guildInfoMap.values();
}
public static void addGuildToRelease(GuildInfo guildInfo) {
String key = RedisUtil.getInstence().getKey("guild-release", "");
int levelTime = guildInfo.getLevelTime();
if(levelTime == 0){
RedisUtil.getInstence().zsetRemoveOne(key,Integer.toString(guildInfo.getId()));
return;
}
levelTime+= SGuildSetting.sGuildSetting.getDestroyTime();
RedisUtil.getInstence().zsetAddOne(key,Integer.toString(guildInfo.getId()),levelTime);
}
}

View File

@ -9,9 +9,6 @@ import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.mission.*;
import com.ljsd.jieling.logic.mission.event.MissionEventDistributor;
import com.ljsd.jieling.logic.mission.main.*;
import com.ljsd.jieling.protocols.MessageTypeProto;
import com.ljsd.jieling.protocols.PlayerInfoProto;
import com.ljsd.jieling.util.MessageUtil;
import java.util.List;
import java.util.Map;
@ -24,11 +21,11 @@ public class UserMissionManager extends MongoBase {
private BeginerTaskIdsType beginerTaskIdsType=new BeginerTaskIdsType();
private TreasureMissionType treasureMissionIdsType=new TreasureMissionType();
private TreasureMissionType sevenHappyMissionType =new TreasureMissionType();
private ServenMissionIdsType sevenHappyMissionType =new ServenMissionIdsType();
//数据累加项
private CumulationData cumulationData = new CumulationData();
private CumulationData dailyCumulationData = new CumulationData();
private CumulationData begiinCumulationData = new CumulationData();
private CumulationData beginCumulationData = new CumulationData();
private CumulationData treasureCumulationData = new CumulationData();
private CumulationData sevenHappyCumulationData = new CumulationData();
@ -80,7 +77,6 @@ public class UserMissionManager extends MongoBase {
sevenHappyMissionType.getDoingMissionIds().clear();
sevenHappyMissionType.getFinishMissionIds().clear();
sevenHappyMissionType.getRewardedMissionIds().clear();
sevenHappyMissionType.getTakeTimes().clear();
List<MissionStateChangeInfo> servenMissionmStateChangeInfos = missionTypeEnumListMap.get(GameMisionType.SEVENMISSION);
for(STreasureTaskConfig sTreasureTaskConfig : sTreasureTaskConfigs){
sevenHappyMissionType.getDoingMissionIds().add(sTreasureTaskConfig.getId());
@ -94,9 +90,9 @@ public class UserMissionManager extends MongoBase {
for(Integer id : SBeginnerTask.sBeginnerTaskCongigMap.keySet()){
beginerTaskIdsType.addDoingMission(id);
}
begiinCumulationData.reset();
beginCumulationData.reset();
updateString("beginerTaskIdsType", beginerTaskIdsType);
updateString("begiinCumulationData", begiinCumulationData);
updateString("beginCumulationData", beginCumulationData);
break;
}
@ -122,11 +118,9 @@ public class UserMissionManager extends MongoBase {
case SEVENHAPPY_MISSION_REWARD:{
int missionId = (int) parm[0];
List<MissionStateChangeInfo> missionStateChangeInfos = missionTypeEnumListMap.get(GameMisionType.SEVENMISSION);
sevenHappyMissionType.rewardMission(user,missionId, missionStateChangeInfos,sevenHappyCumulationData);
sevenHappyMissionType.rewardMission((int)parm[0], missionStateChangeInfos);
if(missionStateChangeInfos!=null && !missionStateChangeInfos.isEmpty()){
int takeTimes = missionStateChangeInfos.get(0).getProgress();
missionStateChangeInfos.get(0).setProgress(0);
int score = STreasureTaskConfig.sTreasureTaskConfigMap.get(missionId).getPoints() * takeTimes;
int score = STreasureTaskConfig.sTreasureTaskConfigMap.get(missionId).getPoints();
calCumulationDataResult(user,MissionType.SENVER_HAPPY,missionTypeEnumListMap,score);
}
}
@ -161,11 +155,11 @@ public class UserMissionManager extends MongoBase {
if(!beginerTaskIdsType.getDoingMissionIds().isEmpty()){
List<SBeginnerTask> sBeginnerTasks = SBeginnerTask.sBeginnerByTypeMap.get(missionType.getMissionTypeValue());
if (sBeginnerTasks != null) {
CumulationData.Result result = begiinCumulationData.updateData(missionType, parm);
CumulationData.Result result = beginCumulationData.updateData(missionType, parm);
if(result!=null){
beginerTaskIdsType.calCumulationDataResult(user,result,missionTypeEnumListMap.get(GameMisionType.BEGINNERMISSION),begiinCumulationData);
beginerTaskIdsType.calCumulationDataResult(user,result,missionTypeEnumListMap.get(GameMisionType.BEGINNERMISSION), beginCumulationData);
updateString("beginerTaskIdsType",beginerTaskIdsType);
updateString("begiinCumulationData",begiinCumulationData);
updateString("beginCumulationData", beginCumulationData);
}
}
}
@ -206,7 +200,7 @@ public class UserMissionManager extends MongoBase {
this.vipMissionIdsType = vipMissionIdsType;
}
public void setSevenHappyMissionType(TreasureMissionType sevenHappyMissionType) {
public void setSevenHappyMissionType(ServenMissionIdsType sevenHappyMissionType) {
updateString("sevenHappyMissionType",sevenHappyMissionType);
this.sevenHappyMissionType = sevenHappyMissionType;
}
@ -236,7 +230,7 @@ public class UserMissionManager extends MongoBase {
return treasureCumulationData;
}
public TreasureMissionType getSevenHappyMissionType() {
public ServenMissionIdsType getSevenHappyMissionType() {
return sevenHappyMissionType;
}
@ -249,7 +243,7 @@ public class UserMissionManager extends MongoBase {
return beginerTaskIdsType;
}
public CumulationData getBegiinCumulationData() {
return begiinCumulationData;
public CumulationData getBeginCumulationData() {
return beginCumulationData;
}
}

View File

@ -494,6 +494,10 @@ public class GuildLogic {
MessageUtil.sendErrorResponse(session,0,msgId,"无权操作");
return;
}
if(type == 1 && guildInfo.getLevelTime()>0){
MessageUtil.sendErrorResponse(session,0,msgId,"已操作过了");
return;
}
//解散公会
if(type == 1){
guildInfo.setLevelTime((int)(System.currentTimeMillis()/1000));
@ -501,7 +505,7 @@ public class GuildLogic {
guildInfo.setLevelTime(0);
}
sendFamilyBaseUpdateIndication(guildInfo);
releaseGuild(guildInfo);
GuilidManager.addGuildToRelease(guildInfo);
MessageUtil.sendMessage(session,1,msgId,null,true);
}

View File

@ -1114,7 +1114,7 @@ public class HeroLogic {
float score = sPropertyConfig.getScore();
result += propertyValue*score;
// LOGGER.info("the value is ={},propertyValue={},score={}result ={},the value={}",propertyValue*score,propertyValue,score,result,propertyValue*score);
LOGGER.info("the value is ={},propertyValue={},score={}result ={},the value={}",propertyValue*score,propertyValue,score,result,propertyValue*score);
}
return (int)result;
}
@ -1532,6 +1532,8 @@ public class HeroLogic {
for(Pokemon pokemon : pokemonMap.values()){
combinePokemonAttribute(pokemonAttributeMap, pokemon,false);
}
int i = calForce(pokemonAttributeMap) * 5;
return calForce(pokemonAttributeMap)*5;
}

View File

@ -44,7 +44,7 @@ public class MissionLoigc {
private static void getBeginnerMisssion(User user, List<CommonProto.UserMissionInfo> missionList) {
UserMissionManager userMissionManager = user.getUserMissionManager();
BeginerTaskIdsType beginerTaskIdsType = userMissionManager.getBeginerTaskIdsType();
CumulationData begiinCumulationData = userMissionManager.getBegiinCumulationData();
CumulationData begiinCumulationData = userMissionManager.getBeginCumulationData();
Set<Integer> doingMissionIds = beginerTaskIdsType.getDoingMissionIds();
Set<Integer> finishMissionIds = beginerTaskIdsType.getFinishMissionIds();
Map<Integer, SBeginnerTask> sBeginnerTaskCongigMap = SBeginnerTask.sBeginnerTaskCongigMap;
@ -63,6 +63,41 @@ public class MissionLoigc {
}
}
private static void getServenMision(User user,int treasureActivityId,List<CommonProto.UserMissionInfo> missionList){
List<STreasureTaskConfig> sTreasureTaskConfigs = STreasureTaskConfig.sTreasureTaskConfigListByActivityMap.get(treasureActivityId);
UserMissionManager userMissionManager = user.getUserMissionManager();
ServenMissionIdsType sevenHappyMissionType = userMissionManager.getSevenHappyMissionType();
CumulationData dailyCumulationData = userMissionManager.getSevenHappyCumulationData();
Set<Integer> doingMissionIds = sevenHappyMissionType.getDoingMissionIds();
Set<Integer> finishMissionIds = sevenHappyMissionType.getFinishMissionIds();
int missionType = GameMisionType.SEVENMISSION.getType();
for(STreasureTaskConfig sTreasureTaskConfig:sTreasureTaskConfigs){
int state = 2;
int missionId = sTreasureTaskConfig.getId();
int progrss = sTreasureTaskConfig.getTaskValue()[1][0];
if(doingMissionIds.contains(missionId)){
state = 0;
if(progrss<0){
progrss=0;
}
progrss = getDoingProgress(user,dailyCumulationData,sTreasureTaskConfig.getTaskType(),sTreasureTaskConfig.getTaskValue()[0]);
}else if(finishMissionIds.contains(missionId)){
state = 1;
if(progrss<0){
progrss=1;
}
}
if(state!=2 && sTreasureTaskConfig.getTaskType() == MissionType.SENVER_HAPPY.getMissionTypeValue()){
if(System.currentTimeMillis()>user.getActivityManager().getSenvenTime()){
state=1;
}else {
state =0;
}
}
missionList.add(CommonProto.UserMissionInfo.newBuilder().setMissionId(missionId).setState(state).setType(missionType).setProgress(progrss).build());
}
}
private static void getTreasureMission(User user, List<CommonProto.UserMissionInfo> missionList,int activityType) {
Map<Integer, ActivityMission> activityMissionMap = user.getActivityManager().getActivityMissionMap();
int treasureActivityId = 0;
@ -78,9 +113,8 @@ public class MissionLoigc {
CumulationData treasureCumulationData = user.getUserMissionManager().getTreasureCumulationData();
int treasuremissionType = GameMisionType.TREASUREMISSION.getType();
if(activityType == ActivityType.SERVERHAPPY){
treasureMissionIdsType = user.getUserMissionManager().getSevenHappyMissionType();
treasureCumulationData = user.getUserMissionManager().getSevenHappyCumulationData();
treasuremissionType = GameMisionType.SEVENMISSION.getType();
getServenMision(user,treasureActivityId,missionList);
return;
}
BitSet rewardedMissionIds = treasureMissionIdsType.getRewardedMissionIds();
Map<Integer, Integer> takeTimesMap = treasureMissionIdsType.getTakeTimes();
@ -118,13 +152,6 @@ public class MissionLoigc {
}else{
takeTimes = takeTimesMap.get(missionId);
}
if(state!=2 && sTreasureTaskConfig.getTaskType() == MissionType.SENVER_HAPPY.getMissionTypeValue()){
if(System.currentTimeMillis()>user.getActivityManager().getSenvenTime()){
state=1;
}else {
state =0;
}
}
if(takeTimes == null){
takeTimes=0;

View File

@ -3,6 +3,7 @@ package com.ljsd.jieling.logic.mission.event;
import com.ljsd.jieling.config.SBeginnerTask;
import com.ljsd.jieling.config.SDailyTasksConfig;
import com.ljsd.jieling.config.STaskConfig;
import com.ljsd.jieling.config.STreasureTaskConfig;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.mission.*;
@ -284,7 +285,7 @@ public class MissionEventDistributor {
progress= MissionLoigc.getDoingProgress(user,user.getUserMissionManager().getDailyCumulationData(),sDailyTasksConfig.getType(),sDailyTasksConfig.getValues()[0]);
}else if(gameMisionType == GameMisionType.BEGINNERMISSION){
SBeginnerTask sBeginnerTask = SBeginnerTask.sBeginnerTaskCongigMap.get(missionStateChangeInfo.getMissionId());
progress= MissionLoigc.getDoingProgress(user,user.getUserMissionManager().getBegiinCumulationData(),sBeginnerTask.getTaskType(),sBeginnerTask.getTaskValue()[0]);
progress= MissionLoigc.getDoingProgress(user,user.getUserMissionManager().getBeginCumulationData(),sBeginnerTask.getTaskType(),sBeginnerTask.getTaskValue()[0]);
}
}else if(missionState == MissionState.FINISH || missionState == MissionState.REWARD){
if(gameMisionType == GameMisionType.VIPMISSION){
@ -299,6 +300,10 @@ public class MissionEventDistributor {
SBeginnerTask sBeginnerTask = SBeginnerTask.sBeginnerTaskCongigMap.get(missionStateChangeInfo.getMissionId());
progress= sBeginnerTask.getTaskValue()[1][0];
}
if(gameMisionType == GameMisionType.SEVENMISSION){
STreasureTaskConfig sTreasureTaskConfig = STreasureTaskConfig.sTreasureTaskConfigMap.get(missionStateChangeInfo.getMissionId());
progress= sTreasureTaskConfig.getTaskValue()[1][0];
}
}
builder.addUserMissionInfo(CommonProto.UserMissionInfo.newBuilder().setMissionId(missionStateChangeInfo.getMissionId()).setType(gameMisionType.getType()).setState(state).setProgress(progress).setTakeTimes(missionStateChangeInfo.getHadTakes()));
}

View File

@ -0,0 +1,86 @@
package com.ljsd.jieling.logic.mission.main;
import com.ljsd.jieling.config.SDailyTasksConfig;
import com.ljsd.jieling.config.STreasureTaskConfig;
import com.ljsd.jieling.logic.dao.CumulationData;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.mission.MissionLoigc;
import com.ljsd.jieling.logic.mission.MissionState;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
public class ServenMissionIdsType extends AbstractMissionType{
@Override
public void openMission(User user, int missionId,List<MissionStateChangeInfo> missionTypeEnumList) {
getDoingMissionIds().clear();
getFinishMissionIds().clear();
getDoingMissionIds().add(missionId);
}
@Override
public int[][] reward(int missionId) {
STreasureTaskConfig sTreasureTaskConfig = STreasureTaskConfig.sTreasureTaskConfigMap.get(missionId);
return sTreasureTaskConfig.getRewward();
}
@Override
public void calCumulationDataResult(User user, CumulationData.Result result, List<MissionStateChangeInfo> missionStateChangeInfos, CumulationData cumulationData) {
List<STreasureTaskConfig> sTaskConfigs = STreasureTaskConfig.sTreasureTaskConfigListByTypeMap.get(result.subType.getMissionTypeValue());
if (sTaskConfigs == null) {
return;
}
checkAndUpdateMision(user,sTaskConfigs,missionStateChangeInfos,cumulationData);
}
public void checkAndUpdateMision(User user,List<STreasureTaskConfig> sTaskConfigs, List<MissionStateChangeInfo> missionStateChangeInfos, CumulationData cumulationData){
Set<Integer> doingMissionIds = getDoingMissionIds();
for (STreasureTaskConfig sTaskConfig : sTaskConfigs) {
int missionId = sTaskConfig.getId();
if (!doingMissionIds.contains(missionId)) {
continue;
}
int finishParm = sTaskConfig.getTaskValue()[1][0];
int doingProgress = MissionLoigc.getDoingProgress(user, cumulationData, sTaskConfig.getTaskType(), sTaskConfig.getTaskValue()[0]);
if((doingProgress!=0 && finishParm<0 && ( doingProgress)>=finishParm)){
doingMissionIds.remove(sTaskConfig.getId());
getFinishMissionIds().add(sTaskConfig.getId());
MissionStateChangeInfo missionStateChangeInfo = new MissionStateChangeInfo(sTaskConfig.getId(), MissionState.FINISH,1);
missionStateChangeInfos.add(missionStateChangeInfo);
continue;
}
if(finishParm<0){
continue;
}
boolean isFinish = doingProgress >= sTaskConfig.getTaskValue()[1][0];
if (!isFinish) {
MissionStateChangeInfo doingInfo = new MissionStateChangeInfo(missionId,
MissionState.DOING, doingProgress);
boolean flag = false;
for (MissionStateChangeInfo missionStateChangeInfo : missionStateChangeInfos) {
if (missionStateChangeInfo.getMissionId() == missionId) {
flag = true;
}
}
if (!flag) {
missionStateChangeInfos.add(doingInfo);
}
continue;
}
MissionStateChangeInfo finishInfo = new MissionStateChangeInfo(missionId,
MissionState.FINISH, finishParm);
Iterator<MissionStateChangeInfo> iterator = missionStateChangeInfos.iterator();
while (iterator.hasNext()) {
MissionStateChangeInfo next = iterator.next();
if (next.getMissionId() == missionId) {
iterator.remove();
}
}
missionStateChangeInfos.add(finishInfo);
doingMissionIds.remove(missionId);
getFinishMissionIds().add(missionId);
}
}
}

View File

@ -15,6 +15,7 @@ import com.ljsd.jieling.logic.hero.HeroLogic;
import com.ljsd.jieling.logic.mail.MailLogic;
import com.ljsd.jieling.logic.mission.GameEvent;
import com.ljsd.jieling.logic.mission.MissionLoigc;
import com.ljsd.jieling.logic.mission.main.ServenMissionIdsType;
import com.ljsd.jieling.logic.mission.main.TreasureMissionType;
import com.ljsd.jieling.logic.store.GiftGoodsType;
import com.ljsd.jieling.network.session.ISession;
@ -405,7 +406,7 @@ public class PlayerLogic {
return;
}
STreasureTaskConfig sTreasureTaskConfig = STreasureTaskConfig.sTreasureSevenTaskConfigByActivityMap.get(treasureActivityId);
TreasureMissionType sevenHappyMissionType = user.getUserMissionManager().getSevenHappyMissionType();
ServenMissionIdsType sevenHappyMissionType = user.getUserMissionManager().getSevenHappyMissionType();
if(sevenHappyMissionType.getRewardedMissionIds().get(sTreasureTaskConfig.getId())){
MessageUtil.sendErrorResponse(iSession,0,msgId,"奖励已领取");
return;

View File

@ -172,9 +172,7 @@ public class ProtocolsManager implements ProtocolsAbstract {
return;
}
//处理多设备重登
if (dealRepeatLogin(session.getUid())==1){
return;
}
dealRepeatLogin(session.getUid());
//刷新token
refreshToken(session);
//在线列表加入session

View File

@ -85,6 +85,7 @@ public class ThreadManager {
LOGGER.info("delayForMinute---->>>>{}" ,delayForMinute);
scheduledExecutor.scheduleAtFixedRate(platConfigureTask, 10, SLEEP_INTEVAL_TIME, TimeUnit.SECONDS);
scheduledExecutor.scheduleAtFixedRate(new MinuteTask(), delayForMinute, 60, TimeUnit.SECONDS);
scheduledExecutor.scheduleAtFixedRate(new SecondsTask(), 0, 1, TimeUnit.SECONDS);
scheduledExecutor.scheduleAtFixedRate(new Thread(){
public void run () {
long lastMilis = System.currentTimeMillis();

View File

@ -0,0 +1,24 @@
package com.ljsd.jieling.thread.task;
import com.ljsd.jieling.logic.dao.GuilidManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class SecondsTask extends Thread {
private static final Logger LOGGER = LoggerFactory.getLogger(SecondsTask.class);
public SecondsTask(){
this.setName("SecondsTask");
}
@Override
public void run() {
try {
GuilidManager.checkNeedReleaseGuild();
} catch (Exception e) {
LOGGER.error("e",e);
}
}
}

View File

@ -350,7 +350,7 @@ public class CBean2Proto {
.setName(guildInfo.getName())
.setJoinType(guildInfo.getJoinType())
.setMaxNum(30)
.setLevle(guildInfo.getLevelTime())
.setLevelTime(guildInfo.getLevelTime())
.setLevle(guildInfo.getLevel())
.setExp(guildInfo.getExp())
.setTotalNum(guildInfo.getTotalMembers())