戒灵秘宝时间剩余
parent
c208cc6bb7
commit
bf8a3a59d7
|
@ -138,7 +138,9 @@ public class TimeUtils {
|
||||||
public static final String Stand_CeHua_Data_format = "yyyyMMdd HHmmss";
|
public static final String Stand_CeHua_Data_format = "yyyyMMdd HHmmss";
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
long lastHour = getLastHour(now(),5);
|
|
||||||
|
long lastHour = getNextWeekendStartTime(1,5);
|
||||||
|
|
||||||
System.out.println(lastHour);
|
System.out.println(lastHour);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
|
@ -814,10 +816,10 @@ public class TimeUtils {
|
||||||
*/
|
*/
|
||||||
public static long getNextWeekendStartTime(int targetWeekday,int hour) {
|
public static long getNextWeekendStartTime(int targetWeekday,int hour) {
|
||||||
long cur = getCurWeekdayStartTime(targetWeekday, hour);
|
long cur = getCurWeekdayStartTime(targetWeekday, hour);
|
||||||
if(cur<now()){
|
if(cur>now()){
|
||||||
return cur + WEEK;
|
|
||||||
}else{
|
|
||||||
return cur;
|
return cur;
|
||||||
|
}else{
|
||||||
|
return cur + WEEK;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1323,11 +1325,12 @@ public class TimeUtils {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*获取传入时间的上个几时
|
*获取传入时间的上个几时或下个几时
|
||||||
* @param hour
|
* @param hour
|
||||||
|
* @param lastOrUnder true为上个,false为下个
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static long getLastHour(long time,int hour){
|
public static long getLastOrUnderHour(long time,int hour,boolean lastOrUnder){
|
||||||
Calendar cal = Calendar.getInstance();
|
Calendar cal = Calendar.getInstance();
|
||||||
cal.setTimeInMillis(time);
|
cal.setTimeInMillis(time);
|
||||||
int i = cal.get(Calendar.HOUR_OF_DAY);
|
int i = cal.get(Calendar.HOUR_OF_DAY);
|
||||||
|
@ -1336,9 +1339,13 @@ public class TimeUtils {
|
||||||
cal.set(Calendar.SECOND,0);
|
cal.set(Calendar.SECOND,0);
|
||||||
cal.set(Calendar.MILLISECOND,0);
|
cal.set(Calendar.MILLISECOND,0);
|
||||||
long result = cal.getTimeInMillis();
|
long result = cal.getTimeInMillis();
|
||||||
if(i<5){
|
if(i<hour){
|
||||||
result = result -TimeUtils.DAY;
|
result = result -TimeUtils.DAY;
|
||||||
}
|
}
|
||||||
|
if(!lastOrUnder){
|
||||||
|
result = result + TimeUtils.DAY;
|
||||||
|
}
|
||||||
|
|
||||||
return result;
|
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);
|
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 {
|
}else {
|
||||||
maxTime = TimeUtils.now()/1000+config.getContinueTime();
|
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));
|
vipInfo.put(privilageId,new VipInfo(0,(int)maxTime));
|
||||||
updateString("vipInfo", vipInfo);
|
updateString("vipInfo", vipInfo);
|
||||||
|
|
|
@ -73,25 +73,10 @@ public class UserMissionManager extends MongoBase {
|
||||||
updateString("dailyMissionIdsType",dailyMissionIdsType);
|
updateString("dailyMissionIdsType",dailyMissionIdsType);
|
||||||
break;
|
break;
|
||||||
case TREASH_REFRESH:
|
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);
|
int[] refreshIds =resetTreasureTaskInfo(1,missionTypeEnumListMap,treasureCumulationData);
|
||||||
treasureCumulationData = new CumulationData();
|
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();
|
PlayerInfoProto.TreasureRefreshIndication indication1 = PlayerInfoProto.TreasureRefreshIndication.newBuilder().addTasks(task.build()).build();
|
||||||
MessageUtil.sendIndicationMessage(session,1, MessageTypeProto.MessageType.TREASURE_REFRESH_INDICATION_VALUE,indication1,true);
|
MessageUtil.sendIndicationMessage(session,1, MessageTypeProto.MessageType.TREASURE_REFRESH_INDICATION_VALUE,indication1,true);
|
||||||
break;
|
break;
|
||||||
|
@ -99,7 +84,9 @@ public class UserMissionManager extends MongoBase {
|
||||||
int[] weekRefreshIds = resetTreasureTaskInfo(2,missionTypeEnumListMap,treasureWeekCumulationData);
|
int[] weekRefreshIds = resetTreasureTaskInfo(2,missionTypeEnumListMap,treasureWeekCumulationData);
|
||||||
if(weekRefreshIds!=null){
|
if(weekRefreshIds!=null){
|
||||||
treasureWeekCumulationData = new CumulationData();
|
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();
|
PlayerInfoProto.TreasureRefreshIndication indication2 = PlayerInfoProto.TreasureRefreshIndication.newBuilder().addTasks(task2.build()).build();
|
||||||
MessageUtil.sendIndicationMessage(session,1, MessageTypeProto.MessageType.TREASURE_REFRESH_INDICATION_VALUE,indication2,true);
|
MessageUtil.sendIndicationMessage(session,1, MessageTypeProto.MessageType.TREASURE_REFRESH_INDICATION_VALUE,indication2,true);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue