From 693515e205d9164fd792ba9ff68268f41eece1be Mon Sep 17 00:00:00 2001 From: wangyuan Date: Thu, 30 May 2019 20:28:33 +0800 Subject: [PATCH] vip gm --- .../main/java/com/ljsd/jieling/globals/GlobalGm.java | 1 + .../ljsd/jieling/handler/GameGM/GMRequestHandler.java | 10 ++++++++++ .../java/com/ljsd/jieling/logic/dao/PlayerManager.java | 3 +++ .../com/ljsd/jieling/logic/dao/UserMissionManager.java | 5 +++++ 4 files changed, 19 insertions(+) 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 12163361a..a3d9f8ef5 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalGm.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/globals/GlobalGm.java @@ -11,5 +11,6 @@ public interface GlobalGm { int ADOPT_ALL_DIFFICULTY = 8; // 通过所有关卡 int ADOPT_FIGHT_BY_LEVE = 9; // 根据等级开启对应的关卡 int TIME_INFO = 10; // 根据等级开启对应的关卡 + int VIP_LEVEL = 11; // 根据等级开启对应的关卡 } 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 02d459b3a..7ef209336 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 @@ -13,6 +13,7 @@ import com.ljsd.jieling.handler.map.MapLogic; import com.ljsd.jieling.logic.dao.*; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.mission.GameEvent; +import com.ljsd.jieling.logic.mission.main.VipMissionIdsType; import com.ljsd.jieling.netty.cocdex.PacketNetData; import com.ljsd.jieling.network.session.ISession; import com.ljsd.jieling.protocols.CommonProto; @@ -177,6 +178,15 @@ public class GMRequestHandler extends BaseHandler{ default: break; } + case GlobalGm.VIP_LEVEL: + VipMissionIdsType vipMissionIdsType = cUser.getUserMissionManager().getVipMissionIdsType(); + vipMissionIdsType.getFinishMissionIds().clear(); + vipMissionIdsType.getDoingMissionIds().clear(); + cUser.getPlayerInfoManager().updateVipInfo(cUser,prarm1); + vipMissionIdsType.getFinishMissionIds().addAll(vipMissionIdsType.getDoingMissionIds()); + vipMissionIdsType.getDoingMissionIds().clear(); + cUser.getUserMissionManager().setVipMissionIdsType(vipMissionIdsType); + default: break; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/PlayerManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/PlayerManager.java index 8996c772a..ca1a33ba5 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/PlayerManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/PlayerManager.java @@ -215,6 +215,9 @@ public class PlayerManager extends MongoBase { public void updateVipInfo(User user,int vipLevel) throws Exception { SVipLevelConfig sVipLevelConfig = SVipLevelConfig.getsVipLevelConfigMap().get(vipLevel); + if(sVipLevelConfig == null){ + return; + } Map vip = new HashMap<>(sVipLevelConfig.getPrivilegeMap()); for(Integer privilageId : vip.keySet()){ if(!vipInfo.containsKey(privilageId)){ diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserMissionManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserMissionManager.java index a53536d9c..3c00c408f 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserMissionManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserMissionManager.java @@ -57,6 +57,11 @@ public class UserMissionManager extends MongoBase { } } + public void setVipMissionIdsType(VipMissionIdsType vipMissionIdsType) { + updateString("vipMissionIdsType",vipMissionIdsType); + this.vipMissionIdsType = vipMissionIdsType; + } + public VipMissionIdsType getVipMissionIdsType() { return vipMissionIdsType; }