限时抽卡校验修改

back_recharge
lvxinran 2019-12-27 00:01:37 +08:00
parent f777bd44d4
commit 69ddecc329
2 changed files with 15 additions and 9 deletions

View File

@ -415,8 +415,7 @@ public class ActivityLogic {
ActivityMission value = item.getValue();
if (value.getOpenType() == 0) {
value.setOpenType(1);
}
}
} }
}
}
@ -1147,13 +1146,14 @@ public class ActivityLogic {
MessageUtil.sendMessage(session,1,messageType.getNumber(),null,true);
}
public boolean getActivityStatusByType(User user,int type){
public Object[] getActivityStatusByType(User user,int type){
List<SGlobalActivity> activities = SGlobalActivity.sGlobalActivityMapByType.get(type);
if(activities.isEmpty()){
return false;
return null;
}else{
Object[] objects = activities.stream().filter(n -> getActivityOpenState(user, n.getId()) == ActivityType.OPEN_STATE).toArray();
return objects.length>0;
Object[] objects = activities.stream().filter(n -> user.getActivityManager().getActivityMissionMap().keySet().contains(n.getId())).toArray();
return objects;
}
}
public void getNextActivityId(ISession session, int activityId, MessageTypeProto.MessageType messageType) throws Exception {

View File

@ -191,11 +191,17 @@ public class HeroLogic{
}
if(sLotterySetting.getLotteryType()==3){
//活动抽卡校验
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(sLotterySetting.getActivityId());
long endTimeLong = ToolsUtil.getEndTimeLong(sGlobalActivity.getStartTimeLong(), sGlobalActivity.getEndTimeLong(), sGlobalActivity.getTime(), user.getPlayerInfoManager().getCreateTime(), sGlobalActivity.getGapTime());
if(!ActivityLogic.getInstance().getActivityStatusByType(user,sLotterySetting.getActivityId())|| TimeUtils.now()>endTimeLong){
Object[] activityStatusByType = ActivityLogic.getInstance().getActivityStatusByType(user, sLotterySetting.getActivityId());
if(activityStatusByType.length!=1){
throw new ErrorCodeException(ErrorCode.ACTIVITY_NOT_OPEN);
}
if(activityStatusByType[0] instanceof SGlobalActivity){
SGlobalActivity activity = (SGlobalActivity)activityStatusByType[0];
long endTimeLong = ToolsUtil.getEndTimeLong(activity.getStartTimeLong(), activity.getEndTimeLong(), activity.getTime(), user.getPlayerInfoManager().getCreateTime(), activity.getGapTime());
if(TimeUtils.now()>endTimeLong){
throw new ErrorCodeException(ErrorCode.ACTIVITY_NOT_OPEN);
}
}
}
//筛选卡池
int pooId =0;