From 066de191155e9de994e4747107f389ab2a7931c5 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Fri, 25 Sep 2020 10:32:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=A9=E5=AE=AB=E7=A7=98=E5=AE=9D=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/handler/Expedition/TakeLayRewardHandler.java | 2 +- .../handler/Expedition/TakeTreasureRewardHandler.java | 4 ++-- .../com/ljsd/jieling/logic/dao/WorldTreasureReward.java | 9 +++++++++ .../ljsd/jieling/logic/expedition/ExpeditionLogic.java | 6 ++++-- .../java/com/ljsd/jieling/logic/store/BuyGoodsLogic.java | 3 ++- 5 files changed, 18 insertions(+), 6 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/Expedition/TakeLayRewardHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/Expedition/TakeLayRewardHandler.java index 34ee10c8c..d9b7eb963 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/Expedition/TakeLayRewardHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/Expedition/TakeLayRewardHandler.java @@ -125,7 +125,7 @@ public class TakeLayRewardHandler extends BaseHandler rewardStatusMap = user.getExpeditionManager().getWorldTreasureReward().getRewardStatusMap(); - ExpeditionLogic.sendTreasureRewardUpdate(iSession,user.getExpeditionManager().getWorldTreasureReward().getScore(),rewardStatusMap,user.getExpeditionManager().getWorldTreasureReward().getCreateTime()); + ExpeditionLogic.sendTreasureRewardUpdate(iSession,user.getExpeditionManager().getWorldTreasureReward().getScore(),rewardStatusMap,user.getExpeditionManager().getWorldTreasureReward().getCreateTime(),expeditionManager.getWorldTreasureReward().getIsBuy()); Expedition.TakeExpeditionBoxRewardResponse builder = Expedition.TakeExpeditionBoxRewardResponse.newBuilder().setDrop(drop).addAllLeve(objects).build(); MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.EXPEDITION_TAKE_BOXREWARD_RESONSE_VALUE, builder, true); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/Expedition/TakeTreasureRewardHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/Expedition/TakeTreasureRewardHandler.java index e48f6f710..2ae6cc03a 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/Expedition/TakeTreasureRewardHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/Expedition/TakeTreasureRewardHandler.java @@ -59,7 +59,7 @@ public class TakeTreasureRewardHandler extends BaseHandler stateUpdateMap = new HashMap<>(); stateUpdateMap.put(id,changeState); - ExpeditionLogic.sendTreasureRewardUpdate(iSession,worldTreasureReward.getScore(),stateUpdateMap,worldTreasureReward.getCreateTime()); + ExpeditionLogic.sendTreasureRewardUpdate(iSession,worldTreasureReward.getScore(),stateUpdateMap,worldTreasureReward.getCreateTime(),worldTreasureReward.getIsBuy()); }else{ Map stateUpdateMap = new HashMap<>(); Set sWorldBossTreasureConfigs = idsByPeriods.get(round); @@ -76,7 +76,7 @@ public class TakeTreasureRewardHandler extends BaseHandler rewardStatusMap = new HashMap<>(); //领取状态 1:表示领取基础奖励 2:表示领取额外奖励。 WorldTreasureReward(){ @@ -34,6 +35,7 @@ public class WorldTreasureReward extends MongoBase { } score = 0; rewardStatusMap = new HashMap<>(); + setIsBuy(0); updateRound(round+1); } @@ -83,5 +85,12 @@ public class WorldTreasureReward extends MongoBase { this.firstStartTime = firstStartTime; } + public int getIsBuy() { + return isBuy; + } + public void setIsBuy(int isBuy) { + this.isBuy = isBuy; + updateString("isBuy",isBuy); + } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/expedition/ExpeditionLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/expedition/ExpeditionLogic.java index cf556ceff..2bb65771f 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/expedition/ExpeditionLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/expedition/ExpeditionLogic.java @@ -795,15 +795,16 @@ public class ExpeditionLogic { Map> idsByPeriods = worldBossTreasureStaticConfig.getIdsByPeriods(); Map changeStateMap = new HashMap<>(rewardStatusMap); idsByPeriods.get(worldTreasureReward.getRound()).forEach(item->changeStateMap.putIfAbsent(item.getId(),0)); - sendTreasureRewardUpdate(session,0,changeStateMap,worldTreasureReward.getCreateTime()); + sendTreasureRewardUpdate(session,0,changeStateMap,worldTreasureReward.getCreateTime(),worldTreasureReward.getIsBuy()); } } - public static void sendTreasureRewardUpdate(ISession iSession,int score,Map changeStatusMap,int time){ + public static void sendTreasureRewardUpdate(ISession iSession,int score,Map changeStatusMap,int time,int isBuy){ Expedition.TreasureStateIndicaion.Builder builder = Expedition.TreasureStateIndicaion.newBuilder().setScore(score); builder.setResetTime(time); changeStatusMap.forEach((id,status)-> builder.addTreasureRewardState(Expedition.TreasureRewardState.newBuilder().setId(id).setState(status).build())); + builder.setIsBuy(isBuy); MessageUtil.sendIndicationMessage(iSession,1, MessageTypeProto.MessageType.EXPEDITION_TREASURE_STATE_INDICATION_VALUE,builder.build(),true); } @@ -1027,6 +1028,7 @@ public class ExpeditionLogic { response.addAllTreasureRewardState(states); response.setScore(worldTreasureReward.getScore()); response.setResetTime(worldTreasureReward.getCreateTime()); + response.setIsBuy(worldTreasureReward.getIsBuy()); }else { response.setResetTime(-1); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsLogic.java index 6ba5fc127..494f1e0e1 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsLogic.java @@ -398,8 +398,9 @@ public class BuyGoodsLogic { } if(type==GiftGoodsType.SKY_TREASURE){ user.getExpeditionManager().getWorldTreasureReward().setScore(user.getExpeditionManager().getWorldTreasureReward().getScore()+SSpecialConfig.getIntegerValue(SSpecialConfig.SKY_TREASURE_SCORE_INGIFT)); + user.getExpeditionManager().getWorldTreasureReward().setIsBuy(1); Map rewardStatusMap = user.getExpeditionManager().getWorldTreasureReward().getRewardStatusMap(); - ExpeditionLogic.sendTreasureRewardUpdate(OnlineUserManager.getSessionByUid(user.getId()),user.getExpeditionManager().getWorldTreasureReward().getScore(),rewardStatusMap,user.getExpeditionManager().getWorldTreasureReward().getCreateTime()); + ExpeditionLogic.sendTreasureRewardUpdate(OnlineUserManager.getSessionByUid(user.getId()),user.getExpeditionManager().getWorldTreasureReward().getScore(),rewardStatusMap,user.getExpeditionManager().getWorldTreasureReward().getCreateTime(),1); } if(sRechargeCommodityConfig.getTime() ==5){ rechargeInfo.updateRefreshMapByKey(sRechargeCommodityConfig.getId(),TimeUtils.now()+sRechargeCommodityConfig.getDailyUpdate()*TimeUtils.DAY);