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 16ffde1a3..9485a20a5 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java @@ -43,6 +43,7 @@ import com.ljsd.jieling.netty.cocdex.Tea; import com.ljsd.jieling.network.server.ProtocolsManager; import com.ljsd.jieling.network.session.ISession; import com.ljsd.jieling.thread.task.RPCWorldServerTask; +import com.ljsd.jieling.util.CBean2Proto; import rpc.protocols.CommonProto; import rpc.protocols.MessageTypeProto; import rpc.protocols.PlayerInfoProto; @@ -347,7 +348,8 @@ public class GlobalDataManaager implements IManager { GuildLogic.getInstance().flushEveryDay(user,fBuilder); ExpeditionLogic.getInstance().flushUserdataEveryDay(user); MapLogic.getInstance().flushEndlessTreasure(user); - + //检测下称号 + CBean2Proto.getUserTitleList(user); user.getUserMissionManager().onGameEvent(user, GameEvent.DAILY_REFRESH,0); // user.getUserMissionManager().onGameEvent(user, GameEvent.BLOODY_REFRESH,0); FriendLogic.getInstance().refreshState(session); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java index 6becc0284..b34dd81b0 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java @@ -740,9 +740,9 @@ public class ArenaLogic { int[][] titleReward = value.getTitleReward(); if(titleReward !=null&& titleReward.length>0){ for(int[] reward:titleReward){ - int time = TimeUtils.nowInt() + reward[1]; - user.getPlayerInfoManager().putUserTitleValidTime(reward[0],(long)time*1000); - PlayerInfoProto.UserTitleAddIndication.newBuilder().setDecorationId(reward[0]).setTime(time); + long time = TimeUtils.getBeginOfDay(TimeUtils.nowInt() + reward[1])*1000+TimeUtils.DAY; + user.getPlayerInfoManager().putUserTitleValidTime(reward[0],time); + PlayerInfoProto.UserTitleAddIndication.newBuilder().setDecorationId(reward[0]).setTime((int)(time/1000)); MessageUtil.sendIndicationMessage(OnlineUserManager.getSessionByUid(user.getId()),1, MessageTypeProto.MessageType.USER_TITLE_ADD_INDICATION_VALUE,null,true); } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MinuteTask.java b/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MinuteTask.java index 2a9c24e0d..fbc620fbb 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MinuteTask.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MinuteTask.java @@ -146,33 +146,6 @@ public class MinuteTask extends Thread { try { ArenaLogic.getInstance().worldSendReward(); - if(STableManager.getConfig(SRechargeCommodityNewConfig.class).size()!= SRechargeCommodityNewConfig.configMap.size()){ - - Map config = STableManager.getConfig(SRechargeCommodityNewConfig.class); - Map tempConfigMap = new HashMap<>(); - Map tempSdkConfigMap = new HashMap<>(); - Map> tempConfigTypeMap = new HashMap<>(); - for(SRechargeCommodityNewConfig newConfig : config.values()){ - newConfig.setCondition(newConfig.initConditon(newConfig)); - tempConfigMap.put(newConfig.getId(),newConfig); - tempSdkConfigMap.put(newConfig.getRechargeId(),newConfig); - tempSdkConfigMap.put(newConfig.getRechargeId2(),newConfig); - tempSdkConfigMap.put(newConfig.getRechargeId3(),newConfig); - if(tempConfigTypeMap.containsKey(newConfig.getType())){ - tempConfigTypeMap.get(newConfig.getType()).add(newConfig.getId()); - }else{ - List list = new ArrayList<>(); - list.add(newConfig.getId()); - tempConfigTypeMap.put(newConfig.getType(),list); - } - } -// if(configMap == null){ - SRechargeCommodityNewConfig.configMap = tempConfigMap; - LOGGER.info("修复重新加载Recharge"); - SRechargeCommodityNewConfig.sdkconfigMap = tempSdkConfigMap; - SRechargeCommodityNewConfig.configTypeMap = tempConfigTypeMap; - - } }catch (Exception e){ e.printStackTrace(); LOGGER.error("Exception::=>{}",e.toString()); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java b/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java index dd04d2772..47e51174b 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java @@ -149,7 +149,7 @@ public class CBean2Proto { } /** - * 获取玩家皮肤列表 + * 获取玩家称号列表 * @param user * @return */ @@ -158,13 +158,15 @@ public class CBean2Proto { // 获取玩家已使用头像框列表 Map validTime = user.getPlayerInfoManager().getUserTitleValidTime(); - long now = TimeUtils.now() / 1000; + long now = TimeUtils.now(); + int passId = 0; Iterator> it = validTime.entrySet().iterator(); while (it.hasNext()){ Map.Entry next = it.next(); // 过期的删除,其他返回给客户端 if (next.getValue() != 0 && now >= next.getValue()){ + passId = next.getKey(); it.remove(); }else { CommonProto.UserTitleInfo.Builder build = CommonProto.UserTitleInfo.newBuilder(); @@ -172,6 +174,12 @@ public class CBean2Proto { userTitleLists.add(build.build()); } } + if(passId!=0){ + + PlayerInfoProto.UserTitleAddIndication.Builder builder = PlayerInfoProto.UserTitleAddIndication.newBuilder().setDecorationId(passId).setTime(-1); + MessageUtil.sendIndicationMessage(OnlineUserManager.getSessionByUid(user.getId()),1, MessageTypeProto.MessageType.USER_TITLE_ADD_INDICATION_VALUE,builder.build(),true); + + } // 数据库更新 user.getPlayerInfoManager().setUserTitleValidTime(validTime); return userTitleLists;