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 768238c59..baff99a00 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 @@ -236,4 +236,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 ffdbd09f3..08714ac1d 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 @@ -975,4 +975,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(); 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++; } }