惊喜礼盒, 活动区服类型,获取时间

back_recharge
duhui 2021-06-18 10:32:45 +08:00
parent 984c6514c7
commit 04f0303672
1 changed files with 45 additions and 3 deletions

View File

@ -1,5 +1,6 @@
package com.ljsd.jieling.logic.activity;
import com.ljsd.GameApplication;
import com.ljsd.jieling.globals.Global;
import com.ljsd.jieling.jbean.ActivityMission;
import com.ljsd.jieling.jbean.ActivityProgressInfo;
@ -7,6 +8,7 @@ import com.ljsd.jieling.logic.OnlineUserManager;
import com.ljsd.jieling.logic.activity.event.IEvent;
import com.ljsd.jieling.logic.activity.event.Poster;
import com.ljsd.jieling.logic.activity.event.SuperBoxEvent;
import com.ljsd.jieling.logic.dao.ServerConfig;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.network.session.ISession;
@ -107,14 +109,15 @@ public class SuperBoxActivity extends AbstractActivity {
*/
private void updateState(User user){
long now = TimeUtils.now();
SGlobalActivity activity = SGlobalActivity.getsGlobalActivityMap().get(id);
long start = getSrartTime();
long end = getEndTime();
// 验证活动是否开启
if (now < activity.getStartTimeLong() || now > activity.getEndTimeLong()){
if (now < start || now > end){
return;
}
ActivityMission mission = user.getActivityManager().getActivityMissionMap().get(id);
// 计算过去了几天
int days = TimeUtils.getSoFarWentDays(activity.getStartTimeLong(), now);
int days = TimeUtils.getSoFarWentDays(start, now);
mission.setV(days);
// mission 单个礼包
Map<Integer, ActivityProgressInfo> missionMap = mission.getActivityMissionMap();
@ -165,6 +168,45 @@ public class SuperBoxActivity extends AbstractActivity {
sendActivityProgress(session, mission, null);
}
/**
*
* @return
*/
public long getSrartTime(){
long startTime = 0;
SGlobalActivity activity = SGlobalActivity.getsGlobalActivityMap().get(id);
// 绝对时间
if (activity.getType() == ActivityType.OPEN_TYPE_TIME){
startTime = activity.getStartTimeLong();
}
// 开服时间
else if (activity.getType() == ActivityType.OPEN_TYPE_SERVER) {
String openTime = GameApplication.serverConfig.getOpenTime();
startTime = TimeUtils.stringToTimeLong2(openTime);
}
return startTime;
}
/**
*
* @return
*/
public long getEndTime(){
long endTime = 0;
SGlobalActivity activity = SGlobalActivity.getsGlobalActivityMap().get(id);
// 绝对时间
if (activity.getType() == ActivityType.OPEN_TYPE_TIME){
endTime = activity.getEndTimeLong();
}
// 开服时间
else if (activity.getType() == ActivityType.OPEN_TYPE_SERVER) {
String openTime = GameApplication.serverConfig.getOpenTime();
long timeLong2 = TimeUtils.stringToTimeLong2(openTime);
endTime = timeLong2 + activity.getEndTimeLong() * 1000;
}
return endTime;
}
/**
*
* @param user