diff --git a/gamecommon/src/main/java/util/TimeUtils.java b/gamecommon/src/main/java/util/TimeUtils.java index 4cd5836b3..5ad3ceafc 100644 --- a/gamecommon/src/main/java/util/TimeUtils.java +++ b/gamecommon/src/main/java/util/TimeUtils.java @@ -138,7 +138,9 @@ public class TimeUtils { public static final String Stand_CeHua_Data_format = "yyyyMMdd HHmmss"; public static void main(String[] args) { - long lastHour = getLastHour(now(),5); + + long lastHour = getNextWeekendStartTime(1,5); + System.out.println(lastHour); } /** @@ -814,10 +816,10 @@ public class TimeUtils { */ public static long getNextWeekendStartTime(int targetWeekday,int hour) { long cur = getCurWeekdayStartTime(targetWeekday, hour); - if(curnow()){ return cur; + }else{ + return cur + WEEK; } } @@ -1323,11 +1325,12 @@ public class TimeUtils { } /** - *获取传入时间的上个几时 + *获取传入时间的上个几时或下个几时 * @param hour + * @param lastOrUnder true为上个,false为下个 * @return */ - public static long getLastHour(long time,int hour){ + public static long getLastOrUnderHour(long time,int hour,boolean lastOrUnder){ Calendar cal = Calendar.getInstance(); cal.setTimeInMillis(time); int i = cal.get(Calendar.HOUR_OF_DAY); @@ -1336,9 +1339,13 @@ public class TimeUtils { cal.set(Calendar.SECOND,0); cal.set(Calendar.MILLISECOND,0); long result = cal.getTimeInMillis(); - if(i<5){ + if(i sTreasureTaskConfigs = STreasureTaskConfig.sTreasureTaskConfigListByActivityMap.get((int) parm[0]); -// treasureMissionIdsType.getDoingMissionIds().clear(); -// treasureMissionIdsType.getFinishMissionIds().clear(); -// treasureMissionIdsType.getRewardedMissionIds().clear(); -// treasureMissionIdsType.getTakeTimes().clear(); -// List missionStateChangeInfos = missionTypeEnumListMap.get(GameMisionType.TREASUREMISSION); -// for(STreasureTaskConfig sTreasureTaskConfig : sTreasureTaskConfigs){ -// treasureMissionIdsType.getDoingMissionIds().add(sTreasureTaskConfig.getId()); -// missionStateChangeInfos.add(new MissionStateChangeInfo(sTreasureTaskConfig.getId(), MissionState.DOING,0)); -// } -// user.getPlayerInfoManager().setTreasureScore(0); -// treasureCumulationData= new CumulationData(); -// updateString("treasureMissionIdsType",treasureMissionIdsType); -// updateString("treasureCumulationData",treasureCumulationData); - int[] refreshIds =resetTreasureTaskInfo(1,missionTypeEnumListMap,treasureCumulationData); treasureCumulationData = new CumulationData(); - CommonProto.RefreshTask.Builder task = treasureIndicationBuild(1, refreshIds); + int dayRefreshTime=(int) (TimeUtils.getLastOrUnderHour(TimeUtils.now(), 5, false)/1000); + CommonProto.RefreshTask.Builder task = treasureIndicationBuild(1, refreshIds).setRefreshTime(dayRefreshTime); PlayerInfoProto.TreasureRefreshIndication indication1 = PlayerInfoProto.TreasureRefreshIndication.newBuilder().addTasks(task.build()).build(); MessageUtil.sendIndicationMessage(session,1, MessageTypeProto.MessageType.TREASURE_REFRESH_INDICATION_VALUE,indication1,true); break; @@ -99,7 +84,9 @@ public class UserMissionManager extends MongoBase { int[] weekRefreshIds = resetTreasureTaskInfo(2,missionTypeEnumListMap,treasureWeekCumulationData); if(weekRefreshIds!=null){ treasureWeekCumulationData = new CumulationData(); - CommonProto.RefreshTask.Builder task2= treasureIndicationBuild(2, weekRefreshIds); + int weekRefreshTime = (int)(TimeUtils.getNextWeekendStartTime(1,5)/1000); + System.out.println(weekRefreshTime); + CommonProto.RefreshTask.Builder task2= treasureIndicationBuild(2, weekRefreshIds).setRefreshTime(weekRefreshTime); PlayerInfoProto.TreasureRefreshIndication indication2 = PlayerInfoProto.TreasureRefreshIndication.newBuilder().addTasks(task2.build()).build(); MessageUtil.sendIndicationMessage(session,1, MessageTypeProto.MessageType.TREASURE_REFRESH_INDICATION_VALUE,indication2,true); }