戒灵秘宝时间剩余
parent
c208cc6bb7
commit
bf8a3a59d7
|
@ -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(cur<now()){
|
||||
return cur + WEEK;
|
||||
}else{
|
||||
if(cur>now()){
|
||||
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<hour){
|
||||
result = result -TimeUtils.DAY;
|
||||
}
|
||||
if(!lastOrUnder){
|
||||
result = result + TimeUtils.DAY;
|
||||
}
|
||||
|
||||
return result;
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
package com.ljsd.jieling.handler.activity;
|
||||
|
||||
import com.ljsd.jieling.handler.BaseHandler;
|
||||
import com.ljsd.jieling.logic.activity.ActivityLogic;
|
||||
import com.ljsd.jieling.netty.cocdex.PacketNetData;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.protocols.MessageTypeProto;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* @author lvxinran
|
||||
* @date 2020/3/21
|
||||
* @discribe
|
||||
*/
|
||||
@Component
|
||||
public class TreasureTimeHandler extends BaseHandler {
|
||||
|
||||
@Override
|
||||
public MessageTypeProto.MessageType getMessageCode() {
|
||||
return MessageTypeProto.MessageType.TREASURE_REFRESH_TIME_REQUEST;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void process(ISession iSession, PacketNetData netData) throws Exception {
|
||||
ActivityLogic.getInstance().getTreasureNextRefreshTime(iSession,MessageTypeProto.MessageType.TREASURE_REFRESH_TIME_RESPONSE);
|
||||
}
|
||||
}
|
|
@ -1199,4 +1199,11 @@ public class ActivityLogic implements IEventHandler{
|
|||
MessageUtil.sendMessage(session,1,messageType.getNumber(),response,true);
|
||||
}
|
||||
|
||||
public void getTreasureNextRefreshTime(ISession session,MessageTypeProto.MessageType messageType) throws Exception {
|
||||
int dayRefreshTime=(int) (TimeUtils.getLastOrUnderHour(TimeUtils.now(), 5, false)/1000);
|
||||
int weekRefreshTime = (int)(TimeUtils.getNextWeekendStartTime(1,5)/1000);
|
||||
PlayerInfoProto.TreasureRefreshTimeResponse response = PlayerInfoProto.TreasureRefreshTimeResponse.newBuilder().setDayTime(dayRefreshTime).setWeekTime(weekRefreshTime).build();
|
||||
MessageUtil.sendMessage(session,1,messageType.getNumber(),response,true);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -349,7 +349,7 @@ public class PlayerManager extends MongoBase {
|
|||
}else {
|
||||
maxTime = TimeUtils.now()/1000+config.getContinueTime();
|
||||
}
|
||||
maxTime = (int)(TimeUtils.getLastHour(maxTime*1000,5)/1000);
|
||||
maxTime = (int)(TimeUtils.getLastOrUnderHour(maxTime*1000,5,true)/1000);
|
||||
}
|
||||
vipInfo.put(privilageId,new VipInfo(0,(int)maxTime));
|
||||
updateString("vipInfo", vipInfo);
|
||||
|
|
|
@ -73,25 +73,10 @@ public class UserMissionManager extends MongoBase {
|
|||
updateString("dailyMissionIdsType",dailyMissionIdsType);
|
||||
break;
|
||||
case TREASH_REFRESH:
|
||||
|
||||
// List<STreasureTaskConfig> sTreasureTaskConfigs = STreasureTaskConfig.sTreasureTaskConfigListByActivityMap.get((int) parm[0]);
|
||||
// treasureMissionIdsType.getDoingMissionIds().clear();
|
||||
// treasureMissionIdsType.getFinishMissionIds().clear();
|
||||
// treasureMissionIdsType.getRewardedMissionIds().clear();
|
||||
// treasureMissionIdsType.getTakeTimes().clear();
|
||||
// List<MissionStateChangeInfo> 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);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue