diff --git a/fightmanager/src/main/java/com/ljsd/fight/CheckFight.java b/fightmanager/src/main/java/com/ljsd/fight/CheckFight.java index 4fadbf029..74ae97c52 100644 --- a/fightmanager/src/main/java/com/ljsd/fight/CheckFight.java +++ b/fightmanager/src/main/java/com/ljsd/fight/CheckFight.java @@ -106,7 +106,7 @@ public class CheckFight { int[] resultCache = new int[8];//对方阵容走配置 Todo 后面结构走配置 resultCache[0]=status; resultCache[1]=duration; - // LOGGER.info(" lua check test fight result : "+ status); + LOGGER.info(" lua check test fight result : "+ status); for (int i = 1; i <= result.length(); i++) { long tolong = result.rawget(i).tolong(); if(tolong>0){ @@ -115,7 +115,7 @@ public class CheckFight { resultCache[i+1]= (int)Math.max((long) Integer.MIN_VALUE,tolong); } resultCache[i+1] = result.rawget(i).toint(); - // LOGGER.info(i+" --> 单位剩余血量 : "+ resultCache[i+1]); + LOGGER.info(i+" --> 单位剩余血量 : "+ resultCache[i+1]); } return resultCache; diff --git a/serverlogic/src/main/java/com/ljsd/GmService.java b/serverlogic/src/main/java/com/ljsd/GmService.java index cf3e03406..4eeba5540 100644 --- a/serverlogic/src/main/java/com/ljsd/GmService.java +++ b/serverlogic/src/main/java/com/ljsd/GmService.java @@ -127,7 +127,7 @@ public class GmService implements RPCRequestGMIFace.Iface { if (cmd.contains("delete")) { FightRecordLogic.getInstance().delete(); } else if (cmd.contains("all")){ - String allValue = FightRecordLogic.getInstance().getAll(Integer.parseInt(parameters[2])); + String allValue = FightRecordLogic.getInstance().getAll(Integer.parseInt(parameters[1])); result.setResultMsg(allValue); } else { String oneRecord = FightRecordLogic.getInstance().getOneRecord(parameters[0]); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/clazzStaticCfg/SArenaRobotStaticConfig.java b/serverlogic/src/main/java/com/ljsd/jieling/config/clazzStaticCfg/SArenaRobotStaticConfig.java index 7a83dd8e4..c0e50ab46 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/config/clazzStaticCfg/SArenaRobotStaticConfig.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/config/clazzStaticCfg/SArenaRobotStaticConfig.java @@ -1,5 +1,6 @@ package com.ljsd.jieling.config.clazzStaticCfg; +import com.ljsd.jieling.core.GlobalsDef; import com.ljsd.jieling.logic.hero.HeroLogic; import config.SArenaRobotConfig; import config.SCHero; @@ -7,6 +8,7 @@ import config.SWorkShopTechnology; import manager.AbstractClassStaticConfig; import manager.STableManager; import manager.Table; +import rpc.protocols.CommonProto; import util.MathUtils; import java.util.*; @@ -25,17 +27,28 @@ public class SArenaRobotStaticConfig extends AbstractClassStaticConfig { for(SArenaRobotConfig sArenaRobotConfig : integerSArenaRobotConfigMap.values()){ List heroList = sArenaRobotConfig.getHeroList(); - int heroLevel = sArenaRobotConfig.getRobotLevel(); - Map starHeroMap = new HashMap<>(); + int heroLevel = sArenaRobotConfig.getRoleLv(); + + Map heroMap = new HashMap<>(); for(Integer heroTid :heroList){ SCHero scHero = SCHero.getsCHero().get(heroTid); if(null ==scHero){ throw new IllegalArgumentException("sArenaRobotConfig id "+sArenaRobotConfig.getId()+"机器人英雄模板id找不到 heroTid:"+heroTid); } - int heroBreakId = HeroLogic.getInstance().calRobotStarByLevel(heroTid, heroLevel,starHeroMap); - sArenaRobotConfig.setBreakId(heroBreakId); - sArenaRobotConfig.setStarOfHeroMap(starHeroMap); + + CommonProto.Hero.Builder heroBuilder = CommonProto.Hero.newBuilder(); + + int heroStarBreakId = HeroLogic.getInstance().calRobotStarByLevel(heroTid,heroLevel,heroBuilder); + int heroBreakId = HeroLogic.getInstance().calRobotBreaByLevel(heroTid,heroLevel,heroBuilder); + + heroBuilder.setId(String.valueOf(scHero.getId())); + heroBuilder.setHeroId(scHero.getId()); + heroBuilder.setLevel(heroLevel); + heroBuilder.setStarBreakId(heroStarBreakId); + heroBuilder.setBreakId(heroBreakId); + heroMap.put(heroTid,heroBuilder.build()); } + sArenaRobotConfig.setHeroMapList(heroMap); int totleForce = HeroLogic.getInstance().calRobotTotalForce(sArenaRobotConfig); sArenaRobotConfig.setTotalForce(totleForce); LinkedList integers = force2robotId.get(totleForce); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/core/function/CarDelayFunction.java b/serverlogic/src/main/java/com/ljsd/jieling/core/function/CarDelayFunction.java index 9c26d6eed..e4d28e185 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/core/function/CarDelayFunction.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/core/function/CarDelayFunction.java @@ -44,9 +44,14 @@ public class CarDelayFunction implements FunctionManager { @Override public void closeAction() throws Exception { - Map> rewardByTypeAndRankMap = SWorldBossRewardConfig.rewardByTypeAndRankMap; + // 获取车迟斗法当前boss的索引id + int indexId = GuildFightLogic.carDelayProgressIndication.getBossIndexId(); + // 根据索引id取出当前的奖励配置 + Map> rewardByTypeAndRankMap = SWorldBossRewardConfig.rewardByBossIdMap.get(indexId); + TreeMap personRewardConfigTreeMap = rewardByTypeAndRankMap.get(2); TreeMap guildRewardConfigTreeMap = rewardByTypeAndRankMap.get(1); + Set> personRangeWithScores = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.CAR_DEALY_RANK, "", 0, -1); int rank=0; String personTitle = SErrorCodeEerverConfig.getI18NMessage("family_fight_rank_personreward_title"); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/globals/BIReason.java b/serverlogic/src/main/java/com/ljsd/jieling/globals/BIReason.java index 84fcafd60..6e07634af 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/globals/BIReason.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/globals/BIReason.java @@ -306,4 +306,6 @@ public interface BIReason { int NEW_GENERAL_ATTACK = 1076;//新将来袭 int WORLD_ARENA = 1077;//跨服竞技场 + + int SHEJI_ACTIVITY_INIT_CONSUME = 1078;//社稷大典开始清除往期道具 } \ No newline at end of file diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetDemonsTrialRewardHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetDemonsTrialRewardHandler.java new file mode 100644 index 000000000..5428dd9ba --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetDemonsTrialRewardHandler.java @@ -0,0 +1,61 @@ +package com.ljsd.jieling.handler; + +import com.google.protobuf.GeneratedMessage; +import com.ljsd.jieling.exception.ErrorCode; +import com.ljsd.jieling.exception.ErrorCodeException; +import com.ljsd.jieling.globals.BIReason; +import com.ljsd.jieling.logic.dao.UserManager; +import com.ljsd.jieling.logic.dao.root.User; +import com.ljsd.jieling.logic.item.ItemLogic; +import com.ljsd.jieling.util.ItemUtil; +import config.SFloodConfig; +import manager.STableManager; +import org.springframework.stereotype.Component; +import rpc.protocols.CommonProto; +import rpc.protocols.MapInfoProto; +import rpc.protocols.MessageTypeProto; + +import java.util.Set; + +/** + * 心魔试炼领取奖励 + */ +@Component +public class GetDemonsTrialRewardHandler extends BaseHandler { + @Override + public MessageTypeProto.MessageType getMessageCode() { + return MessageTypeProto.MessageType.DemonsTrialRewardRequest; + } + + @Override + public GeneratedMessage processWithProto(int uid, MapInfoProto.DemonsTrialRewardRequest proto) throws Exception { + + // 用户信息 + User user = UserManager.getUser(uid); + if (user == null) { + throw new ErrorCodeException(ErrorCode.UNKNOWN); + } + // 层id + int layerId = proto.getLayerId(); + // 奖励是否已经领取 + Set rewardInfo = user.getMapManager().getDemonsTrialRewardInfo(); + if (rewardInfo.contains(layerId)) { + throw new ErrorCodeException(ErrorCode.HAD_TAKE_REWARD); + } + // 表里是否有配置 + SFloodConfig sFloodConfig = STableManager.getConfig(SFloodConfig.class).get(layerId); + int[][] reward = sFloodConfig.getSpecialReward(); + if (reward == null || reward.length <= 0) { + throw new ErrorCodeException(ErrorCode.SYS_ERROR_CODE); + } + + // 道具逻辑,封装好的 + CommonProto.Drop.Builder drop = CommonProto.Drop.newBuilder(); + // 领取奖励 + ItemUtil.drop(user, reward, drop, BIReason.MONSTERATTACK_REWARD); + + user.getMapManager().addDemonsTrialRewardInfo(layerId); + + return MapInfoProto.DemonsTrialRewardResponse.newBuilder().setDrop(drop).build(); + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java index a7eac2c1c..485ae1d84 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java @@ -27,7 +27,6 @@ import com.ljsd.jieling.netty.cocdex.PacketNetData; import com.ljsd.jieling.network.session.ISession; import rpc.protocols.CommonProto; import rpc.protocols.MessageTypeProto; -import rpc.protocols.PlayerInfoProto; import com.ljsd.jieling.thread.task.RPCServerTask; import com.ljsd.jieling.util.CBean2Proto; import com.ljsd.jieling.util.ItemUtil; @@ -37,6 +36,7 @@ import manager.STableManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; +import rpc.protocols.PlayerInfoProto; import util.TimeUtils; import java.util.*; @@ -220,6 +220,7 @@ public class GetPlayerInfoHandler extends BaseHandler{ .setHadLuckTime( user.getPlayerInfoManager().getLuckWheelLimitTime()) .setHadAdvanceLuckTime(user.getPlayerInfoManager().getLuckAdvanceWheelLimitTime()) .setWorldLeve(GlobleSystemLogic.getGloableWorldLeveCache()) + .addAllDemonsTrialRewardInfo(user.getMapManager().getDemonsTrialRewardInfo()) .build(); ReportUtil.onReportEvent(user, ReportEventEnum.APP_LOGIN.getType()); try { diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/ServerFiveHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/ServerFiveHandler.java deleted file mode 100644 index 4d2363331..000000000 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/ServerFiveHandler.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.ljsd.jieling.handler; - -import com.ljsd.jieling.logic.GlobalDataManaager; -import com.ljsd.jieling.logic.dao.UserManager; -import com.ljsd.jieling.netty.cocdex.PacketNetData; -import com.ljsd.jieling.network.session.ISession; -import rpc.protocols.MessageTypeProto; -import rpc.protocols.PlayerInfoProto; -import org.springframework.stereotype.Component; - -@Component -public class ServerFiveHandler extends BaseHandler{ - @Override - public MessageTypeProto.MessageType getMessageCode() { - return MessageTypeProto.MessageType.SERVER_FIVE_REQEUST; - } - - @Override - public void process(ISession iSession, PacketNetData netData) throws Exception { - GlobalDataManaager.checkNeedReFlush(iSession, UserManager.getUser(iSession.getUid()), PlayerInfoProto.FivePlayerUpdateIndication.newBuilder()); - - } -} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/ServerZeroHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/ServerZeroHandler.java index 852b408db..f10c19bce 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/ServerZeroHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/ServerZeroHandler.java @@ -25,7 +25,7 @@ public class ServerZeroHandler extends BaseHandler { GlobalDataManaager.flushGoodsTimes(user); PlayerLogic.getInstance().sendDayilyMail(user,-1); user.getUserMissionManager().onGameEvent(user, GameEvent.LOGIN_GAME,0); - + GlobalDataManaager.checkNeedReFlush(session, UserManager.getUser(session.getUid()), PlayerInfoProto.FivePlayerUpdateIndication.newBuilder()); // int indicationIndex = session.getIndicationIndex(); // byte[] byteBuf = MessageUtil.wrappedBuffer(session.getUid(), session.getToken(), indicationIndex,1, MessageTypeProto.MessageType.ZeroPlayerUpdateIndication_VALUE, PlayerInfoProto.ZeroPlayerUpdateIndication.newBuilder().build()); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/NewGeneralAttackHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/NewGeneralAttackHandler.java index 4cc904e61..a94581f19 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/NewGeneralAttackHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/NewGeneralAttackHandler.java @@ -13,6 +13,7 @@ import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.fight.*; import com.ljsd.jieling.logic.fight.result.FightResult; +import com.ljsd.jieling.logic.item.ItemLogic; import com.ljsd.jieling.logic.player.PlayerLogic; import com.ljsd.jieling.util.ItemUtil; import config.SMonsterConfig; @@ -59,6 +60,7 @@ public class NewGeneralAttackHandler extends BaseHandler dropResult = new ArrayList<>(); for (int i = 0; i < hurtList.length; i++) { // 当前类型奖励次数 - float v = b / hurtList[i][0]; + int v = (int)b / hurtList[i][0]; dropList[0] = hurtList[i][1]; ItemUtil.drop(user, dropList,drop,v,0, BIReason.NEW_GENERAL_ATTACK); - dropResult.add(dropList[0] + "#" + v); } // 消耗道具 PlayerLogic.getInstance().checkAndUpdate(user, proto.getPrivilageTypeId(),1); + // 战报记录,奖励信息 + List dropResult = new ArrayList<>(); + List list = drop.build().getItemlistList(); + for (int i = 0; i < list.size(); i++) { + String str = list.get(i).getItemId() + "#" + list.get(i).getItemNum(); + dropResult.add(str); + } + // 埋点 - ReportUtil.onReportEvent(user, ReportEventEnum.VANQUISH_BOSS.getType(), monsterGroupId,checkResult[0],hurtResult,dropResult); + ReportUtil.onReportEvent(user, ReportEventEnum.VANQUISH_BOSS.getType(), monsterId,(int)lessBlood,dropResult); return ActivityProto.NewGeneralAttackResponse.newBuilder().setFightData(fightData).setDrop(drop).build(); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapManager.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapManager.java index 5477c8a8b..beec5d133 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapManager.java @@ -107,6 +107,8 @@ public class MapManager extends MongoBase { private int lastMonsterAttack =1;//兽潮来袭波数 + private Set demonsTrialRewardInfo;// 心魔试炼已领取奖励 + private Set playedMapType = new HashSet<>(); private TrialInfo trialInfo = new TrialInfo(); @@ -860,7 +862,26 @@ public class MapManager extends MongoBase { public void setCurrentJourneyId(int currentJourneyId) { this.currentJourneyId = currentJourneyId; updateString("currentJourneyId",currentJourneyId); + } + public Set getDemonsTrialRewardInfo() { + if (demonsTrialRewardInfo == null){ + return new TreeSet<>(); + } + return demonsTrialRewardInfo; + } + + public void setDemonsTrialRewardInfo(Set demonsTrialRewardInfos) { + demonsTrialRewardInfo = demonsTrialRewardInfos; + updateString("demonsTrialRewardInfo",demonsTrialRewardInfo); + } + + public void addDemonsTrialRewardInfo(int layerId) { + if (demonsTrialRewardInfo == null){ + demonsTrialRewardInfo = new TreeSet<>(); + } + demonsTrialRewardInfo.add(layerId); + updateString("demonsTrialRewardInfo",demonsTrialRewardInfo); } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_role_gm.java b/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_role_gm.java index 370b01a3c..267a9d5ac 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_role_gm.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_role_gm.java @@ -16,6 +16,7 @@ import com.ljsd.jieling.logic.dao.*; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.expedition.ExpeditionLogic; import com.ljsd.jieling.logic.hero.HeroLogic; +import rpc.protocols.CommonProto; import rpc.protocols.Expedition; import rpc.protocols.MessageTypeProto; import com.ljsd.jieling.util.MessageUtil; @@ -156,14 +157,14 @@ public class Cmd_role_gm extends GmRoleAbstract { SnapFightInfo fightInfo = new SnapFightInfo(); int force = sArenaRobotConfig.getTotalForce(); Map heroAllAttribute = new HashMap<>(); - Map heroStarsMap = sArenaRobotConfig.getStarOfHeroMap(); + Map heroMapList = sArenaRobotConfig.getHeroMapList(); Map bossHP = new HashMap<>(); int inner=1; - for (Map.Entry item : heroStarsMap.entrySet()) { + for (Map.Entry item : heroMapList.entrySet()) { StringBuilder skillSb = new StringBuilder(); Integer heroTid = item.getKey(); - Integer heroStar = item.getValue(); + Integer heroStar = item.getValue().getStar(); SCHero scHero = SCHero.getsCHero().get(heroTid); List skillIds = scHero.getSkillListByStar(heroStar); @@ -175,7 +176,7 @@ public class Cmd_role_gm extends GmRoleAbstract { int[] differDemonsId = sArenaRobotConfig.getDifferDemonsId(); int differDemonsLv = sArenaRobotConfig.getDifferDemonsLv(); int robotLevel = sArenaRobotConfig.getRoleLv(); - Map robotHeroAttribute = HeroLogic.getInstance().calRobotHeroAttribute(scHero, robotLevel, sArenaRobotConfig.getBreakId(), differDemonsId, differDemonsLv, false); + Map robotHeroAttribute = HeroLogic.getInstance().calRobotHeroAttribute(scHero, robotLevel, 0, differDemonsId, differDemonsLv, false); heroAllAttribute.put(heroTid.toString(), new FamilyHeroInfo(heroTid, robotLevel, heroStar, robotHeroAttribute,inner++)); // String property = HeroLogic.getInstance().getRobotHeroProperty(sArenaRobotConfig,scHero,propertySb,robotHeroAttribute).toString(); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/ReportEventEnum.java b/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/ReportEventEnum.java index 68926f388..a0c2fdb20 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/ReportEventEnum.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/ReportEventEnum.java @@ -95,7 +95,7 @@ public enum ReportEventEnum { ARENA_CHALLENGE(66,"arena_challenge",CommonEventHandler.getInstance(),new String[]{"battle_result","own_integral_num","rewards_num","own_new_integral_num","own_ranking","role_id","enemy_integral_num","new_enemy_integral_num","enemy_ranking","hero1","hero2","hero3","hero4","hero5","hero6","attack_pokemon","defend_hero1","defend_hero2","defend_hero3","defend_hero4","defend_hero5","defend_hero6","defend_pokemon"}), CEREMONY(67,"ceremony",CommonEventHandler.getInstance(),new String[]{"cost_item_id","integral_num","new_integral_num","own_ranking","guild_ranking"}), TREASURE_SUMMON(68,"treasure_summon",CommonEventHandler.getInstance(),new String[]{"beast_id","summon_type","cost_item_id","cost_amount","reward_nums_list"}),// 降妖夺宝 - VANQUISH_BOSS(69,"vanquish_boss",CommonEventHandler.getInstance(),new String[]{"boss_id","battle_result","damage_num","reward_nums_list"}),// 新将来袭 + VANQUISH_BOSS(69,"vanquish_boss",CommonEventHandler.getInstance(),new String[]{"boss_id","damage_num","reward_nums_list"}),// 新将来袭 VIP_LEVEL_UP(100,"", new VipLevelUpEventHandler(),new String[]{""}); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java index c7933b72e..00cdfd114 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java @@ -331,7 +331,7 @@ public class GlobalDataManaager implements IManager { public static void checkNeedReFlush(ISession session,User user,PlayerInfoProto.FivePlayerUpdateIndication.Builder fBuilder) throws Exception { // 需要隔天刷新的字段统一在这里处理 - if (TimeUtils.isOverTime(5,user.getPlayerInfoManager().getLoginTime())) { + if (TimeUtils.isOverTime(0,user.getPlayerInfoManager().getLoginTime())) { //活动刷新 ActivityLogic.getInstance().flushEveryDay(user,fBuilder); PlayerLogic.getInstance().vipflushEveryDay(user,fBuilder); @@ -345,7 +345,7 @@ public class GlobalDataManaager implements IManager { PlayerLogic.getInstance().sendTimingMail(user); user.getGuildMyInfo().setLastHurt(0); // GuildChallengeLogic.getInstance().resetBossDamage(user); - if(TimeUtils.isSpanTime(user.getPlayerInfoManager().getLoginTime(),TimeUtils.now(),1,5)){ + if(TimeUtils.isSpanTime(user.getPlayerInfoManager().getLoginTime(),TimeUtils.now(),1,0)){ user.getPlayerInfoManager().updateSituationPass(new HashMap<>()); } if(fBuilder!=null){ @@ -450,9 +450,6 @@ public class GlobalDataManaager implements IManager { case 0: number = MessageTypeProto.MessageType.SERVER_ZERO_REQUEST_VALUE; break; - case 5: - number = MessageTypeProto.MessageType.SERVER_FIVE_REQEUST_VALUE; - break; default:{ LOGGER.info("everTask wrong case=>{}", hour); break; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/SituationLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/SituationLogic.java index e04f6559c..757bd56fc 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/SituationLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/SituationLogic.java @@ -69,7 +69,7 @@ public class SituationLogic { overTime = new int[4]; doCheck(); }else{ - if(TimeUtils.getHourOfDay()!=5){ + if(TimeUtils.getHourOfDay()!=0){ return; } doCheck(); @@ -82,9 +82,6 @@ public class SituationLogic { long now = TimeUtils.now(); int hourOfDay = TimeUtils.getHourOfDay(); int week = TimeUtils.getDayOfWeek(); - if(hourOfDay<5){ - week = week==1?7:week-1; - } boolean isIndication = false; for(int[] config:openConfig){ boolean isOpen = false; @@ -98,12 +95,12 @@ public class SituationLogic { isIndication = true; } status[config[0]-1] = isOpen?1:0; - overTime[config[0]-1] =isOpen?(int)(TimeUtils.getLastOrUnderHour(now,5,0,false)/1000):0; + overTime[config[0]-1] =isOpen?(int)(TimeUtils.getLastOrUnderHour(now,0,0,false)/1000):0; } if(isIndication){ //周一刷新 boolean remove = false; - if(TimeUtils.getDayOfWeek()==1&&TimeUtils.getHourOfDay()==5&&TimeUtils.getMiunte()==0){ + if(TimeUtils.getDayOfWeek()==1&&TimeUtils.getHourOfDay()==0&&TimeUtils.getMiunte()==0){ remove = true; } if(remove){ diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java index 5b5bf4da3..c6fdc37e8 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java @@ -1332,12 +1332,12 @@ public class ActivityLogic implements IEventHandler{ } public void getTreasureNextRefreshTime(ISession session,MessageTypeProto.MessageType messageType) throws Exception { - int dayRefreshTime=(int) (TimeUtils.getLastOrUnderHour(TimeUtils.now(), 5,0, false)/1000); + int dayRefreshTime=(int) (TimeUtils.getLastOrUnderHour(TimeUtils.now(), 0,0, false)/1000); int uid = session.getUid(); User user = UserManager.getUser(uid); PlayerInfoProto.TreasureRefreshTimeResponse response; if(user.getActivityManager().getActivityMissionMap().containsKey(801)){ - int weekRefreshTime = (int)(TimeUtils.getNextWeekendStartTime(1,5)/1000); + int weekRefreshTime = (int)(TimeUtils.getNextWeekendStartTime(1,0)/1000); response = PlayerInfoProto.TreasureRefreshTimeResponse.newBuilder().setDayTime(dayRefreshTime).setWeekTime(weekRefreshTime).build(); }else{ long weekRefresh = user.getUserMissionManager().getTreasureMissionIdsType().getWeekRefresh(); @@ -1347,8 +1347,8 @@ public class ActivityLogic implements IEventHandler{ } public void getJadeDynastyNextRefreshTime(ISession session,MessageTypeProto.MessageType messageType) throws Exception { - int dayRefreshTime=(int) (TimeUtils.getLastOrUnderHour(TimeUtils.now(), 5,0, false)/1000); - int weekRefreshTime = (int)(TimeUtils.getNextWeekendStartTime(1,5)/1000); + int dayRefreshTime=(int) (TimeUtils.getLastOrUnderHour(TimeUtils.now(), 0,0, false)/1000); + int weekRefreshTime = (int)(TimeUtils.getNextWeekendStartTime(1,0)/1000); PlayerInfoProto.JadeDynastyRefreshTimeResponse response = PlayerInfoProto.JadeDynastyRefreshTimeResponse.newBuilder().setDayTime(dayRefreshTime).setWeekTime(weekRefreshTime).build(); MessageUtil.sendMessage(session,1,messageType.getNumber(),response,true); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/NewEightActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/NewEightActivity.java index f03faa4c1..f222d9f72 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/NewEightActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/NewEightActivity.java @@ -21,7 +21,7 @@ public class NewEightActivity extends AbstractActivity { @Override boolean takeRewardsProcess(ISession session, SActivityRewardConfig sActivityRewardConfig, ActivityProgressInfo activityProgressInfo) throws Exception { User user = UserManager.getUser(session.getUid()); - if(TimeUtils.getOverTimeCount(user.getPlayerInfoManager().getCreateTime(),System.currentTimeMillis(),5) heroAllAttribute = new HashMap<>(); - Map heroStarsMap = sArenaRobotConfig.getStarOfHeroMap(); + Map heroMapList = sArenaRobotConfig.getHeroMapList(); Map bossHP = new HashMap<>(); int innerPosition= 1; - for (Map.Entry item : heroStarsMap.entrySet()) { + for (Map.Entry item : heroMapList.entrySet()) { StringBuilder skillSb = new StringBuilder(); Integer heroTid = item.getKey(); - Integer heroStar = item.getValue(); + Integer heroStar = item.getValue().getStar(); SCHero scHero = SCHero.getsCHero().get(heroTid); List skillIds = scHero.getSkillListByStar(heroStar); @@ -544,7 +544,7 @@ public class ExpeditionLogic { int[] differDemonsId = sArenaRobotConfig.getDifferDemonsId(); int differDemonsLv = sArenaRobotConfig.getDifferDemonsLv(); int robotLevel = sArenaRobotConfig.getRoleLv(); - Map robotHeroAttribute = HeroLogic.getInstance().calRobotHeroAttribute(scHero, robotLevel, sArenaRobotConfig.getBreakId(), differDemonsId, differDemonsLv, false); + Map robotHeroAttribute = HeroLogic.getInstance().calRobotHeroAttribute(scHero, robotLevel, 0, differDemonsId, differDemonsLv, false); heroAllAttribute.put(heroTid.toString(), new FamilyHeroInfo(heroTid, robotLevel, heroStar, robotHeroAttribute,innerPosition++)); // String property = HeroLogic.getInstance().getRobotHeroProperty(sArenaRobotConfig,scHero,propertySb,robotHeroAttribute).toString(); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildChallengeLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildChallengeLogic.java index 0a22079c5..16177d129 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildChallengeLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildChallengeLogic.java @@ -395,7 +395,7 @@ public class GuildChallengeLogic { throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); } guildInfo.setBuffIndex(guildInfo.getBuffIndex()+1); - int fiveTime = (int)(TimeUtils.getLastOrUnderHour(TimeUtils.now(), 5, 0, false)/1000); + int fiveTime = (int)(TimeUtils.getLastOrUnderHour(TimeUtils.now(), 0, 0, false)/1000); guildInfo.setBuffOverTime(Math.min(time,fiveTime)); } Family.GuildChallengeBuyBuffIndication indication = Family.GuildChallengeBuyBuffIndication.newBuilder() diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/FightRecordLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/FightRecordLogic.java index ca5c873d9..72ad635c1 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/FightRecordLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/FightRecordLogic.java @@ -85,7 +85,7 @@ public class FightRecordLogic { } // 获取类型数据 List strings = valueMap.get(multiKey); - if (strings.isEmpty()){ + if (strings == null || strings.isEmpty()){ return null; } // 遍历 diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/FightUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/FightUtil.java index d58fda5c9..98466940c 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/FightUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/FightUtil.java @@ -418,13 +418,13 @@ public class FightUtil { } private static CommonProto.FightTeamInfo getRobotFightTeamInfo(SArenaRobotConfig sArenaRobotConfig,Map remainHp) { List heroFightInfos = new ArrayList<>(); - Map heroStarsMap = sArenaRobotConfig.getStarOfHeroMap(); + Map heroMapList = sArenaRobotConfig.getHeroMapList(); int i=0; - for(Map.Entry item : heroStarsMap.entrySet()){ + for(Map.Entry item : heroMapList.entrySet()){ StringBuilder skillSb = new StringBuilder(); StringBuilder propertySb = new StringBuilder(); Integer heroTid = item.getKey(); - Integer heroStar = item.getValue(); + Integer heroStar = item.getValue().getStar(); SCHero scHero = SCHero.getsCHero().get(heroTid); List skillIds = scHero.getSkillListByStar(heroStar); String heroSkill = HeroLogic.getInstance().getRobotHeroSkills(skillIds,skillSb).toString(); @@ -432,7 +432,7 @@ public class FightUtil { int[] differDemonsId = sArenaRobotConfig.getDifferDemonsId(); int differDemonsLv = sArenaRobotConfig.getDifferDemonsLv(); int robotLevel = sArenaRobotConfig.getRoleLv(); - Map robotHeroAttribute =HeroLogic.getInstance(). calRobotHeroAttribute(scHero, robotLevel, sArenaRobotConfig.getBreakId(), differDemonsId, differDemonsLv,false); + Map robotHeroAttribute =HeroLogic.getInstance(). calRobotHeroAttribute(scHero, robotLevel, 0, differDemonsId, differDemonsLv,false); if(remainHp!=null&&remainHp.containsKey(heroTid.toString())){ robotHeroAttribute.put(HeroAttributeEnum.CurHP.getPropertyId(),(int)(remainHp.getOrDefault(heroTid.toString(),1d)*robotHeroAttribute.get(HeroAttributeEnum.Hp.getPropertyId()))); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java index e5bcda1c7..44fe7601d 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java @@ -1186,21 +1186,55 @@ public class HeroLogic{ return result; } - //根据英雄等级计算出brealId,从而也可以获取星级 - public int calRobotStarByLevel(int heroTid,int heroLevel,Map starHeroMap){ + /** + * 根据英雄等级计算出starBrealId + * @param heroTid + * @param heroLevel + * @param heroBuilder + * @return + */ + public int calRobotStarByLevel(int heroTid,int heroLevel,CommonProto.Hero.Builder heroBuilder){ SCHero scHero = SCHero.getsCHero().get(heroTid); int star = scHero.getStar(); Map scHeroRankUpConfigByType = STableManager.getFigureConfig(HeroStaticConfig.class).getScHeroRankUpConfigByShow(GlobalsDef.UP_STAR_TYPE,scHero.getStar()); if(scHeroRankUpConfigByType == null){ - scHeroRankUpConfigByType = STableManager.getFigureConfig(HeroStaticConfig.class).getScHeroRankUpConfigByShow(GlobalsDef.BREAK_TYPE,scHero.getStar()); + return 0; + } + // 无奈方式,代码写死验证机器人等级小于100级为未升星 + if (heroLevel <= 100){ + return 0; } for(SCHeroRankUpConfig scHeroRankUpConfig : scHeroRankUpConfigByType.values()){ - if (heroLevel>=scHeroRankUpConfig.getLimitLevel() && heroLevel <= scHeroRankUpConfig.getOpenLevel()){ - starHeroMap.put(heroTid,scHeroRankUpConfig.getOpenStar()); + if (heroLevel <= scHeroRankUpConfig.getOpenLevel()){ + heroBuilder.setStar(scHeroRankUpConfig.getOpenStar()); return scHeroRankUpConfig.getId(); } } - starHeroMap.put(heroTid,star); + heroBuilder.setStar(star); + return 0; + } + + /** + * 根据英雄等级计算出BrealId + * @param heroTid + * @param heroLevel + * @param heroBuilder + * @return + */ + public int calRobotBreaByLevel(int heroTid,int heroLevel,CommonProto.Hero.Builder heroBuilder){ + SCHero scHero = SCHero.getsCHero().get(heroTid); + int star = scHero.getStar(); + Map scHeroRankUpConfigByType = STableManager.getFigureConfig(HeroStaticConfig.class).getScHeroRankUpConfigByShow(GlobalsDef.BREAK_TYPE,scHero.getStar()); + if(scHeroRankUpConfigByType == null){ + return 0; + } + for(SCHeroRankUpConfig scHeroRankUpConfig : scHeroRankUpConfigByType.values()){ + if (heroLevel >= scHeroRankUpConfig.getLimitLevel() && heroLevel <= scHeroRankUpConfig.getOpenLevel()){ + heroBuilder.setStar(scHeroRankUpConfig.getOpenStar()); + return scHeroRankUpConfig.getId(); + } + } + heroBuilder.setStar(star); return 0; } @@ -1861,7 +1895,16 @@ public class HeroLogic{ return builder.toString(); } - + /** + * 计算机器人英雄熟悉 + * @param scHero + * @param heroLevel + * @param heroBrekId 调用方法calRobotHeroAllAttribute未使用该参数,所以可以传0 + * @param pokemonIds + * @param pokemonLevel + * @param isForce + * @return + */ public Map calRobotHeroAttribute(SCHero scHero,int heroLevel,int heroBrekId,int[] pokemonIds,int pokemonLevel,boolean isForce){ Map heroAllAttribute = calRobotHeroAllAttribute(scHero.getId(),heroLevel,heroBrekId,isForce); heroAllAttribute.put(HeroAttributeEnum.CurHP.getPropertyId(),heroAllAttribute.get(GlobalsDef.HP_TYPE)); @@ -2298,9 +2341,8 @@ public class HeroLogic{ int differDemonsLv = sArenaRobotConfig.getDifferDemonsLv(); int heroLevel = sArenaRobotConfig.getRoleLv(); for(Integer heroTid :heroList){ - int heroBreakId = sArenaRobotConfig.getBreakId(); SCHero scHero = SCHero.getsCHero().get(heroTid); - Map robotHeroAttribute = calRobotHeroAttribute(scHero, heroLevel, heroBreakId, differDemonsId, differDemonsLv,true); + Map robotHeroAttribute = calRobotHeroAttribute(scHero, heroLevel, 0, differDemonsId, differDemonsLv,true); totalForce+=calForce(robotHeroAttribute); } return totalForce; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java index f72886f24..f1a00f4bd 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java @@ -613,9 +613,9 @@ public class PlayerLogic { } teamInfo.setTotalForce(sArenaRobotConfig.getTotalForce()); int position = 1; - for(Map.Entry item : sArenaRobotConfig.getStarOfHeroMap().entrySet()){ + for(Map.Entry item : sArenaRobotConfig.getHeroMapList().entrySet()){ Integer heroTid = item.getKey(); - Integer heroStar = item.getValue(); + Integer heroStar = item.getValue().getStar(); teamInfo.addTeam(CommonProto.TeamSimpleInfo.newBuilder().setHeroid(String.valueOf(heroTid)).setHeroTid(heroTid).setLevel(sArenaRobotConfig.getRoleLv()).setStar(heroStar).setPosition(position++).build()); } oneInfo.setTeam(teamInfo); @@ -649,16 +649,15 @@ public class PlayerLogic { int[] differDemonsId = sArenaRobotConfig.getDifferDemonsId(); int differDemonsLv = sArenaRobotConfig.getDifferDemonsLv(); int heroLevel = sArenaRobotConfig.getRoleLv(); - int heroBreakId = sArenaRobotConfig.getBreakId(); SCHero scHero = SCHero.getsCHero().get(Integer.parseInt(robotHeroId)); - Map robotHeroAttribute = HeroLogic.getInstance().calRobotHeroAttribute(scHero, heroLevel, heroBreakId, differDemonsId, differDemonsLv,true); + Map robotHeroAttribute = HeroLogic.getInstance().calRobotHeroAttribute(scHero, heroLevel, 0, differDemonsId, differDemonsLv,true); for(Map.Entry item : robotHeroAttribute.entrySet()){ builder.addSpecialEffects(CommonProto.SpecialEffects.newBuilder().setPropertyId(item.getKey()).setPropertyValue(item.getValue()).build()); } builder.setForce(HeroLogic.getInstance().calForce(robotHeroAttribute)); - builder.setHero(CBean2Proto.getRobotHero(scHero,sArenaRobotConfig)); + builder.setHero(sArenaRobotConfig.getHeroMapList().get(scHero.getId())); int resMsgId = MessageTypeProto.MessageType.VIEW_HERO_INFO_RESPONSE_VALUE; MessageUtil.sendMessage(session,1,resMsgId,builder.build(),true); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/AbstractRank.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/AbstractRank.java index 00c500e94..7afef9e6d 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/AbstractRank.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/AbstractRank.java @@ -6,10 +6,10 @@ import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.rank.IRank; import rpc.protocols.CommonProto; -import rpc.protocols.PlayerInfoProto; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.data.redis.core.ZSetOperations; +import rpc.protocols.PlayerInfoProto; import java.util.Objects; import java.util.Set; @@ -34,7 +34,7 @@ public abstract class AbstractRank implements IRank { * @return 当前排行榜数据 * @throws Exception */ - public PlayerInfoProto.RankResponse getRank(int uid,String rkey,int page,int rankEndLine) throws Exception { + public PlayerInfoProto.RankResponse getRank(int uid, String rkey, int page, int rankEndLine) throws Exception { if(rankEndLine==-1){ rankEndLine = 100; } @@ -102,6 +102,9 @@ public abstract class AbstractRank implements IRank { } ZSetOperations.TypedTuple data = rankByKey.iterator().next(); User everyUser = UserManager.getUser(Integer.parseInt(data.getValue()), true); + if (everyUser == null){ + return builder; + } CommonProto.RankInfo.Builder everyRankInfo = CommonProto.RankInfo.newBuilder() .setRank(1) .setParam1(getParam1(data.getScore())) @@ -121,9 +124,12 @@ public abstract class AbstractRank implements IRank { }); return builder; } - protected void getOptional(int index,ZSetOperations.TypedTuple data,PlayerInfoProto.RankResponse.Builder builder) throws Exception { + protected void getOptional(int index,ZSetOperations.TypedTuple data,PlayerInfoProto.RankResponse.Builder builder) throws Exception { User everyUser = UserManager.getUser(Integer.parseInt(data.getValue()), true); + if (everyUser == null){ + return; + } CommonProto.RankInfo.Builder everyRankInfo = CommonProto.RankInfo.newBuilder() .setRank(index) .setParam1(getParam1(data.getScore())) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MinuteTask.java b/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MinuteTask.java index 326eb6036..7d254d865 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MinuteTask.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MinuteTask.java @@ -91,12 +91,6 @@ public class MinuteTask extends Thread { e.printStackTrace(); LOGGER.error("Exception::=>{}",e.toString()); } - try { - everyFiveTask(); - }catch (Exception e){ - e.printStackTrace(); - LOGGER.error("Exception::=>{}",e.toString()); - } try { everyMondyFiveClockTask(); }catch (Exception e){ @@ -168,23 +162,7 @@ public class MinuteTask extends Thread { } } - //弃用 -// private void fiveMinuteOnlineSend() { -// Calendar calendar = Calendar.getInstance(); -// int minute = calendar.get(Calendar.MINUTE); -// if(minute%5 == 0){ -// KTAppOnline ktAppOnline = new KTAppOnline(); -// int onlineNum = OnlineUserManager.sessionMap.size(); -// ParamEventBean paramEventBean = new ParamEventBean(ParamEventBean.OnlineEvent); -// int time =(int)(calendar.getTimeInMillis()/1000); -// paramEventBean.add(String.valueOf(time)); -// paramEventBean.add(String.valueOf(onlineNum)); -// ktAppOnline.setParam_event(paramEventBean); -// ktAppOnline.setParam_data(KtBeanBuilderUtils.paramDataBuildForSystem()); -// ktAppOnline.getParam_data().setCategory_s(LoginParamType.DATA_CATEGORY_APP); -// DataMessageUtils.addLogQueue(ktAppOnline); -// } -// } + //每分钟异步上报在线人数 private void reportUserOnline() { new OnlineUserReportTask().start(); @@ -206,28 +184,17 @@ public class MinuteTask extends Thread { LOGGER.info("everyHourTask end ..."); } } + + //每日凌晨零点执行 public void everyZeroTask() throws Exception { Calendar calendar = Calendar.getInstance(); int hour = calendar.get(Calendar.HOUR_OF_DAY); int minute = calendar.get(Calendar.MINUTE); if(hour == 0 && minute ==0){ - LOGGER.info("DailyOfZeroTask start ..."); - ArenaLogic.getInstance().sendReward(GlobalsDef.ARENA_DAILY_REWARD); - GlobalDataManaager.everTask(0); - LOGGER.info("DailyOfZeroTask end ..."); - } - } - - - //每日凌晨五点执行 - public void everyFiveTask() throws Exception { - Calendar calendar = Calendar.getInstance(); - int hour = calendar.get(Calendar.HOUR_OF_DAY); - int minute = calendar.get(Calendar.MINUTE); - if(hour == 5 && minute ==0){ //保证每分钟线程 try { + ArenaLogic.getInstance().sendReward(GlobalsDef.ARENA_DAILY_REWARD); Map guildInfoMap = GuilidManager.guildInfoMap; for(Map.Entry guildInfoEntry:guildInfoMap.entrySet()){ RedisUtil.getInstence().del(RedisKey.getKey(RedisKey.GUILD_RED_PACKAGE_RANK,String.valueOf(guildInfoEntry.getKey()),false)); @@ -265,7 +232,7 @@ public class MinuteTask extends Thread { LOGGER.info("DailyOfFiveTask start ..."); - GlobalDataManaager.everTask(5); + GlobalDataManaager.everTask(0); LOGGER.info("DailyOfFiveTask end ..."); } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java b/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java index 7af63dc10..227b26eec 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java @@ -110,7 +110,7 @@ public class CBean2Proto { .build(); } - public static CommonProto.Hero getRobotHero(SCHero scHero, SArenaRobotConfig sArenaRobotConfig) throws Exception { + /* public static CommonProto.Hero getRobotHero(SCHero scHero, SArenaRobotConfig sArenaRobotConfig) throws Exception { return CommonProto.Hero .newBuilder() .setId(String.valueOf(scHero.getId())) @@ -118,8 +118,9 @@ public class CBean2Proto { .setLevel(sArenaRobotConfig.getRoleLv()) .setStar(sArenaRobotConfig.getStarOfHeroMap().get(scHero.getId())) .setBreakId(sArenaRobotConfig.getBreakId()) + .setStarBreakId(sArenaRobotConfig.getStarBreakId()) .build(); - } + }*/ public static CommonProto.Mail getMail(Mail mail){ CommonProto.Mail.Builder mailProto = CommonProto.Mail diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/MessageUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/util/MessageUtil.java index a0f239593..775c184d0 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/MessageUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/MessageUtil.java @@ -37,8 +37,8 @@ public class MessageUtil { backMessage = new byte[0]; } else { backMessage = generatedMessage.toByteArray(); - if (backMessage.length != 0) - LOGGER.info("wrappedBuffer uid=>{}, generatedMessage=>{}", uid, JsonFormat.printToString(generatedMessage)); +// if (backMessage.length != 0) +// LOGGER.info("wrappedBuffer uid=>{}, generatedMessage=>{}", uid, JsonFormat.printToString(generatedMessage)); } return wrappedBuffer(uid, token, index, result, msgId, backMessage); diff --git a/tablemanager/src/main/java/config/SArenaRobotConfig.java b/tablemanager/src/main/java/config/SArenaRobotConfig.java index fc81af7c3..a72e0ec2c 100644 --- a/tablemanager/src/main/java/config/SArenaRobotConfig.java +++ b/tablemanager/src/main/java/config/SArenaRobotConfig.java @@ -2,6 +2,7 @@ package config; import manager.STableManager; import manager.Table; +import rpc.protocols.CommonProto; import java.util.ArrayList; import java.util.HashMap; @@ -34,11 +35,15 @@ public class SArenaRobotConfig implements BaseConfig { private int breakId; + private int starBreakId; + private Map starOfHeroMap; + private Map heroMapList; + private static Map> sArenaRobotConfigByPoolMap; - private static Map sArenaRobotConfigMap; + private static Map sArenaRobotConfigMap; @Override @@ -123,23 +128,15 @@ public class SArenaRobotConfig implements BaseConfig { this.totalForce = totalForce; } - public Map getStarOfHeroMap() { - return starOfHeroMap; - } - - public int getBreakId() { - return breakId; - } - - public void setBreakId(int breakId) { - this.breakId = breakId; - } - - public void setStarOfHeroMap(Map starOfHeroMap) { - this.starOfHeroMap = starOfHeroMap; - } - public int getRobotLevel() { return robotLevel; } + + public Map getHeroMapList() { + return heroMapList; + } + + public void setHeroMapList(Map heroMapList) { + this.heroMapList = heroMapList; + } } \ No newline at end of file diff --git a/tablemanager/src/main/java/config/SFloodConfig.java b/tablemanager/src/main/java/config/SFloodConfig.java index 01fd9f758..9f30ec9d7 100644 --- a/tablemanager/src/main/java/config/SFloodConfig.java +++ b/tablemanager/src/main/java/config/SFloodConfig.java @@ -13,6 +13,10 @@ public class SFloodConfig implements BaseConfig { private int battleTime; + private int force; + + private int[][] specialReward; + @Override public void init() throws Exception { } @@ -34,5 +38,11 @@ public class SFloodConfig implements BaseConfig { return battleTime; } + public int getForce() { + return force; + } + public int[][] getSpecialReward() { + return specialReward; + } } \ No newline at end of file diff --git a/tablemanager/src/main/java/config/SWorldBossRewardConfig.java b/tablemanager/src/main/java/config/SWorldBossRewardConfig.java index 213a7433c..8456952da 100644 --- a/tablemanager/src/main/java/config/SWorldBossRewardConfig.java +++ b/tablemanager/src/main/java/config/SWorldBossRewardConfig.java @@ -19,23 +19,36 @@ public class SWorldBossRewardConfig implements BaseConfig { private int type; - public static Map> rewardByTypeAndRankMap = new HashMap<>(); + private int bossId; + /** + * 类型,排名,奖励 + */ + public static Map> rewardByTypeAndRankMap = new HashMap<>(); + /** + * boss索引id,类型,排名,奖励 + */ + public static Map>> rewardByBossIdMap = new HashMap<>(); @Override public void init() throws Exception { Map config = STableManager.getConfig(SWorldBossRewardConfig.class); - Map> rewardByTypeAndRankMapTmp = new HashMap<>(); + Map> rewardByTypeAndRankMapTmp = new HashMap<>(); + Map>> rewardByBossIdMapTmp = new HashMap<>(); config.forEach((id,item)->{ rewardByTypeAndRankMapTmp.putIfAbsent(item.getType(),new TreeMap<>()); rewardByTypeAndRankMapTmp.get(item.getType()).put(item.getSection()[0], StringUtil.parseArrayToString(item.getReward())); - }); - rewardByTypeAndRankMap = rewardByTypeAndRankMapTmp; + rewardByBossIdMapTmp.putIfAbsent(item.getBossId(),new TreeMap<>()); + rewardByBossIdMapTmp.get(item.getBossId()).putIfAbsent(item.getType(),new TreeMap<>()); + rewardByBossIdMapTmp.get(item.getBossId()).get(item.getType()).put(item.getSection()[0], StringUtil.parseArrayToString(item.getReward())); + }); + + rewardByTypeAndRankMap = rewardByTypeAndRankMapTmp; + rewardByBossIdMap = rewardByBossIdMapTmp; } - - public int getId() { + public int getId() { return id; } @@ -50,4 +63,8 @@ public class SWorldBossRewardConfig implements BaseConfig { public int getType() { return type; } + + public int getBossId() { + return bossId; + } } \ No newline at end of file