diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/WorldTreasureReward.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/WorldTreasureReward.java index d3885eb87..8d7c45144 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/WorldTreasureReward.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/WorldTreasureReward.java @@ -20,7 +20,11 @@ public class WorldTreasureReward extends MongoBase { public void reset(int round){ if(createTime == 0){ - createTime =(int)(TimeUtils.getAppointTime(0)); + createTime =(int)((TimeUtils.getLastOrUnderHour(TimeUtils.now(), 5,0, true)+TimeUtils.DAY*5)/1000); + }else{ + do{ + createTime+=TimeUtils.DAY*5/1000; + }while(createTime(); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/expedition/ExpeditionLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/expedition/ExpeditionLogic.java index bc99382ca..6ff5c42fe 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/expedition/ExpeditionLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/expedition/ExpeditionLogic.java @@ -763,39 +763,39 @@ public class ExpeditionLogic { if(createTime==0){ return; } - SExpeditionSetting sExpeditionSetting = STableManager.getConfig(SExpeditionSetting.class).get(1); - int[][] treasureTime = sExpeditionSetting.getTreasureTime(); - int differentDays = TimeUtils.differentDays(createTime * 1000, TimeUtils.now()); - int sumPeriod = 0; - int newRound = 0; - int round = worldTreasureReward.getRound(); - boolean needReset = false; - for(int[] item : treasureTime){ - sumPeriod+=item[1]; - if(round>item[0]){ - continue; - } - differentDays-=item[1]; - if(differentDays<0){ - newRound = item[0]; - needReset =true; - break; - } - } - if(!needReset){ - differentDays=differentDays % sumPeriod; - for(int[] item : treasureTime){ - differentDays-=item[1]; - if(differentDays<0){ - newRound = item[0]; - break; - } - } - needReset=true; - } +// SExpeditionSetting sExpeditionSetting = STableManager.getConfig(SExpeditionSetting.class).get(1); +// int[][] treasureTime = sExpeditionSetting.getTreasureTime(); +// int differentDays = TimeUtils.differentDays(createTime * 1000, TimeUtils.now()); +// int sumPeriod = 0; +// int newRound = 0; +// int round = worldTreasureReward.getRound(); +// boolean needReset = false; +// for(int[] item : treasureTime){ +// sumPeriod+=item[1]; +// if(round>item[0]){ +// continue; +// } +// differentDays-=item[1]; +// if(differentDays<0){ +// newRound = item[0]; +// needReset =true; +// break; +// } +// } +// if(!needReset){ +// differentDays=differentDays % sumPeriod; +// for(int[] item : treasureTime){ +// differentDays-=item[1]; +// if(differentDays<0){ +// newRound = item[0]; +// break; +// } +// } +// needReset=true; +// } //重置 - if(needReset){ - user.getExpeditionManager().resetTreasureReward(newRound); + if(TimeUtils.nowInt()>=worldTreasureReward.getCreateTime()){ + user.getExpeditionManager().resetTreasureReward(1); sendAllTreasureInfo(user); } } @@ -1020,6 +1020,7 @@ public class ExpeditionLogic { }); response.addAllTreasureRewardState(states); response.setScore(worldTreasureReward.getScore()); + response.setResetTime(worldTreasureReward.getCreateTime()); MessageUtil.sendMessage(session,1,messageType.getNumber(),response.build(),true); } }