From 21df5641cacc7396e2ea9518490c8ffa697dddcb Mon Sep 17 00:00:00 2001 From: mengchengzhen <13682025901@163.com> Date: Thu, 29 Apr 2021 19:54:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E7=A4=BC=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../logic/activity/AbstractActivity.java | 13 +++++++++++++ .../jieling/logic/store/BuyGoodsNewLogic.java | 18 ++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/AbstractActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/AbstractActivity.java index 50a720a37..63619703a 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/AbstractActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/AbstractActivity.java @@ -9,6 +9,7 @@ import com.ljsd.jieling.ktbeans.ReportEventEnum; import com.ljsd.jieling.ktbeans.ReportUtil; import com.ljsd.jieling.logic.OnlineUserManager; import com.ljsd.jieling.logic.activity.event.ActivityStateChangeEvent; +import com.ljsd.jieling.logic.activity.event.HeroFiveStarGetEvent; import com.ljsd.jieling.logic.activity.event.IEvent; import com.ljsd.jieling.logic.activity.event.Poster; @@ -17,6 +18,7 @@ import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.mail.MailLogic; import com.ljsd.jieling.logic.player.PlayerLogic; import com.ljsd.jieling.network.session.ISession; +import config.SCHero; import rpc.protocols.CommonProto; import rpc.protocols.MessageTypeProto; import rpc.protocols.PlayerInfoProto; @@ -147,6 +149,7 @@ public abstract class AbstractActivity implements IActivity, IEventHandler { //up miss int[][] reward = sActivityRewardConfig.getReward(); CommonProto.Drop.Builder drop = ItemUtil.drop(user, reward, BIReason.TAKE_ACTIVITY_REWARD); + fiveStarPushByActivity(user,drop.getHero(0).getHeroId(),1); checkAndSetProgress(activityMission, activityProgressInfo, missionId); SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id); if (null != sGlobalActivity && ActivityLogic.getInstance().checkActivityMissionFinishAndTaked(session.getUid(),id, activityMission) && sGlobalActivity.getResetGrade() == 1) { @@ -375,4 +378,14 @@ public abstract class AbstractActivity implements IActivity, IEventHandler { ISession sessionByUid = OnlineUserManager.getSessionByUid(user.getId()); MessageUtil.sendIndicationMessage(sessionByUid, 1, MessageTypeProto.MessageType.PRIVILLEGE_ADD_INDICATION_VALUE, indication.build(), true); } + + /** + *五星推送 + */ + public static void fiveStarPushByActivity(User user,int itemId,int num){ + SCHero scHero = SCHero.getsCHero().get(itemId); + if(scHero != null && scHero.getStar()==5){ + Poster.getPoster().dispatchEvent(new HeroFiveStarGetEvent(user.getId(),5,num)); + } + } } 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 ebed2b99d..f21c09411 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 @@ -823,6 +823,8 @@ public class BuyGoodsNewLogic { if(isFiveStarBag(bagId) && info.getPushMap().get(bagId) != null){ AbstractWelfareBag bag = info.getPushMap().get(bagId); bag.setLimit((bag.getLimit()+num)>info.FIVESTARLIMIT?info.FIVESTARLIMIT:(bag.getLimit()+num)); + bag.setStartTime(System.currentTimeMillis()); + bag.setEndTime(bag.getStartTime() + getTime(bag) * TimeUtils.HOUR); }else{ SRechargeCommodityNewConfig config = SRechargeCommodityNewConfig.getConfigById(bagId); AbstractWelfareBag bag = initUnitWF(user,config); @@ -833,4 +835,20 @@ public class BuyGoodsNewLogic { } } } + + /** + * 推送礼包的结束时间 + * @param bag + * @return + */ + private static int getTime(AbstractWelfareBag bag){ + int i = 2; + for(String[] s : bag.getCondition()){ + if(s[0].equals("6")){ + i = Integer.parseInt(s[1]); + break; + } + } + return i; + } }