From dd2ef8617dfc2a3958703998e96d59c54957f666 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Wed, 28 Oct 2020 16:52:59 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E5=88=A4=E5=AE=98=E7=AC=94=E5=A4=8D?= =?UTF-8?q?=E6=B4=BB=E4=B8=8D=E8=AE=A1=E5=85=A5=E5=A4=A9=E5=AE=AB=E8=BE=BE?= =?UTF-8?q?=E4=BA=BA=EF=BC=8Cbug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/handler/Expedition/ReliveExpeditionHeroRequest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/Expedition/ReliveExpeditionHeroRequest.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/Expedition/ReliveExpeditionHeroRequest.java index 5f5a4e29d..4da149104 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/Expedition/ReliveExpeditionHeroRequest.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/Expedition/ReliveExpeditionHeroRequest.java @@ -124,8 +124,8 @@ public class ReliveExpeditionHeroRequest extends BaseHandler Date: Sat, 31 Oct 2020 14:02:38 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E7=A4=BE=E7=A8=B7=E5=A4=A7=E5=85=B8?= =?UTF-8?q?=E5=85=AC=E4=BC=9A=E6=8E=92=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/logic/activity/SheJiActivity.java | 20 +++-- .../java/config/SGodSacrificeSetting.java | 84 +++++++++---------- 2 files changed, 52 insertions(+), 52 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SheJiActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SheJiActivity.java index f522a0dfd..adb1f6a1d 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SheJiActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SheJiActivity.java @@ -124,6 +124,7 @@ class SheJiActivity extends AbstractActivity { @Override public void onActivityEnd() throws Exception { ThreadManager.getScheduledExecutor().execute(this::sendReward); + ThreadManager.getScheduledExecutor().execute(this::sendGuildReward); } protected void sendReward() { @@ -190,8 +191,6 @@ class SheJiActivity extends AbstractActivity { e.printStackTrace(); } } - - sendGuildReward(); } protected void sendGuildReward() { @@ -199,9 +198,9 @@ class SheJiActivity extends AbstractActivity { SGodSacrificeSetting sGodSacrificeSetting = STableManager.getConfig(SGodSacrificeSetting.class).get(1); Thread.currentThread().setName("sendGuildReward-Activity-" + id); SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id); - if (sGlobalActivity.getOpenRanking() == 0) { - return; - } +// if (sGlobalActivity.getOpenRanking() == 0) { +// return; +// } int nowTime = (int) (TimeUtils.now() / 1000); InnerResult rewardMap = getRewardMap(2); Map rank2miss = rewardMap.getRank2miss(); @@ -209,7 +208,7 @@ class SheJiActivity extends AbstractActivity { AbstractRank abstractRank = RankContext.getRankEnum(RankEnum.GUILD_SHEJI_SCORE_RANK.getType()); - Set> rankByKey = abstractRank.getRankByKey("", 0, -1); + Set> rankByKey = abstractRank.getRankByKey(""+id, 0, -1); int rankIndex = 1; for (ZSetOperations.TypedTuple item : rankByKey) { @@ -229,10 +228,12 @@ class SheJiActivity extends AbstractActivity { if (null == user) { continue; } - if (user.getPlayerInfoManager().getCreateTime() + sGodSacrificeSetting.getLifeLimit() * TimeUtils.ONE_DAY - nowTime > 0) { + long l = user.getPlayerInfoManager().getCreateTime() + sGodSacrificeSetting.getLifeLimit() * TimeUtils.ONE_DAY; + int i = nowTime * 1000; + if (user.getPlayerInfoManager().getCreateTime() + sGodSacrificeSetting.getLifeLimit() * TimeUtils.ONE_DAY - TimeUtils.now() > 0) { continue; } - if (user.getGuildMyInfo().getJoinTime() + sGodSacrificeSetting.getJoinLimit() * TimeUtils.ONE_DAY - nowTime > 0) { + if (user.getGuildMyInfo().getJoinTime() + sGodSacrificeSetting.getJoinLimit() * TimeUtils.ONE_DAY - TimeUtils.now() > 0) { continue; } int missionId; @@ -249,7 +250,7 @@ class SheJiActivity extends AbstractActivity { SGodSacrificeConfig sActivityRankingReward1 = SGodSacrificeConfig.getsGodSacrificeConfigMap().get(missionId); //sendmail String title = SErrorCodeEerverConfig.getI18NMessage("guild_activity_reward_title", new Object[]{sGlobalActivity.getSesc()}); - String content = SErrorCodeEerverConfig.getI18NMessage("guild_activity_reward_txt", new Object[]{sGlobalActivity.getSesc(), rankIndex++}); + String content = SErrorCodeEerverConfig.getI18NMessage("guild_activity_reward_txt", new Object[]{sGlobalActivity.getSesc(), rankIndex}); String mailReward = ItemUtil.getMailReward(sActivityRankingReward1.getRankingReward()); MailLogic.getInstance().sendMail(uid, title, content, mailReward, nowTime, Global.MAIL_EFFECTIVE_TIME); } catch (Exception e) { @@ -259,6 +260,7 @@ class SheJiActivity extends AbstractActivity { } } + rankIndex++; } catch (Exception e) { LOGGER.error("排行奖励没有发成功=>{}", id); diff --git a/tablemanager/src/main/java/config/SGodSacrificeSetting.java b/tablemanager/src/main/java/config/SGodSacrificeSetting.java index 5dad92aff..aa72e0491 100644 --- a/tablemanager/src/main/java/config/SGodSacrificeSetting.java +++ b/tablemanager/src/main/java/config/SGodSacrificeSetting.java @@ -6,124 +6,122 @@ import manager.Table; import java.util.HashMap; import java.util.Map; -@Table(name ="GodSacrificeSetting") +@Table(name = "GodSacrificeSetting") public class SGodSacrificeSetting implements BaseConfig { - private int id; + private int id; - private int activityId; + private int activityId; - private int[] activityItems; + private int[] activityItems; - private int activityMoney; + private int activityMoney; - private int[] rankType; + private int[] rankType; - private int[] rewardItemChangRate; + private int[] rewardItemChangRate; - private int qAId; + private int qAId; - private int itemDelete; + private int itemDelete; - private int timeRewardNum; + private int timeRewardNum; - private int[] timePointList; + private int[] timePointList; - private int timeRewardGroup; + private int timeRewardGroup; - private int lastTime; + private int lastTime; - public static HashMap exchangeRate= new HashMap<>(); + public static HashMap exchangeRate = new HashMap<>(); private int levelLimit; - private int lifeLimit; + private int lifeLimit; - private int joinLimit; + private int joinLimit; - private int[][] mailId; + private int[][] mailId; - private int l1Score; + private int l1Score; - - @Override + + @Override public void init() throws Exception { SGodSacrificeSetting sGodSacrificeSetting = STableManager.getConfig(SGodSacrificeSetting.class).get(1); - if(null!=sGodSacrificeSetting){ - if(sGodSacrificeSetting.getItemDelete()==1){ - int[] activityItems = sGodSacrificeSetting.getActivityItems(); - for (int i = 0; i Date: Sat, 31 Oct 2020 14:06:31 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E7=A4=BE=E7=A8=B7=E5=A4=A7=E5=85=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../handler/activity/CommitShejiActivityItemRequestHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/CommitShejiActivityItemRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/CommitShejiActivityItemRequestHandler.java index 0a590ae03..550684210 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/CommitShejiActivityItemRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/CommitShejiActivityItemRequestHandler.java @@ -76,7 +76,7 @@ public class CommitShejiActivityItemRequestHandler extends BaseHandler openActivityIdsByType = ActivityLogic.getInstance().getOpenActivityIdsByType(user, ActivityTypeEnum.SHEJI_ACTIVITY.getType(), true); + Set openActivityIdsByType = ActivityLogic.getInstance().getOpenActivityIdsByType(user, ActivityTypeEnum.SHEJI_ACTIVITY.getType(), false); if(openActivityIdsByType.size()==0){ throw new ErrorCodeException(ErrorCode.ACTIVITY_NOT_OPEN); } From 4b389f5a8f4444097a7f5edd88759b369f7a4dd7 Mon Sep 17 00:00:00 2001 From: zhangshanxue Date: Wed, 28 Oct 2020 20:24:15 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E7=A4=BE=E7=A8=B7=E5=A4=A7=E5=85=B8?= =?UTF-8?q?=E5=85=AC=E4=BC=9A=E6=8E=92=E8=A1=8C=E5=8F=91=E5=A5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/logic/activity/SheJiActivity.java | 70 +++++++++++++------ 1 file changed, 49 insertions(+), 21 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SheJiActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SheJiActivity.java index adb1f6a1d..f1051aa76 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SheJiActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SheJiActivity.java @@ -1,8 +1,10 @@ package com.ljsd.jieling.logic.activity; import com.ljsd.jieling.core.Lockeys; +import com.ljsd.jieling.db.mongo.MongoUtil; import com.ljsd.jieling.exception.ErrorCode; import com.ljsd.jieling.exception.ErrorCodeException; +import com.ljsd.jieling.globals.BIReason; import com.ljsd.jieling.globals.Global; import com.ljsd.jieling.jbean.ActivityMission; import com.ljsd.jieling.jbean.ActivityProgressInfo; @@ -19,9 +21,12 @@ import com.ljsd.jieling.logic.mail.MailLogic; import com.ljsd.jieling.logic.rank.RankContext; import com.ljsd.jieling.logic.rank.RankEnum; import com.ljsd.jieling.logic.rank.rankImpl.AbstractRank; +import com.ljsd.jieling.network.server.ProtocolsManager; import com.ljsd.jieling.network.session.ISession; +import com.ljsd.jieling.protocols.ArenaInfoProto; +import com.ljsd.jieling.protocols.MessageTypeProto; import com.ljsd.jieling.thread.ThreadManager; -import com.ljsd.jieling.util.ItemUtil; +import com.ljsd.jieling.util.*; import config.*; import manager.STableManager; import org.springframework.data.redis.core.ZSetOperations; @@ -166,7 +171,7 @@ class SheJiActivity extends AbstractActivity { // } if (rank2miss.containsKey(rank)) { if (rank <= 10 && score <2500) { - missionId = 11; + missionId = rank2miss.get(11); } else { missionId = rank2miss.get(rank); } @@ -177,14 +182,25 @@ class SheJiActivity extends AbstractActivity { continue; } } - //checkAndUpdate value - SGodSacrificeConfig sActivityRankingReward1 = SGodSacrificeConfig.getsGodSacrificeConfigMap().get(missionId); - //sendmail - String title = SErrorCodeEerverConfig.getI18NMessage("personal_activity_reward_title", new Object[]{sGlobalActivity.getSesc()}); - String content = SErrorCodeEerverConfig.getI18NMessage("personal_activity_reward_txt", new Object[]{sGlobalActivity.getSesc(), rank++}); - String mailReward = ItemUtil.getMailReward(sActivityRankingReward1.getRankingReward()); - MailLogic.getInstance().sendMail(uid, title, content, mailReward, nowTime, Global.MAIL_EFFECTIVE_TIME); + final int finalIndex = rank; + AyyncWorker ayyncWorker = new AyyncWorker(user, true, new AyncWorkerRunnable() { + @Override + public void work(User user) throws Exception { + + //checkAndUpdate value + SGodSacrificeConfig sActivityRankingReward1 = SGodSacrificeConfig.getsGodSacrificeConfigMap().get(missionId); + //sendmail + + String title = SErrorCodeEerverConfig.getI18NMessage("personal_activity_reward_title", new Object[]{sGlobalActivity.getSesc()}); + String content = SErrorCodeEerverConfig.getI18NMessage("personal_activity_reward_txt", new Object[]{sGlobalActivity.getSesc(), finalIndex}); + String mailReward = ItemUtil.getMailReward(sActivityRankingReward1.getRankingReward()); + MailLogic.getInstance().sendMail(uid, title, content, mailReward, nowTime, Global.MAIL_EFFECTIVE_TIME); + + } + }); + ProtocolsManager.getInstance().updateAyncWorker(ayyncWorker); + rank++; } catch (Exception e) { LOGGER.error("id为{}的玩家,{}活动排行奖励没有发成功", uid, id); System.out.println(e); @@ -222,20 +238,22 @@ class SheJiActivity extends AbstractActivity { sendUids.addAll(items); } + + + for (Integer uid : sendUids) { try { User user = UserManager.getUser(uid, true); if (null == user) { continue; } - long l = user.getPlayerInfoManager().getCreateTime() + sGodSacrificeSetting.getLifeLimit() * TimeUtils.ONE_DAY; - int i = nowTime * 1000; + if (user.getPlayerInfoManager().getCreateTime() + sGodSacrificeSetting.getLifeLimit() * TimeUtils.ONE_DAY - TimeUtils.now() > 0) { continue; } - if (user.getGuildMyInfo().getJoinTime() + sGodSacrificeSetting.getJoinLimit() * TimeUtils.ONE_DAY - TimeUtils.now() > 0) { - continue; - } +// if (user.getGuildMyInfo().getJoinTime() + sGodSacrificeSetting.getJoinLimit() * TimeUtils.ONE_DAY - TimeUtils.now() > 0) { +// continue; +// } int missionId; if (rank2miss.containsKey(rankIndex)) { missionId = rank2miss.get(rankIndex); @@ -246,13 +264,23 @@ class SheJiActivity extends AbstractActivity { continue; } } - //checkAndUpdate value - SGodSacrificeConfig sActivityRankingReward1 = SGodSacrificeConfig.getsGodSacrificeConfigMap().get(missionId); - //sendmail - String title = SErrorCodeEerverConfig.getI18NMessage("guild_activity_reward_title", new Object[]{sGlobalActivity.getSesc()}); - String content = SErrorCodeEerverConfig.getI18NMessage("guild_activity_reward_txt", new Object[]{sGlobalActivity.getSesc(), rankIndex}); - String mailReward = ItemUtil.getMailReward(sActivityRankingReward1.getRankingReward()); - MailLogic.getInstance().sendMail(uid, title, content, mailReward, nowTime, Global.MAIL_EFFECTIVE_TIME); + final int finalIndex = rankIndex; + AyyncWorker ayyncWorker = new AyyncWorker(user, true, new AyncWorkerRunnable() { + @Override + public void work(User user) throws Exception { + + //checkAndUpdate value + SGodSacrificeConfig sActivityRankingReward1 = SGodSacrificeConfig.getsGodSacrificeConfigMap().get(missionId); + //sendmail + String title = SErrorCodeEerverConfig.getI18NMessage("guild_activity_reward_title", new Object[]{sGlobalActivity.getSesc()}); + String content = SErrorCodeEerverConfig.getI18NMessage("guild_activity_reward_txt", new Object[]{sGlobalActivity.getSesc(), finalIndex}); + String mailReward = ItemUtil.getMailReward(sActivityRankingReward1.getRankingReward()); + MailLogic.getInstance().sendMail(uid, title, content, mailReward, nowTime, Global.MAIL_EFFECTIVE_TIME); + + } + }); + ProtocolsManager.getInstance().updateAyncWorker(ayyncWorker); + } catch (Exception e) { LOGGER.error("id为{}的玩家,{}活动排行奖励没有发成功", uid, id); System.out.println(e); From d560e2bfeebb5e643886fab6562d038cc80131d3 Mon Sep 17 00:00:00 2001 From: zhangshanxue Date: Fri, 6 Nov 2020 17:35:10 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E6=9C=88=E5=8D=A1=E5=88=B7=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/handler/GetPlayerInfoHandler.java | 18 +++++++++--------- .../jieling/logic/activity/SheJiActivity.java | 8 ++++---- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java index 9a623b49d..0a2b1067d 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java @@ -174,15 +174,15 @@ public class GetPlayerInfoHandler extends BaseHandler{ //hotfix 月卡 - int monthline = STableManager.getConfig(SMonthcardConfig.class).get(Global.MONTHCARDID).getPrice(); - int lmonthline = STableManager.getConfig(SMonthcardConfig.class).get(Global.LMONTHCARDID).getPrice(); - if(rechargeInfo.getMonthSaveAmt()>=monthline&&playerInfoManager.getMonthCard().getOrDefault(1,0)==0){ - user.getPlayerInfoManager().getMonthCard().put(Global.MONTHCARDID, (int) (System.currentTimeMillis() / 1000)); - } - if(rechargeInfo.getSmonthSaveAmt()>=lmonthline&&playerInfoManager.getMonthCard().getOrDefault(2,0)==0){ - user.getPlayerInfoManager().getMonthCard().put(Global.LMONTHCARDID, (int) (System.currentTimeMillis() / 1000)); - Poster.getPoster().dispatchEvent(new NewWelfareEvent(user, NewWelfareTypeEnum.RECHARGE_BUY.getType(),Global.LMONTHCARDID)); - } +// int monthline = STableManager.getConfig(SMonthcardConfig.class).get(Global.MONTHCARDID).getPrice(); +// int lmonthline = STableManager.getConfig(SMonthcardConfig.class).get(Global.LMONTHCARDID).getPrice(); +// if(rechargeInfo.getMonthSaveAmt()>=monthline&&playerInfoManager.getMonthCard().getOrDefault(1,0)==0){ +// user.getPlayerInfoManager().getMonthCard().put(Global.MONTHCARDID, (int) (System.currentTimeMillis() / 1000)); +// } +// if(rechargeInfo.getSmonthSaveAmt()>=lmonthline&&playerInfoManager.getMonthCard().getOrDefault(2,0)==0){ +// user.getPlayerInfoManager().getMonthCard().put(Global.LMONTHCARDID, (int) (System.currentTimeMillis() / 1000)); +// Poster.getPoster().dispatchEvent(new NewWelfareEvent(user, NewWelfareTypeEnum.RECHARGE_BUY.getType(),Global.LMONTHCARDID)); +// } StoreLogic.reloadStoreInfo(user,7);//重载功能商店 diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SheJiActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SheJiActivity.java index f1051aa76..31d486a69 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SheJiActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SheJiActivity.java @@ -135,15 +135,15 @@ class SheJiActivity extends AbstractActivity { protected void sendReward() { Thread.currentThread().setName("sendReward-Activity-" + id); SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id); - if (sGlobalActivity.getOpenRanking() == 0) { - return; - } +// if (sGlobalActivity.getOpenRanking() == 0) { +// return; +// } Map> integerListMap = SGodSacrificeConfig.getIntegerListMap().get(1); if (integerListMap == null) { return; } SGodSacrificeSetting sGodSacrificeSetting = STableManager.getConfig(SGodSacrificeSetting.class).get(1); - InnerResult rewardMap = getRewardMap(2); + InnerResult rewardMap = getRewardMap(1); Map rank2miss = rewardMap.getRank2miss(); int maxRank = rewardMap.getMaxRamk(); int maxRewardId = rewardMap.getMaxRewardId(); From f9b2a3e52aa23d11f54f597f5313c3a94a4514cc Mon Sep 17 00:00:00 2001 From: zhangshanxue Date: Mon, 9 Nov 2020 01:11:50 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=9C=88=E5=8D=A1?= =?UTF-8?q?=E4=B8=8D=E8=A7=A6=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/handler/GetPlayerInfoHandler.java | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java index 0a2b1067d..dd1ed6d61 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java @@ -174,15 +174,16 @@ public class GetPlayerInfoHandler extends BaseHandler{ //hotfix 月卡 -// int monthline = STableManager.getConfig(SMonthcardConfig.class).get(Global.MONTHCARDID).getPrice(); -// int lmonthline = STableManager.getConfig(SMonthcardConfig.class).get(Global.LMONTHCARDID).getPrice(); -// if(rechargeInfo.getMonthSaveAmt()>=monthline&&playerInfoManager.getMonthCard().getOrDefault(1,0)==0){ -// user.getPlayerInfoManager().getMonthCard().put(Global.MONTHCARDID, (int) (System.currentTimeMillis() / 1000)); -// } -// if(rechargeInfo.getSmonthSaveAmt()>=lmonthline&&playerInfoManager.getMonthCard().getOrDefault(2,0)==0){ -// user.getPlayerInfoManager().getMonthCard().put(Global.LMONTHCARDID, (int) (System.currentTimeMillis() / 1000)); -// Poster.getPoster().dispatchEvent(new NewWelfareEvent(user, NewWelfareTypeEnum.RECHARGE_BUY.getType(),Global.LMONTHCARDID)); -// } + PlayerLogic.getInstance().getMonthCardInfo(user); + int monthline = STableManager.getConfig(SMonthcardConfig.class).get(Global.MONTHCARDID).getPrice(); + int lmonthline = STableManager.getConfig(SMonthcardConfig.class).get(Global.LMONTHCARDID).getPrice(); + if(rechargeInfo.getMonthSaveAmt()>=monthline&&playerInfoManager.getMonthCard().getOrDefault(1,0)==0){ + user.getPlayerInfoManager().getMonthCard().put(Global.MONTHCARDID, (int) (System.currentTimeMillis() / 1000)); + } + if(rechargeInfo.getSmonthSaveAmt()>=lmonthline&&playerInfoManager.getMonthCard().getOrDefault(2,0)==0){ + user.getPlayerInfoManager().getMonthCard().put(Global.LMONTHCARDID, (int) (System.currentTimeMillis() / 1000)); + Poster.getPoster().dispatchEvent(new NewWelfareEvent(user, NewWelfareTypeEnum.RECHARGE_BUY.getType(),Global.LMONTHCARDID)); + } StoreLogic.reloadStoreInfo(user,7);//重载功能商店 From 9a4e721ba7ea08d3aa68dce7c3ce620a45f73023 Mon Sep 17 00:00:00 2001 From: zhangshanxue Date: Wed, 4 Nov 2020 00:26:44 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=88=B7=E6=96=B0?= =?UTF-8?q?=E5=92=8C=E5=A4=A7=E9=97=B9=E5=A4=A9=E5=AE=AB=E8=AF=95=E7=82=BC?= =?UTF-8?q?=E8=8A=82=E7=82=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/db/redis/RedisKey.java | 3 +- .../EndExpeditionBattleRequest.java | 3 ++ .../logic/championship/ChampionshipLogic.java | 40 +++++++++++++++++-- 3 files changed, 41 insertions(+), 5 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisKey.java b/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisKey.java index 96eaaed24..96d260d22 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisKey.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisKey.java @@ -217,12 +217,13 @@ public class RedisKey { public final static String CHAMPION_CHOSE_TEAM_INFO = "CHAMPION_CHOSE_TEAM_INFO"; public final static String CHAMPION_FINAL_TEAM_INFO = "CHAMPION_FINAL_TEAM_INFO"; public final static String CHAMPION_BET_MINE = "CHAMPION_BET_MINE"; // 我的竞猜 selectIdForRedis value: winUid - public final static String CHAMPION_BET_DETAIL = "CHAMPION_BET_DETAIL"; // 我的竞猜 selectUid + ":" +winUid + public final static String CHAMPION_BET_DETAIL = "CHAMPION_BET_DETAIL"; // 我的竞猜 selectUid + ":" +winUid 本次比赛竞猜当前玩家的的 所有玩家及竞猜道具信息 public final static String CHAMPION_BET_ALL = "CHAMPION_BET_ALL"; // 竞猜信息 selectUid + ":" +winUid public final static String CHAMPION_FINAL_RECODED_IDS = "CHAMPION_FINAL_RECODED_IDS"; // 巅峰赛決賽信息 //没发现什么用 public final static String CHAMPION_GUESSS_UIDS = "CHAMPION_GUESSS_UIDS"; // 巅峰赛发送竞猜币信息 public final static String CHAMPION_ARENA_RECORD_THREE = "CHAMPION_ARENA_RECORD_THREE";//三局两胜缓存 + public final static String CHAMPION_SCHEDULE = "CHAMPION_SCHEDULE";//赛程 public final static String PIDGIDTEMP = "PIDGIDTEMP"; public final static String GUILDBOSS_ARENA_RECORD = "GUILDBOSS_ARENA_RECORD"; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/Expedition/EndExpeditionBattleRequest.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/Expedition/EndExpeditionBattleRequest.java index fd60ac05d..6c10a4e60 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/Expedition/EndExpeditionBattleRequest.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/Expedition/EndExpeditionBattleRequest.java @@ -282,6 +282,9 @@ public class EndExpeditionBattleRequest extends BaseHandler { delKeys.add(RedisUtil.getInstence().getKey(RedisKey.CHAMPION_MY_BATTLLE_IDS, Integer.toString(uid))); @@ -876,6 +897,13 @@ public class ChampionshipLogic { /** * 1.选出参战人员 人永远是进攻方 + * + * arenaRecordMap 所有战斗双方记录对象 + * CHAMPION_ARENA_RECORD 当前所有战斗双方记录 + * CHAMPION_CUR_JOIN_IDS 当前所有战斗双方记录的id + * CHAMPION_JOIN 参加的成员 + * + * */ public static void selectToBattle() { RedisUtil.getInstence().del(RedisUtil.getInstence().getKey(RedisKey.CHAMPION_CUR_JOIN_IDS, "")); @@ -969,6 +997,7 @@ public class ChampionshipLogic { arenaRecordIds.addAll(arenaRecordMap.keySet()); RedisUtil.getInstence().lSet(RedisKey.CHAMPION_CUR_JOIN_IDS, "", arenaRecordIds); if (schedule == 2) { + //记录4强 8强的人 方便索引 if (arenaRecordIds.size() >= 4) { RedisUtil.getInstence().lSet(RedisKey.CHAMPION_FINAL32_JOIN_IDS, "", arenaRecordIds); LOGGER.info("the rountTimes={},the size={}", roundTimes, arenaRecordIds.size()); @@ -1000,6 +1029,9 @@ public class ChampionshipLogic { return RedisUtil.getInstence().getMapEntrys(RedisKey.CHAMPION_ARENA_RECORD, "", ids, ArenaRecord.class); } + /** + * 获取本次竞猜id + */ public static String getSelectIdForRedis() { String key = RedisUtil.getInstence().getKey(RedisKey.CHAMPION_CUR_BETID, ""); Object result = RedisUtil.getInstence().get(key); @@ -1207,7 +1239,7 @@ public class ChampionshipLogic { // //竞猜阶段取消,改成直接战斗 fix 又改回来了 // progressState = progressState==1?2:progressState; progressTmp = 100 + roundTimes * 10 + progressState; - schedule = 1; + setSchedule(1); fightTime=2; if (progressTmp == progress) { return; @@ -1215,7 +1247,7 @@ public class ChampionshipLogic { } else {//决赛 if (realTimes>5) { - schedule = 2; + setSchedule(2); if (progress != -2) { progress = -2; ChampionshipLogic.close(); @@ -1229,7 +1261,7 @@ public class ChampionshipLogic { scoreToRedis(); realTimes=1; fightTime=0; - schedule = 2; + setSchedule(2); selectToJoinFinal(); }