From aa56fb73b70de38249e6b6935bce9d10576d9d35 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Fri, 13 Dec 2019 17:19:26 +0800 Subject: [PATCH] =?UTF-8?q?=E9=99=90=E6=97=B6=E6=8A=BD=E5=8D=A1=E9=A2=84?= =?UTF-8?q?=E5=91=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/logic/activity/ActivityLogic.java | 3 +-- .../java/com/ljsd/jieling/logic/hero/HeroLogic.java | 6 +++++- .../src/main/java/com/ljsd/jieling/util/ToolsUtil.java | 7 +++++++ tablemanager/src/main/java/config/SGlobalActivity.java | 10 ++++++++++ 4 files changed, 23 insertions(+), 3 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java index 3e43ea3bd..8efbe4e41 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java @@ -1155,8 +1155,7 @@ public class ActivityLogic { } public void getNextActivityId(ISession session, int activityId, MessageTypeProto.MessageType messageType) throws Exception { User user = UserManager.getUser(session.getUid()); - int type = SGlobalActivity.getsGlobalActivityMap().get(activityId).getType(); - List sGlobalActivities = SGlobalActivity.sGlobalActivityMapByType.get(type); + List sGlobalActivities = SGlobalActivity.sGlobalActivityMapByType.get(activityId); if(sGlobalActivities.isEmpty()){ throw new ErrorCodeException(ErrorCode.ACTIVITY_NOT_OPEN); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java index 134606e59..f837c1ff6 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java @@ -36,6 +36,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import util.MathUtils; import util.StringUtil; +import util.TimeUtils; import java.math.BigDecimal; import java.util.*; @@ -186,7 +187,10 @@ public class HeroLogic{ heroManager.updateFirstTenth(); } if(sLotterySetting.getLotteryType()==3){ - if(!ActivityLogic.getInstance().getActivityStatusByType(user,sLotterySetting.getActivityId())){ + //活动抽卡校验 + 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){ throw new ErrorCodeException(ErrorCode.ACTIVITY_NOT_OPEN); } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/ToolsUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/util/ToolsUtil.java index 979ec68f3..607e91e17 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/ToolsUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/ToolsUtil.java @@ -22,6 +22,13 @@ public class ToolsUtil { } return startTime; } + public static long getEndTimeLong(long startTimeLong , long endTimeLong,int time,long createUserTime,int dayOut){ + long timeLong = getTimeLong(startTimeLong, endTimeLong, time, createUserTime, 2); + long endTime = timeLong - TimeUtils.DAY * dayOut; + return endTime; + + } + // // /** diff --git a/tablemanager/src/main/java/config/SGlobalActivity.java b/tablemanager/src/main/java/config/SGlobalActivity.java index 2cf1db342..2703317ea 100644 --- a/tablemanager/src/main/java/config/SGlobalActivity.java +++ b/tablemanager/src/main/java/config/SGlobalActivity.java @@ -46,6 +46,8 @@ public class SGlobalActivity implements BaseConfig { private int[] foreshow; + private int gapTime; + public static Map> sGlobalActivityMapByType; @@ -149,4 +151,12 @@ public class SGlobalActivity implements BaseConfig { public int[] getForeshow() { return foreshow; } + + public int getGapTime() { + return gapTime; + } + + public void setType(int type) { + this.type = type; + } } \ No newline at end of file