diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/Expedition/HeroNodeRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/Expedition/HeroNodeRequestHandler.java index 30bac0b39..aa0b8a0f4 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/Expedition/HeroNodeRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/Expedition/HeroNodeRequestHandler.java @@ -90,17 +90,17 @@ public class HeroNodeRequestHandler extends BaseHandler jewelInfo = hero.getJewelInfo(); for (String jewel : jewelInfo) { - PropertyItem propertyItem = user.getEquipManager().getEquipMap().get(jewel); + PropertyItem propertyItem = user.getExpeditionManager().getEquipMap().get(jewel); if (propertyItem == null) continue; Jewel j = (Jewel) propertyItem; - user.getExpeditionManager().addEquip(user, j); + // user.getExpeditionManager().addEquip(user, j); + drop.addSoulEquip(CBean2Proto.getEquipProto(j)); } - CommonProto.Drop.Builder drop = CommonProto.Drop.newBuilder(); drop.addHero(CBean2Proto.getHero(hero)); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java index 189b203e3..a2ea02932 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java @@ -2630,18 +2630,18 @@ public class MapLogic { if(trialInfo.getAddHpCount()>=healing[1]){ throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); } - boolean itemCost = ItemUtil.itemCost(user, new int[][]{{healing[0],1}}, BIReason.TRIAL_ADD_HP_CONSUME, 1); - if(!itemCost){ - throw new ErrorCodeException(ErrorCode.ITEM_NOT_ENOUGH); - } Map propertyMap = heroInfo.get(heroId).getProperty(); int curHp = propertyMap.get(HeroAttributeEnum.CurHP.getPropertyId()); if(curHp==0){ throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); }else{ + boolean itemCost = ItemUtil.itemCost(user, new int[][]{{healing[0],1}}, BIReason.TRIAL_ADD_HP_CONSUME, 1); + if(!itemCost){ + throw new ErrorCodeException(ErrorCode.ITEM_NOT_ENOUGH); + } //todo 加血逻辑 int maxHp = propertyMap.get(HeroAttributeEnum.Hp.getPropertyId()); - int resultHp = Math.min(curHp+maxHp*5000/10000,maxHp); + int resultHp = Math.min(curHp+maxHp/2,maxHp); propertyMap.put(HeroAttributeEnum.CurHP.getPropertyId(),resultHp); trialInfo.getHeroInfo().get(heroId).setProperty(propertyMap); mapManager.updateTrialAddHpCount(1); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/FourtyTwoBehavior.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/FourtyTwoBehavior.java index df794da86..890e5f5dd 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/FourtyTwoBehavior.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/FourtyTwoBehavior.java @@ -5,6 +5,9 @@ import com.ljsd.jieling.handler.map.mapType.AbstractMap; import com.ljsd.jieling.handler.map.mapType.TowerMap; import com.ljsd.jieling.ktbeans.ReportEventEnum; import com.ljsd.jieling.ktbeans.ReportUtil; +import com.ljsd.jieling.logic.activity.event.LuckWheelEvent; +import com.ljsd.jieling.logic.activity.event.Poster; +import com.ljsd.jieling.logic.activity.event.TrailCrossEvent; import com.ljsd.jieling.logic.rank.rankImpl.AbstractRank; import com.ljsd.jieling.logic.rank.RankContext; import com.ljsd.jieling.logic.rank.RankEnum; @@ -41,6 +44,7 @@ public class FourtyTwoBehavior extends BaseBehavior { floor = floor%10000; } //---- + Poster.getPoster().dispatchEvent(new TrailCrossEvent(user.getId(),floor)); if (challengeConfig.getType() == 2 && floor >= maxTower) { mapManager.setTrialFloor(floor + 1); LOGGER.info("当前层为{},最大层为{}", floor, maxTower); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_kick.java b/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_kick.java index f492f4891..e67d96467 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_kick.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_kick.java @@ -16,6 +16,7 @@ public class Cmd_kick extends GmGlobleAbstract { ISession session= OnlineUserManager.getSessionByUid(getUser().getId()); if (session != null) { MessageUtil.sendErrorCode(session, ErrorCode.kickUserCode, "您已被踢下线!"); + Thread.sleep(100); instance.kickOldUser(getUser().getId(), "", ErrorCode.kickUserCode, "LOSE HEART PACKET!!!!", 0); } return true; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java index 9bf988773..8226bcc69 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java @@ -386,13 +386,27 @@ public class GlobalDataManaager implements IManager { updateBuyTimesGoodsId.add(next.getKey()); long endTime = next.getValue(); boolean isMiss =false; //移除清除的配置 线上错误避免 + int tt =0; while (endTime1000){ + isMiss =true; + LOGGER.error("Exception:配置"+next.getKey()+"endTime"+endTime+"sRe"+sRechargeCommodityConfig.getDailyUpdate()); + break; + } endTime += sRechargeCommodityConfig.getDailyUpdate() * TimeUtils.ONE_DAY ; } if(isMiss){ diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java index aa230775a..464006a27 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java @@ -76,5 +76,5 @@ public interface ActivityType { int JADE_DYNASTY_SHOP = 20001;//破阵诛仙限时商市 int JADE_DYNASTY_RARE_SHOP = 20002;//破阵诛仙珍奇宝阁 int ITEMS_STORE= 6000;//百宝商会 - + int TRIAL_EXPERT = 70;//幻境达人 } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityTypeEnum.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityTypeEnum.java index bf600b04f..b599f7760 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityTypeEnum.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityTypeEnum.java @@ -57,7 +57,7 @@ public enum ActivityTypeEnum { JADE_DYNASTY_SHOP(ActivityType.JADE_DYNASTY_SHOP, DefaultEmptyActivity::new), JADE_DYNASTY_RARE_SHOP(ActivityType.JADE_DYNASTY_RARE_SHOP, DefaultEmptyActivity::new), ITEMS_STORE(ActivityType.ITEMS_STORE, DefaultEmptyActivity::new), - + TRIAL_EXPERT(ActivityType.TRIAL_EXPERT,TrialExpectRankActivity::new) ; private int type; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/GrowthFundActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/GrowthFundActivity.java index 877d89512..853a38905 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/GrowthFundActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/GrowthFundActivity.java @@ -23,7 +23,7 @@ class GrowthFundActivity extends AbstractActivity { int[][] values = sActivityRewardConfig.getValues(); User user = UserManager.getUser(session.getUid()); SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id); - Integer buyTimes = user.getPlayerInfoManager().getRechargeInfo().getBuyGoodsTimes().getOrDefault(sGlobalActivity.getCanBuyRechargeId(), 0); + Integer buyTimes = user.getPlayerInfoManager().getRechargeInfo().getBuyGoodsTimes().getOrDefault(sGlobalActivity.getCanBuyRechargeId()[0], 0); if(buyTimes == 0){ return false; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/TrialExpectRankActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/TrialExpectRankActivity.java new file mode 100644 index 000000000..b7bc721e9 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/TrialExpectRankActivity.java @@ -0,0 +1,32 @@ +package com.ljsd.jieling.logic.activity; + + +import com.ljsd.jieling.jbean.ActivityMission; +import com.ljsd.jieling.logic.OnlineUserManager; +import com.ljsd.jieling.logic.activity.event.*; +import com.ljsd.jieling.logic.dao.UserManager; +import com.ljsd.jieling.logic.dao.root.User; +import com.ljsd.jieling.logic.rank.RankContext; +import com.ljsd.jieling.logic.rank.RankEnum; +import com.ljsd.jieling.network.session.ISession; +import config.SGlobalActivity; + +/** + * + */ +class TrialExpectRankActivity extends ExpectRankActivity { + + public TrialExpectRankActivity(int id) { + super(id); + Poster.getPoster().listenEvent(this, TrailCrossEvent.class); + } + + @Override + public void onEvent(IEvent event) throws Exception { + if (!(event instanceof TrailCrossEvent)) + return; + update(UserManager.getUser(((TrailCrossEvent) event).getUid()), 1); + } + + +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/TrailCrossEvent.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/TrailCrossEvent.java new file mode 100644 index 000000000..89af2918b --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/TrailCrossEvent.java @@ -0,0 +1,33 @@ +package com.ljsd.jieling.logic.activity.event; + + +/** + * Description: 幸运转盘事件 + * Author: zsx + * CreateDate: 2019/9/23 15:46 + */ +public class TrailCrossEvent implements IEvent{ + private int uid; + private int floor; + + public TrailCrossEvent(int uid, int floor) { + this.uid = uid; + this.floor = floor; + } + + public int getUid() { + return uid; + } + + public void setUid(int uid) { + this.uid = uid; + } + + public int getFloor() { + return floor; + } + + public void setFloor(int floor) { + this.floor = floor; + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/CumulationData.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/CumulationData.java index deb2dd4b8..708f3ca89 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/CumulationData.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/CumulationData.java @@ -165,6 +165,9 @@ public class CumulationData { //森罗幻境中参与小游戏次数 private int playMiniGameTimes; + //日常任务活跃度达到num + private int daily_task_remove_item; + public Result updateData(MissionType missionType, Object...parm) throws Exception { return DataManagerDistributor.updateData(this, missionType,parm); } @@ -367,4 +370,12 @@ public class CumulationData { public void setPlayMiniGameTimes(int playMiniGameTimes) { this.playMiniGameTimes = playMiniGameTimes; } + + public int getDaily_task_remove_item() { + return daily_task_remove_item; + } + + public void setDaily_task_remove_item(int daily_task_remove_item) { + this.daily_task_remove_item = daily_task_remove_item; + } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java index c897beccc..43a6b9294 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java @@ -1939,9 +1939,13 @@ public class HeroLogic{ private void wearJewel(Hero hero,EquipManager equipManager,String equipId)throws Exception{ Jewel equip =(Jewel)equipManager.getEquipMap().get(equipId); + if( null == equip || null == hero ){ throw new ErrorCodeException(ErrorCode.HERO_EQUIP_ERR); } + if(null!=equip.getHeroId()&&!equip.getHeroId().equals("")){ + return; + } String remove = ""; for(String jewelId:hero.getJewelInfo()){ @@ -2003,10 +2007,12 @@ public class HeroLogic{ }else if(type==2){ Map equipMap = user.getEquipManager().getEquipMap(); for(String equipId:equipIds){ - if(!hero.getJewelInfo().contains(equipId)||equipMap.get(equipId)==null){ + if(!hero.getJewelInfo().contains(equipId)){ throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); } - equipMap.get(equipId).setHeroId(""); + if(equipMap.get(equipId)!=null){ + equipMap.get(equipId).setHeroId(""); + } hero.removeJewel(equipId); } } @@ -2553,7 +2559,8 @@ public class HeroLogic{ if(soulEquipByPositionMap!=null&&soulEquipByPositionMap.size()>0){ soulEquipByPositionMap.forEach((k,v)->returnItemMap.put(v,returnItemMap.getOrDefault(v,0)+1)); } - Set jewelInfo = hero.getJewelInfo(); + + Set jewelInfo = new HashSet<>(hero.getJewelInfo()); for(String equipId:jewelInfo){ if(!equipMap.containsKey(equipId)){ continue; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java index 4d1576f80..6a8bdb178 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLogic.java @@ -285,6 +285,11 @@ public class ItemLogic { throw new ErrorCodeException(ErrorCode.ITEM_DECOMPOSE_SOULE_CANT); Jewel jewel = (Jewel)propertyItem; SJewelConfig config = STableManager.getConfig(SJewelConfig.class).get(propertyItem.getEquipId()); + if(jewel.getLevel()==0&&jewel.getBuildLevel()==0){ + SItem sItem = SItem.getsItemMap().get(propertyItem.getEquipId()); + reward = getStringBuilder(reward, 1, sItem.getResolveReward()); + continue; + } if(jewel.getLevel()!=0){ Map rankupConfigMap = SJewelRankupConfig.rankupMap.get(config.getLevelupPool()).get(1); for(SJewelRankupConfig value:rankupConfigMap.values()){ @@ -321,20 +326,32 @@ public class ItemLogic { } } } - SItem sItem = SItem.getsItemMap().get(propertyItem.getEquipId()); + items.add(new int[]{propertyItem.getEquipId(),1}); jewelIdReport.add(propertyItem.getEquipId()); jewelLevelReport.add(propertyItem.getLevel()); jewelQualityReport.add(((Jewel) propertyItem).getBuildLevel()); - reward = getStringBuilder(reward, 1, sItem.getResolveReward()); } - - for (String jewelId : jewelList) { user.getEquipManager().remove(jewelId); - } + CommonProto.Drop.Builder drop = ItemUtil.drop(user, StringUtil.parseFiledInt(reward.toString()), 1, 0,BIReason.JEWEL_DECOMPOSE); + + Map baseItemMap = new HashMap<>(); + Map baseCardMap = new HashMap<>(); + Map baseEquipMap = new HashMap<>(); + Map baseRandomMap = new HashMap<>(); + + for (int[] ints:items) { + Map mapRe = ItemUtil.getMapRe(ints[0], baseItemMap, baseCardMap, baseEquipMap, baseRandomMap); + if(mapRe.containsKey(ints[0])){ + mapRe.put(ints[0],mapRe.get(ints[0])+ints[1]); + }else { + mapRe.put(ints[0],ints[1]); + } + } + ItemUtil.drop(user,drop,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap,BIReason.JEWEL_DECOMPOSE); List reportMap = drop.getItemlistList(); List itemId = new ArrayList<>(reportMap.size()); List itemNum = new ArrayList<>(reportMap.size()); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionLoigc.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionLoigc.java index f3000d759..b33473b5a 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionLoigc.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/MissionLoigc.java @@ -488,7 +488,7 @@ public class MissionLoigc { if(missionStateChangeInfos!=null && !missionStateChangeInfos.isEmpty()){ CommonProto.Drop.Builder drop = ItemUtil.drop(user, missionStateChangeInfos.get(0).getRewwardGroups(), BIReason.TAKE_MISSION_REWARD); - user.getUserMissionManager().onGameEvent(user,GameEvent.DAILY_TASK_TYPE,missionId); + user.getUserMissionManager().onGameEvent(user,GameEvent.DAILY_TASK_TYPE,missionId,user); ReportUtil.onReportEvent(user, ReportEventEnum.MISSION_COMPLETE.getType(),String.valueOf(missionId),type); PlayerInfoProto.TakeMissionRewardResponse build = PlayerInfoProto.TakeMissionRewardResponse.newBuilder().setDrop(drop).build(); MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.TAKE_MISSION_REWARD_RESPONSE_VALUE,build,true); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/DailyTaskManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/DailyTaskManager.java index 79c232124..3451797cc 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/DailyTaskManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/DailyTaskManager.java @@ -17,6 +17,9 @@ public class DailyTaskManager extends AbstractDataManager{ @Override public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) { + ItemManager itemManager = ((User)parm[1]).getItemManager(); + Item item = itemManager.getItem(Global.DAILY_TASK_REMOVE_ITEM); + data.setDaily_task_remove_item(Math.max(data.getDaily_task_remove_item(),item.getItemNum())); return new CumulationData.Result(missionType); } @@ -27,16 +30,20 @@ public class DailyTaskManager extends AbstractDataManager{ @Override public boolean isFinish(User user,CumulationData data, int[][] cfgValue, Object... parm) { - ItemManager itemManager = user.getItemManager(); - Item item = itemManager.getItem(Global.DAILY_TASK_REMOVE_ITEM); - return item!=null&&item.getItemNum()>=cfgValue[1][0]; +// ItemManager itemManager = user.getItemManager(); +// Item item = itemManager.getItem(Global.DAILY_TASK_REMOVE_ITEM); +// return item!=null&&item.getItemNum()>=cfgValue[1][0]; + + + return data.getDaily_task_remove_item()>=cfgValue[1][0]; } @Override public int getProcess(User user, CumulationData data, int[] missionSubType) { - ItemManager itemManager = user.getItemManager(); - Item item = itemManager.getItem(Global.DAILY_TASK_REMOVE_ITEM); - return item==null?0:item.getItemNum(); +// ItemManager itemManager = user.getItemManager(); +// Item item = itemManager.getItem(Global.DAILY_TASK_REMOVE_ITEM); +// return item==null?0:item.getItemNum(); + return data.getDaily_task_remove_item(); } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/ExpeditionPassManger.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/ExpeditionPassManger.java index 6fd8bc697..ef8185539 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/ExpeditionPassManger.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/data/ExpeditionPassManger.java @@ -14,7 +14,7 @@ public class ExpeditionPassManger extends AbstractDataManager{ @Override public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) { int type = (int) parm[0]; - if(type==-1){ + if(type==-1||type>2){ type=3; } data.expedition_floor_times.put(type,data.expedition_floor_times.getOrDefault(type, 0)+1); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/MissingRoomMissionType.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/MissingRoomMissionType.java index 1963004b1..dfae9d226 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/MissingRoomMissionType.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/MissingRoomMissionType.java @@ -125,9 +125,21 @@ public class MissingRoomMissionType extends AbstractMissionType{ if(star!=0||type!=0){ throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); } - int[][] cost = new int[][]{sMazeTreasure.getTakeItem()}; - //特权减少消耗 + int[] costTemp = new int[sMazeTreasure.getTakeItem().length]; + for(int i= 0; i missingType = SPrivilegeTypeConfig.privilegeByType.get(VipPrivilegeType.MISSING_ROOM_CONSUME); +// +// for(SPrivilegeTypeConfig config:missingType){ +// if(user.getPlayerInfoManager().containPrivilageId(config.getId())){ +// throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); +// n[1] =(int)(n[1]/10000d*(10000+config.getCondition()[0][1])); +// } +// } Arrays.stream(cost).forEach(n->{ for(SPrivilegeTypeConfig config:missingType){ if(user.getPlayerInfoManager().containPrivilageId(config.getId())){ 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 b5469660f..06bcc07da 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 @@ -309,7 +309,7 @@ public class PlayerLogic { Set fixVipId = new HashSet<>(); for(Map.Entry vipInfoItem : vipInfo.entrySet()){ //如果这个权限是活动 且永久了 那么需要修复 - if(vipInfoItem.getValue().getEffectTime()==0&&SPrivilegeTypeConfig.getsPrivilegeTypeConfigMap().get(vipInfoItem.getKey()).getPrivilegeType()==5){ + if(vipInfoItem.getValue().getEffectTime()==0&&SPrivilegeTypeConfig.getsPrivilegeTypeConfigMap().get(vipInfoItem.getKey()).getUnlockType()==5){ fixVipId.add(vipInfoItem.getKey()); } if(vipInfoItem.getValue().getEffectTime()!=0 && vipInfoItem.getValue().getEffectTime()<=(TimeUtils.now()/1000)){ @@ -317,11 +317,10 @@ public class PlayerLogic { CombatLogic.getInstance().getNewAdventureReward(user,true,vipInfoItem.getValue().getEffectTime()); } removePrivileges.add(vipInfoItem.getKey()); - continue; } } if(!fixVipId.isEmpty()){ - fixVipId.forEach(n->playerInfoManager.addVipByTime(n,(int)((TimeUtils.now()+TimeUtils.WEEK)/1000))); + fixVipId.forEach(n->playerInfoManager.addVipByTime(n,(int)(TimeUtils.now()/1000))); } playerInfoManager.vipFlush(removePrivileges); //vip刷新后才能发给前端