From c11813b44e0766f272565e6d0cf4a3b9f874ec27 Mon Sep 17 00:00:00 2001 From: jiahuiwen Date: Thu, 25 Nov 2021 19:27:52 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=88=E7=A4=BC=E5=8C=85=E7=89=B9=E6=AE=8A?= =?UTF-8?q?=E5=A4=84=E7=90=86=EF=BC=8C=E5=8F=AF=E6=AF=8F=E6=97=A5=E9=83=BD?= =?UTF-8?q?=E5=88=B7=E6=96=B0=E8=B4=AD=E4=B9=B0=E6=AC=A1=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/logic/store/BuyGoodsNewLogic.java | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java index 518d3733e..0448ba51d 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java @@ -485,15 +485,27 @@ public class BuyGoodsNewLogic { SRechargeCommodityNewConfig configById = SRechargeCommodityNewConfig.getConfigById(bag.getModId()); boolean result = false; //判断刷新时间 - if(bag.getRefreshTime() != 0 && bag.getRefreshTime() < System.currentTimeMillis()){ + long now = TimeUtils.now(); + if(bag.getRefreshTime() != 0 && bag.getRefreshTime() < now){ bag.refresh(); result = true; } if(bag.isOpen()){ - if(bag.getType() != 1 && bag.getEndTime() != 0 && System.currentTimeMillis() > bag.getEndTime()){ + if(bag.getType() != 1 && bag.getEndTime() != 0 && now > bag.getEndTime()){ bagTimeUp(user,bag); result = true; } + // 月礼包 特殊处理,需要每日都刷新 + if (configById.getTime() == 8 && configById.getDailyUpdate() == 1) { + if (!TimeUtils.isSameDay(now, bag.getStartTime())) { + bag.setStartTime(now); + if (bag.getBuyTimes() > 0) { + bag.setBuyTimes(0); + } + bag.setOpen(true); + result = true; + } + } }else{ if(bag.getType() == RechargeType.push.getType() && !bag.isOpen()){ user.getPlayerInfoManager().getNewRechargeInfo().removePush(bag.getModId()); @@ -513,7 +525,7 @@ public class BuyGoodsNewLogic { } } }else{ - if(bag.getTimeType() == 9){ + if (bag.getTimeType() == 9) { boolean init = true; for(String[] con : bag.getCondition()){ if(!judgeOpen(con,user)){ @@ -528,7 +540,7 @@ public class BuyGoodsNewLogic { endTime = Long.parseLong(con[2])*1000; } } - bag.setStartTime(System.currentTimeMillis()); + bag.setStartTime(now); if(endTime != 0){ bag.setEndTime(bag.getStartTime() + endTime); } @@ -537,7 +549,7 @@ public class BuyGoodsNewLogic { } }else{ boolean open = true; - if(System.currentTimeMillis() > bag.getStartTime()){ + if(now > bag.getStartTime()){ for(String[] con : bag.getCondition()){ if(!judgeOpen(con,user)){ open = false;