From 07cb65d63a7293d4952a7992b5066d9ae6ba06e7 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Thu, 15 Oct 2020 21:25:20 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=81=E7=BB=9D=E9=98=B5=E6=8E=92=E8=A1=8C?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/logic/family/DeathPathLogic.java | 10 ++++++++-- .../java/com/ljsd/jieling/logic/family/GuildLogic.java | 8 ++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/DeathPathLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/DeathPathLogic.java index 4168f519c..2f2b9b1d0 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/DeathPathLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/DeathPathLogic.java @@ -210,6 +210,7 @@ public class DeathPathLogic { startTime = (int)(TimeUtils.getAppointTime(guildWarTime[status-1][0],guildWarTime[status-1][1])/1000); overTime = (int)(TimeUtils.getAppointTime(guildWarTime[status][0],guildWarTime[status][1])/1000); if (taskExecutor == null) { + tasks.clear(); taskExecutor = new DeathPathExecutor(tasks); taskExecutor.start(); } @@ -345,8 +346,9 @@ public class DeathPathLogic { try { DeathPathTask task= blockingQueue.take(); taskDoExecute(task); - } catch (InterruptedException e) { + } catch (Exception e) { e.printStackTrace(); + LOGGER.error(e.getMessage()); } } } @@ -417,7 +419,11 @@ public class DeathPathLogic { Family.DeathPathFirstChangeIndication indication = Family.DeathPathFirstChangeIndication.newBuilder().setChangeInfo(info).build(); - GuildLogic.sendIndicationToMember(guildInfo, MessageTypeProto.MessageType.DEATH_PATH_FIRST_CHANGE_INDICATION,indication); + if(guildInfo!=null){ + GuildLogic.sendIndicationToMember(guildInfo, MessageTypeProto.MessageType.DEATH_PATH_FIRST_CHANGE_INDICATION,indication); + }else{ + LOGGER.error("Exception公会信息为空,不能发送推送,公会id为{}",n.getValue()); + } }); LOGGER.info("信息修改,需要推送"); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java index 4734ed855..e61edb590 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java @@ -1063,6 +1063,10 @@ public class GuildLogic { * @param generatedMessage */ public static void sendIndicationToMember(GuildInfo guildInfo, MessageTypeProto.MessageType messageType, GeneratedMessage generatedMessage){ + if(guildInfo==null){ + LOGGER.error("Exception工会信息已被清空"); + return; + } Map> members = guildInfo.getMembers(); for(Set items : members.values()){ for(Integer sendUid : items){ @@ -1075,6 +1079,10 @@ public class GuildLogic { } } public static void sendIndicationToMemberWithoutUser(GuildInfo guildInfo, MessageTypeProto.MessageType messageType, GeneratedMessage generatedMessage,int withOutUId){ + if(guildInfo==null){ + LOGGER.error("Exception工会信息已被清空"); + return; + } Map> members = guildInfo.getMembers(); for(Set items : members.values()){ for(Integer sendUid : items){