fix activity

back_recharge
wangyuan 2019-10-15 10:22:08 +08:00
parent 8a4efef55c
commit 8f34ad884a
2 changed files with 29 additions and 11 deletions

View File

@ -103,20 +103,23 @@ public class ActivityLogic {
if (now < startTime) { if (now < startTime) {
continue; continue;
} }
int ifOpen = sGlobalActivity.getIfOpen(); int[] ifOpen = sGlobalActivity.getIfOpen();
if(ifOpen!=0 && GameApplication.serverConfig.getCacheOpenTime() + ifOpen*TimeUtils.ONE_DAY - startTime >0){ if(ifOpen!=null && ifOpen.length>0){
continue; if(ifOpen[0]==2){ //开服
if(GameApplication.serverConfig.getCacheOpenTime() + ifOpen[1]*TimeUtils.ONE_DAY - startTime >0){
continue;
}
}
} }
if (endTime != 0 && now > endTime) { if (endTime != 0 && now > endTime) {
if (openActivityIds.contains(sGlobalActivity.getId())) { if (openActivityIds.contains(sGlobalActivity.getId())) {
openActivityIds.remove(sGlobalActivity.getId()); openActivityIds.remove(sGlobalActivity.getId());
AbstractActivity abstractActivity = ActivityTypeEnum.getActicityType(sGlobalActivity.getId()); AbstractActivity abstractActivity = ActivityTypeEnum.getActicityType(sGlobalActivity.getId());
if (null == abstractActivity) { if (null == abstractActivity) {
continue; continue;
} }
abstractActivity.onActivityEnd(); abstractActivity.onActivityEnd();
} }
continue; continue;
} }
@ -186,11 +189,18 @@ public class ActivityLogic {
ActivityManager activityManager = user.getActivityManager(); ActivityManager activityManager = user.getActivityManager();
Map<Integer, SGlobalActivity> sGlobalActivityMap = SGlobalActivity.getsGlobalActivityMap(); Map<Integer, SGlobalActivity> sGlobalActivityMap = SGlobalActivity.getsGlobalActivityMap();
Set<Integer> openNewActivityIds = new HashSet<>(); Set<Integer> openNewActivityIds = new HashSet<>();
long userCreateTime = user.getPlayerInfoManager().getCreateTime();
//初始化活动 绝对时间和相对开服时间 //初始化活动 绝对时间和相对开服时间
for (Integer openActivityId : openActivityIds) { for (Integer openActivityId : openActivityIds) {
SGlobalActivity sGlobalActivity = sGlobalActivityMap.get(openActivityId); SGlobalActivity sGlobalActivity = sGlobalActivityMap.get(openActivityId);
int[] ifOpen = sGlobalActivity.getIfOpen();
if(ifOpen!=null && ifOpen.length>0){
if(ifOpen[0]==1){ //创角
if(userCreateTime + ifOpen[1]*TimeUtils.ONE_DAY - now >0){
continue;
}
}
}
ActivityMission activityMission = activityManager.getActivityMissionMap().get(openActivityId); ActivityMission activityMission = activityManager.getActivityMissionMap().get(openActivityId);
if (activityMission != null) { if (activityMission != null) {
continue; continue;
@ -212,11 +222,19 @@ public class ActivityLogic {
} }
} }
Map<Integer, ActivityMission> activityMissionMap = activityManager.getActivityMissionMap(); Map<Integer, ActivityMission> activityMissionMap = activityManager.getActivityMissionMap();
long userCreateTime = user.getPlayerInfoManager().getCreateTime();
for (SGlobalActivity sGlobalActivity : sGlobalActivityMap.values()) { for (SGlobalActivity sGlobalActivity : sGlobalActivityMap.values()) {
int activityId = sGlobalActivity.getId(); int activityId = sGlobalActivity.getId();
if (openActivityIds.contains(activityId)) { if (openActivityIds.contains(activityId)) {
continue; int[] ifOpen = sGlobalActivity.getIfOpen();
if(ifOpen!=null && ifOpen.length>0){
if(ifOpen[0]==1){ //创角
if(userCreateTime + ifOpen[1]*TimeUtils.ONE_DAY - now >0){
continue;
}
}
}else{
continue;
}
} }
int time = sGlobalActivity.getTime(); int time = sGlobalActivity.getTime();
if (time == ActivityType.OPEN_TYPE_ROLE) { if (time == ActivityType.OPEN_TYPE_ROLE) {

View File

@ -31,7 +31,7 @@ public class SGlobalActivity implements BaseConfig {
private int isMail; private int isMail;
private int ifOpen; private int[] ifOpen;
private int shopId; private int shopId;
@ -112,7 +112,7 @@ public class SGlobalActivity implements BaseConfig {
return isMail; return isMail;
} }
public int getIfOpen() { public int[] getIfOpen() {
return ifOpen; return ifOpen;
} }