From 3801f5f97a9ed4daf4ff3c1ba5fa8b143cc43776 Mon Sep 17 00:00:00 2001 From: "DESKTOP-C3M45P4\\dengdan" Date: Mon, 31 Mar 2025 21:41:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=BC=80=E6=9C=8D=E5=86=B2?= =?UTF-8?q?=E6=A6=9C=E6=B4=BB=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../handler/goods/MoneyBuyGiftHandler.java | 6 ++- .../jieling/logic/activity/ActivityLogic.java | 3 ++ .../OpenServerCompeteRankActivity.java | 52 +++++++++++++++++++ .../activity/activityLogic/WeekCardLogic.java | 4 +- .../ljsd/jieling/logic/hero/HeroLogic.java | 5 ++ 5 files changed, 67 insertions(+), 3 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/goods/MoneyBuyGiftHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/goods/MoneyBuyGiftHandler.java index 17d5e54b1..67681be3f 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/goods/MoneyBuyGiftHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/goods/MoneyBuyGiftHandler.java @@ -5,8 +5,11 @@ import com.ljsd.jieling.exception.ErrorCodeException; import com.ljsd.jieling.exception.ErrorTableException; import com.ljsd.jieling.globals.BIReason; import com.ljsd.jieling.handler.BaseHandler; +import com.ljsd.jieling.logic.activity.event.OpenServerActivityEvent; +import com.ljsd.jieling.logic.activity.event.Poster; import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.logic.dao.root.User; +import com.ljsd.jieling.logic.rank.RankEnum; import com.ljsd.jieling.logic.store.BuyGoodsNewLogic; import com.ljsd.jieling.network.session.ISession; import com.ljsd.jieling.util.ItemUtil; @@ -46,7 +49,8 @@ public class MoneyBuyGiftHandler extends BaseHandler list = rewardArrayToList(markRewards); ReportUtil.onReportEvent(user, ReportEventEnum.CHOICE_DRAW_CARD.getType(), choiceRewardId, num, markReward[0], markReward[1], list); // 返回奖励信息 diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/OpenServerCompeteRankActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/OpenServerCompeteRankActivity.java index 7657c08a6..9e20d44f6 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/OpenServerCompeteRankActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/OpenServerCompeteRankActivity.java @@ -59,6 +59,12 @@ public class OpenServerCompeteRankActivity extends AbstractActivity { heroStarHandle(user); }else if(rankType == RankEnum.MONEY_RANK.getType()){ moneyHandle(user,event1.getCost(),id); + }else if(rankType == RankEnum.XUNXIAN_RANK.getType()){ + xunxianHandle(user,event1.getCost(),id); + }else if(rankType == RankEnum.FABAO_RANK.getType()){ + fabaoHandle(user,event1.getCost(),id); + }else if(rankType == RankEnum.HERO_RANK.getType()){ + heroHandle(user,event1.getCost(),id); }else{ } @@ -107,10 +113,53 @@ public class OpenServerCompeteRankActivity extends AbstractActivity { } AbstractRank rank = RankContext.getRankEnum(RankEnum.MONEY_RANK.getType()); int score = (int)rank.getScoreById(user.getId(),""); + if(score < 0){ + score = 0; + } int scoreCompute = score + money; rank.addRank(user.getId(),"", scoreCompute); } + /** + * 英雄抽取排行 + * @param user + */ + public static void heroHandle(User user,int cost,int actId){ + if(cost <= 0){ + return; + } + if(!isOpen(RankEnum.HERO_RANK.getType(),actId)){ + return; + } + AbstractRank rank = RankContext.getRankEnum(RankEnum.HERO_RANK.getType()); + int score = (int)rank.getScoreById(user.getId(),""); + if(score < 0){ + score = 0; + } + int scoreCompute = score + cost; + rank.addRank(user.getId(),"", scoreCompute); + } + + /** + * 寻仙抽取排行 + * @param user + */ + public static void xunxianHandle(User user,int cost,int actId){ + if(cost <= 0){ + return; + } + if(!isOpen(RankEnum.XUNXIAN_RANK.getType(),actId)){ + return; + } + AbstractRank rank = RankContext.getRankEnum(RankEnum.XUNXIAN_RANK.getType()); + int score = (int)rank.getScoreById(user.getId(),""); + if(score < 0){ + score = 0; + } + int scoreCompute = score + cost; + rank.addRank(user.getId(),"", scoreCompute); + } + /** * 法宝抽取排行 * @param user @@ -124,6 +173,9 @@ public class OpenServerCompeteRankActivity extends AbstractActivity { } AbstractRank rank = RankContext.getRankEnum(RankEnum.FABAO_RANK.getType()); int score = (int)rank.getScoreById(user.getId(),""); + if(score < 0){ + score = 0; + } int scoreCompute = score + cost; rank.addRank(user.getId(),"", scoreCompute); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/activityLogic/WeekCardLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/activityLogic/WeekCardLogic.java index ab23d4588..df36082e8 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/activityLogic/WeekCardLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/activityLogic/WeekCardLogic.java @@ -123,11 +123,11 @@ public class WeekCardLogic { public void getWeekCardReward(User user, PlayerInfoProto.GetWeekCardRewardRequest proto) throws Exception { Map map = user.getPlayerInfoManager().getWeekCard().get(proto.getWeekcardId()); if (map == null){ - throw new ErrorCodeException(ErrorCode.SERVER_DEFINE,"月卡id不存在:"+proto.getWeekcardId()); + throw new ErrorCodeException(ErrorCode.SERVER_DEFINE,"周卡id不存在:"+proto.getWeekcardId()); } SWeekcardConfig weekcardConfig = STableManager.getConfig(SWeekcardConfig.class).get(proto.getWeekcardId()); if (weekcardConfig == null){ - throw new ErrorCodeException(ErrorCode.SERVER_DEFINE,"月卡id不存在配置表:"+proto.getWeekcardId()); + throw new ErrorCodeException(ErrorCode.SERVER_DEFINE,"周卡id不存在配置表:"+proto.getWeekcardId()); } // 配置表 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 222836c85..3a461983a 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 @@ -39,6 +39,7 @@ import com.ljsd.jieling.logic.mail.MailLogic; import com.ljsd.jieling.logic.mission.GameEvent; import com.ljsd.jieling.logic.mission.MissionType; import com.ljsd.jieling.logic.player.PlayerLogic; +import com.ljsd.jieling.logic.rank.RankEnum; import com.ljsd.jieling.logic.redpacket.WelfareRedPackEvent; import com.ljsd.jieling.logic.redpacket.WelfareRedPacketType; import com.ljsd.jieling.logic.store.BuyGoodsNewLogic; @@ -748,6 +749,8 @@ public class HeroLogic { .iterator().next().getCount() - user.getHeroManager().getRandomPoolByType().getOrDefault(11, new HashMap<>()).getOrDefault(7, 0); builder.setMustCount(heroRandomCount); + //冲榜活动 + Poster.getPoster().dispatchEvent(new OpenServerActivityEvent(user.getId(),perCount, RankEnum.HERO_RANK.getType())); } // 法宝卡池类型 if (sLotterySetting.getLotteryType() == 4) { @@ -755,6 +758,8 @@ public class HeroLogic { .iterator().next().getCount() - user.getHeroManager().getRandomPoolByType().getOrDefault(23, new HashMap<>()).getOrDefault(151, 0); builder.setFabaoMustCount(fabaoRandomCount); + //冲榜活动 + Poster.getPoster().dispatchEvent(new OpenServerActivityEvent(user.getId(),perCount, RankEnum.FABAO_RANK.getType())); } user.getUserMissionManager().onGameEvent(user, GameEvent.RANDOM_HERO, sLotterySetting.getLotteryType(), perCount);