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 88d55ddb0..ad5721170 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 @@ -5340,7 +5340,9 @@ public class HeroLogic { if (judge) { MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.HONGMENG_GET_INFO_RESPONSE_VALUE, hongmengInfoIndication.build(), true); } else { - MessageUtil.sendIndicationMessage(session, 1, MessageTypeProto.MessageType.HONGMENG_INFO_INDICATION_VALUE, hongmengInfoIndication.build(), true); + if (hongmengInfoIndication.getHongmengGuardsCount() > 0 && hongmengInfoIndication.getHongmengAdditionsCount() > 0 && hongmengInfoIndication.getHongmengResonacnesCount() > 0) { + MessageUtil.sendIndicationMessage(session, 1, MessageTypeProto.MessageType.HONGMENG_INFO_INDICATION_VALUE, hongmengInfoIndication.build(), true); + } } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/HomeMissionType.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/HomeMissionType.java index a24dcb140..402392c42 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/HomeMissionType.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/main/HomeMissionType.java @@ -45,8 +45,12 @@ public class HomeMissionType extends AbstractMissionType { // 进行中得任务 Set doingMissionIds = getDoingMissionIds(); - Collection values = STableManager.getConfig(SHomeLandTask.class).values(); - for (SHomeLandTask homeTask : values) { + List landTasks = SHomeLandTask.getMap().get(result.subType.getMissionTypeValue()); + if(landTasks == null){ + return; + } + + for (SHomeLandTask homeTask : landTasks) { // 任务子id int id = homeTask.getId(); // 不在执行中 diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/MessageUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/util/MessageUtil.java index 605f33182..27e74907d 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/MessageUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/MessageUtil.java @@ -3,6 +3,7 @@ package com.ljsd.jieling.util; import com.alibaba.fastjson.JSONObject; import com.google.gson.Gson; import com.google.protobuf.GeneratedMessage; +import com.googlecode.protobuf.format.JsonFormat; import com.ljsd.GameApplication; import com.ljsd.SkyEyeService; import com.ljsd.jieling.chat.messge.MessageCache; @@ -189,6 +190,7 @@ public class MessageUtil { byte[] byteBuf = wrappedBuffer(session.getUid(), session.getToken(), indicationIndex,result, msgId, generatedMessage); session.write(byteBuf,flush); session.putBackIndicationToMap(indicationIndex,byteBuf); + LOGGER.info("sendIndicationMessage uid={} indication={}", session.getUid(), JsonFormat.printToString(generatedMessage)); } /** diff --git a/tablemanager/src/main/java/config/SHomeLandTask.java b/tablemanager/src/main/java/config/SHomeLandTask.java index ade59dd69..fca074804 100644 --- a/tablemanager/src/main/java/config/SHomeLandTask.java +++ b/tablemanager/src/main/java/config/SHomeLandTask.java @@ -3,6 +3,9 @@ package config; import manager.STableManager; import manager.Table; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; import java.util.Map; @Table(name ="HomeLandTask") @@ -16,14 +19,23 @@ public class SHomeLandTask implements BaseConfig { private int[][] reward; + private static HashMap> map = new HashMap<>(); @Override public void init() throws Exception { - + Map config = STableManager.getConfig(SHomeLandTask.class); + for (SHomeLandTask value : config.values()) { + List tasks = map.getOrDefault(value.getType(), new ArrayList<>()); + tasks.add(value); + map.put(value.getType(),tasks); + } } + public static HashMap> getMap() { + return map; + } - public int getId() { + public int getId() { return id; }