From 08b1bd06cf34ac5604a519d6c144b234f0257a25 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Mon, 25 May 2020 11:29:08 +0800 Subject: [PATCH 1/2] =?UTF-8?q?vip=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/globals/GlobalGm.java | 1 + .../GetAllExpeditionTreasureHandler.java | 26 +++++++++++ .../handler/GameGM/GMRequestHandler.java | 4 +- .../handler/vip/VipLevelUpHandler.java | 3 +- .../jieling/logic/dao/ExpeditionManager.java | 4 ++ .../ljsd/jieling/logic/dao/UserManager.java | 1 + .../logic/dao/WorldTreasureReward.java | 4 ++ .../logic/expedition/ExpeditionLogic.java | 19 ++++++++ .../jieling/logic/player/PlayerLogic.java | 46 +++++++++---------- .../jieling/logic/store/BuyGoodsLogic.java | 16 +++---- 10 files changed, 89 insertions(+), 35 deletions(-) create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/handler/Expedition/GetAllExpeditionTreasureHandler.java diff --git a/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalGm.java b/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalGm.java index 9954eb950..02093506f 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalGm.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalGm.java @@ -23,6 +23,7 @@ public interface GlobalGm { int ESPECIAL_EQUIP = 19;//增加法宝,星级 int TREASURE_FINISH = 20;//戒灵秘宝一键完成 int FULL_OF = 21; //一键全满 + int EXPEDITION_SCORE = 23;//天宫秘宝积分 // int TECNOLOGY_MAX = 21;//科技树一键满级 // int POKEMAN_MAX = 22;//一键获得所有满级异妖 diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/Expedition/GetAllExpeditionTreasureHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/Expedition/GetAllExpeditionTreasureHandler.java new file mode 100644 index 000000000..e50d807ad --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/Expedition/GetAllExpeditionTreasureHandler.java @@ -0,0 +1,26 @@ +package com.ljsd.jieling.handler.Expedition; + +import com.ljsd.jieling.handler.BaseHandler; +import com.ljsd.jieling.logic.expedition.ExpeditionLogic; +import com.ljsd.jieling.netty.cocdex.PacketNetData; +import com.ljsd.jieling.network.session.ISession; +import com.ljsd.jieling.protocols.MessageTypeProto; +import org.springframework.stereotype.Component; + +/** + * @author lvxinran + * @date 2020/5/21 + * @discribe + */ +@Component +public class GetAllExpeditionTreasureHandler extends BaseHandler { + @Override + public MessageTypeProto.MessageType getMessageCode() { + return MessageTypeProto.MessageType.EXPEDITION_TREASURE_INFO_REQUEST; + } + + @Override + public void process(ISession iSession, PacketNetData netData) throws Exception { + ExpeditionLogic.getInstance().getAllTreasureInfo(iSession, MessageTypeProto.MessageType.EXPEDITION_TREASURE_INFO_RESPONSE); + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java index cd0f6eeeb..516c08825 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GameGM/GMRequestHandler.java @@ -345,7 +345,9 @@ public class GMRequestHandler extends BaseHandler{ pokemonManager.addPokemon(pokemon); } break; - + case GlobalGm.EXPEDITION_SCORE: + cUser.getExpeditionManager().addScore(prarm2); + break; default: break; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/vip/VipLevelUpHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/vip/VipLevelUpHandler.java index 8f151cdee..b46ce4764 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/vip/VipLevelUpHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/vip/VipLevelUpHandler.java @@ -8,7 +8,6 @@ import com.ljsd.jieling.protocols.MessageTypeProto; import org.springframework.stereotype.Component; @Component -@Deprecated //vip 等级改版 public class VipLevelUpHandler extends BaseHandler { @Override public MessageTypeProto.MessageType getMessageCode() { @@ -17,6 +16,6 @@ public class VipLevelUpHandler extends BaseHandler { @Override public void process(ISession iSession, PacketNetData netData) throws Exception { - // PlayerLogic.getInstance().vipLevelUp(iSession); + PlayerLogic.getInstance().vipLevelUp(iSession); } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/ExpeditionManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/ExpeditionManager.java index 395858bb8..72db6a5c0 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/ExpeditionManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/ExpeditionManager.java @@ -198,4 +198,8 @@ public class ExpeditionManager extends MongoBase { } + public void addScore(int score){ + worldTreasureReward.setScore(worldTreasureReward.getScore()+score); + updateString("worldTreasureReward", worldTreasureReward); + } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserManager.java index 9ea5118a5..62f937977 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserManager.java @@ -100,6 +100,7 @@ public class UserManager { user.getUserMissionManager().onGameEvent(user, GameEvent.MISSING_ROOM_REFRESH,0); user.getUserMissionManager().onGameEvent(user, GameEvent.ACHIEVE_REFRESH, 0); user.getUserMissionManager().onGameEvent(user, GameEvent.BEGINNER); + user.getUserMissionManager().onGameEvent(user, GameEvent.VIP_LEVLUP,0); Poster.getPoster().dispatchEvent(new NewWelfareEvent(user, NewWelfareTypeEnum.LOGIN_TIMES.getType(),1)); ItemUtil.drop(user,gameSetting.getBornItem(), BIReason.USER_BORN_REWARD); HeroManager heroManager = user.getHeroManager(); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/WorldTreasureReward.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/WorldTreasureReward.java index 824f230ff..323094287 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/WorldTreasureReward.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/WorldTreasureReward.java @@ -44,6 +44,10 @@ public class WorldTreasureReward extends MongoBase { return score; } + public void setScore(int score) { + this.score = score; + } + public Map getRewardStatusMap() { return rewardStatusMap; } 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 f5db6b987..002784de7 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 @@ -926,4 +926,23 @@ public class ExpeditionLogic { .setSpecialPassive(SpecialForTeamBuildEnum.toParm(teamId,user)) .build(); } + + public void getAllTreasureInfo(ISession session, MessageTypeProto.MessageType messageType) throws Exception { + int uid = session.getUid(); + User user = UserManager.getUser(uid); + WorldTreasureReward worldTreasureReward = user.getExpeditionManager().getWorldTreasureReward(); + + Expedition.ExpeditionTreasureInfoResponse.Builder response = Expedition.ExpeditionTreasureInfoResponse.newBuilder(); + Map rewardStatusMap = worldTreasureReward.getRewardStatusMap(); + if(!rewardStatusMap.isEmpty()){ + List states = new ArrayList<>(100); + for(Map.Entry entry:rewardStatusMap.entrySet()){ + Expedition.TreasureRewardState.Builder builder = Expedition.TreasureRewardState.newBuilder().setId(entry.getKey()).setState(entry.getValue()); + states.add(builder.build()); + } + response.addAllTreasureRewardState(states); + } + response.setScore(worldTreasureReward.getScore()); + MessageUtil.sendMessage(session,1,messageType.getNumber(),response.build(),true); + } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java index 08fbfbfeb..9845d8ff9 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java @@ -231,31 +231,29 @@ public class PlayerLogic { return valueLength; } -// public void vipLevelUp(ISession session) throws Exception { -// int uid = session.getUid(); -// User user = UserManager.getUser(uid); -// PlayerManager playerInfoManager = user.getPlayerInfoManager(); -//// if(playerInfoManager.getHadTakeDailyBoxVip() == -1){ -//// throw new ErrorCodeException(ErrorCode.NOT_TAKE_VIP_DAILY_REWARD); -//// } -//// Set doingMissionIds = user.getUserMissionManager().getVipMissionIdsType().getDoingMissionIds(); -//// if(!doingMissionIds.isEmpty()){ -//// throw new ErrorCodeException(ErrorCode.newDefineCode("not finfish")); -//// } -// -// int vipLevel = playerInfoManager.getVipLevel(); -// playerInfoManager.updateVipInfo(user,vipLevel+1); + public void vipLevelUp(ISession session) throws Exception { + int uid = session.getUid(); + User user = UserManager.getUser(uid); + PlayerManager playerInfoManager = user.getPlayerInfoManager(); + Set doingMissionIds = user.getUserMissionManager().getVipMissionIdsType().getDoingMissionIds(); + if(!doingMissionIds.isEmpty()){ + throw new ErrorCodeException(ErrorCode.newDefineCode("not finfish")); + } + + int vipLevel = playerInfoManager.getVipLevel(); + playerInfoManager.setVipLevel(vipLevel+1); + user.getUserMissionManager().onGameEvent(user,GameEvent.VIP_LEVLUP,playerInfoManager.getVipLevel()); // CombatLogic.getInstance().getNewAdventureReward(user, true); -//// List missionList = new ArrayList<>(); -//// MissionLoigc.getVipMission(user,missionList); -//// CommonProto.VipBaseInfo vipInfoProto = CommonProto.VipBaseInfo.newBuilder() -//// .setHadTakeDailyBox(playerInfoManager.getHadTakeDailyBoxVip()) -//// .setHadTakeLevelBox(playerInfoManager.getHadTakeLevelBoxVip()) -//// .setVipLevel(playerInfoManager.getVipLevel()).build(); -//// PlayerInfoProto.VipLevelUpResponse.Builder builder = PlayerInfoProto.VipLevelUpResponse.newBuilder().addAllUserMissionInfo(missionList); -//// builder.setVipBaseInfo(vipInfoProto); -//// MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.VIP_LEVELUP_RESPONSE_VALUE,builder.build(),true); -// } + List missionList = new ArrayList<>(); + MissionLoigc.getVipMission(user,missionList); + CommonProto.VipBaseInfo vipInfoProto = CommonProto.VipBaseInfo.newBuilder() +// .setHadTakeDailyBox(playerInfoManager.getHadTakeDailyBoxVip()) +// .setHadTakeLevelBox(playerInfoManager.getHadTakeLevelBoxVip()) + .setVipLevel(playerInfoManager.getVipLevel()).build(); + PlayerInfoProto.VipLevelUpResponse.Builder builder = PlayerInfoProto.VipLevelUpResponse.newBuilder().addAllUserMissionInfo(missionList); + builder.setVipBaseInfo(vipInfoProto); + MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.VIP_LEVELUP_RESPONSE_VALUE,builder.build(),true); + } 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 7e2b627f2..2b22ced8d 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 @@ -227,13 +227,13 @@ public class BuyGoodsLogic { ISession session = OnlineUserManager.getSessionByUid(uid); //vip 等级更新和推送 - int newLeve= SVipLevelConfig.getsVipLevel(rechargeInfo.getSaveAmt()); - if(user.getPlayerInfoManager().getVipLevel()!=newLeve){ -// user.getPlayerInfoManager().updateVipInfo(user,newLeve); - user.getPlayerInfoManager().setVipLevel(newLeve); - user.getPlayerInfoManager().updateVipInfo(GlobalsDef.VIP_UNLOCK_PRIVILEGE,newLeve); -// CombatLogic.getInstance().getNewAdventureReward(user, true); - } +// int newLeve= SVipLevelConfig.getsVipLevel(rechargeInfo.getSaveAmt()); +// if(user.getPlayerInfoManager().getVipLevel()!=newLeve){ +//// user.getPlayerInfoManager().updateVipInfo(user,newLeve); +// user.getPlayerInfoManager().setVipLevel(newLeve); +// user.getPlayerInfoManager().updateVipInfo(GlobalsDef.VIP_UNLOCK_PRIVILEGE,newLeve); +//// CombatLogic.getInstance().getNewAdventureReward(user, true); +// } PlayerInfoProto.RefreshRechargeIndication.Builder builder = PlayerInfoProto.RefreshRechargeIndication.newBuilder(); builder.setAmount(rechargeInfo.getSaveAmt()); builder.setMonthSaveAmt(rechargeInfo.getMonthSaveAmt()); @@ -410,7 +410,7 @@ public class BuyGoodsLogic { if(isNew){ needChange = true; } - continue; +// continue; } } int[] discountType = sRechargeCommodityConfig.getDiscountType(); From 142dcb697067e2884afe350462b531b4315d121b Mon Sep 17 00:00:00 2001 From: lvxinran Date: Mon, 25 May 2020 12:36:02 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=88=98=E6=96=97=E4=BD=8D=E7=BD=AE?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/ljsd/jieling/util/MonsterUtil.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/MonsterUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/util/MonsterUtil.java index 8e0a803db..dee0e7cb6 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/MonsterUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/MonsterUtil.java @@ -38,6 +38,8 @@ public class MonsterUtil { for (int monsterId : monsterIds) { if(monsterId!=0){ monsterList.add(monsterMap.get(monsterId).setPosition(position++).build()); + }else{ + position++; } }