diff --git a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/DefaultMessageMatcher.java b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/DefaultMessageMatcher.java index 9e5a7057..e14edc40 100644 --- a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/DefaultMessageMatcher.java +++ b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/DefaultMessageMatcher.java @@ -37,10 +37,10 @@ import com.foxinmy.weixin4j.type.MessageType; */ public class DefaultMessageMatcher implements WeixinMessageMatcher { - private final Map> messageClassMap; + private final Map> messageClassMap; public DefaultMessageMatcher() { - messageClassMap = new HashMap>(); + messageClassMap = new HashMap>(); initMessageClass(); } @@ -65,19 +65,19 @@ public class DefaultMessageMatcher implements WeixinMessageMatcher { private void initGeneralMessageClass() { for (AccountType accountType : AccountType.values()) { - messageClassMap.put(new MessageKey(MessageType.text.name(), null, + messageClassMap.put(new WeixinMessageKey(MessageType.text.name(), null, accountType), TextMessage.class); - messageClassMap.put(new MessageKey(MessageType.image.name(), null, + messageClassMap.put(new WeixinMessageKey(MessageType.image.name(), null, accountType), ImageMessage.class); - messageClassMap.put(new MessageKey(MessageType.voice.name(), null, + messageClassMap.put(new WeixinMessageKey(MessageType.voice.name(), null, accountType), VoiceMessage.class); - messageClassMap.put(new MessageKey(MessageType.video.name(), null, + messageClassMap.put(new WeixinMessageKey(MessageType.video.name(), null, accountType), VideoMessage.class); - messageClassMap.put(new MessageKey(MessageType.shortvideo.name(), + messageClassMap.put(new WeixinMessageKey(MessageType.shortvideo.name(), null, accountType), VideoMessage.class); - messageClassMap.put(new MessageKey(MessageType.location.name(), + messageClassMap.put(new WeixinMessageKey(MessageType.location.name(), null, accountType), LocationMessage.class); - messageClassMap.put(new MessageKey(MessageType.link.name(), null, + messageClassMap.put(new WeixinMessageKey(MessageType.link.name(), null, accountType), LinkMessage.class); } } @@ -87,39 +87,39 @@ public class DefaultMessageMatcher implements WeixinMessageMatcher { EventType[] eventTypes = new EventType[] { EventType.subscribe, EventType.unsubscribe }; for (EventType eventType : eventTypes) { - messageClassMap.put(new MessageKey(messageType, eventType.name(), + messageClassMap.put(new WeixinMessageKey(messageType, eventType.name(), AccountType.MP), com.foxinmy.weixin4j.mp.event.ScribeEventMessage.class); } for (EventType eventType : eventTypes) { - messageClassMap.put(new MessageKey(messageType, eventType.name(), + messageClassMap.put(new WeixinMessageKey(messageType, eventType.name(), AccountType.QY), com.foxinmy.weixin4j.qy.event.ScribeEventMessage.class); } for (AccountType accountType : AccountType.values()) { messageClassMap.put( - new MessageKey(messageType, EventType.location.name(), + new WeixinMessageKey(messageType, EventType.location.name(), accountType), LocationEventMessage.class); - messageClassMap.put(new MessageKey(messageType, + messageClassMap.put(new WeixinMessageKey(messageType, EventType.location_select.name(), accountType), MenuLocationEventMessage.class); for (EventType eventType : new EventType[] { EventType.click, EventType.view }) { messageClassMap.put( - new MessageKey(messageType, eventType.name(), + new WeixinMessageKey(messageType, eventType.name(), accountType), MenuEventMessage.class); } for (EventType eventType : new EventType[] { EventType.scancode_push, EventType.scancode_waitmsg }) { messageClassMap.put( - new MessageKey(messageType, eventType.name(), + new WeixinMessageKey(messageType, eventType.name(), accountType), MenuScanEventMessage.class); } for (EventType eventType : new EventType[] { EventType.pic_sysphoto, EventType.pic_photo_or_album, EventType.pic_weixin }) { messageClassMap.put( - new MessageKey(messageType, eventType.name(), + new WeixinMessageKey(messageType, eventType.name(), accountType), MenuPhotoEventMessage.class); } } @@ -128,22 +128,22 @@ public class DefaultMessageMatcher implements WeixinMessageMatcher { private void initMpEventMessageClass() { String messageType = MessageType.event.name(); AccountType accountType = AccountType.MP; - messageClassMap.put(new MessageKey(messageType, EventType.scan.name(), + messageClassMap.put(new WeixinMessageKey(messageType, EventType.scan.name(), accountType), com.foxinmy.weixin4j.mp.event.ScanEventMessage.class); - messageClassMap.put(new MessageKey(messageType, + messageClassMap.put(new WeixinMessageKey(messageType, EventType.masssendjobfinish.name(), accountType), MassEventMessage.class); - messageClassMap.put(new MessageKey(messageType, + messageClassMap.put(new WeixinMessageKey(messageType, EventType.templatesendjobfinish.name(), accountType), TemplatesendjobfinishMessage.class); - messageClassMap.put(new MessageKey(messageType, + messageClassMap.put(new WeixinMessageKey(messageType, EventType.kf_create_session.name(), accountType), KfCreateEventMessage.class); - messageClassMap.put(new MessageKey(messageType, + messageClassMap.put(new WeixinMessageKey(messageType, EventType.kf_close_session.name(), accountType), KfCloseEventMessage.class); - messageClassMap.put(new MessageKey(messageType, + messageClassMap.put(new WeixinMessageKey(messageType, EventType.kf_switch_session.name(), accountType), KfSwitchEventMessage.class); } @@ -151,21 +151,21 @@ public class DefaultMessageMatcher implements WeixinMessageMatcher { private void initQyEventMessageClass() { String messageType = MessageType.event.name(); AccountType accountType = AccountType.QY; - messageClassMap.put(new MessageKey(messageType, + messageClassMap.put(new WeixinMessageKey(messageType, EventType.batch_job_result.name(), accountType), BatchjobresultMessage.class); messageClassMap.put( - new MessageKey(messageType, EventType.enter_agent.name(), + new WeixinMessageKey(messageType, EventType.enter_agent.name(), accountType), EnterAgentEventMessage.class); } @Override - public Class match(MessageKey messageKey) { + public Class match(WeixinMessageKey messageKey) { return messageClassMap.get(messageKey); } @Override - public void regist(MessageKey messageKey, + public void regist(WeixinMessageKey messageKey, Class messageClass) { Class clazz = messageClassMap.get(messageKey); if (clazz != null) { diff --git a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/WeixinMessageDispatcher.java b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/WeixinMessageDispatcher.java index 160feb8c..2eff2fc9 100644 --- a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/WeixinMessageDispatcher.java +++ b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/WeixinMessageDispatcher.java @@ -119,7 +119,7 @@ public class WeixinMessageDispatcher { public void doDispatch(final ChannelHandlerContext context, final WeixinRequest request, final CruxMessageHandler cruxMessage) throws WeixinException { - MessageKey messageKey = defineMessageKey(cruxMessage.getMsgType(), + WeixinMessageKey messageKey = defineMessageKey(cruxMessage.getMsgType(), cruxMessage.getEventType(), cruxMessage.getAccountType()); Class targetClass = messageMatcher .match(messageKey); @@ -159,9 +159,9 @@ public class WeixinMessageDispatcher { * 账号类型 * @return */ - protected MessageKey defineMessageKey(String messageType, String eventType, + protected WeixinMessageKey defineMessageKey(String messageType, String eventType, AccountType accountType) { - return new MessageKey(messageType, eventType, accountType); + return new WeixinMessageKey(messageType, eventType, accountType); } /** @@ -213,7 +213,7 @@ public class WeixinMessageDispatcher { */ protected MessageHandlerExecutor getHandlerExecutor( ChannelHandlerContext context, WeixinRequest request, - MessageKey messageKey, Object message, Set nodeNames) + WeixinMessageKey messageKey, Object message, Set nodeNames) throws WeixinException { WeixinMessageHandler messageHandler = null; WeixinMessageHandler[] messageHandlers = getMessageHandlers(); @@ -447,7 +447,7 @@ public class WeixinMessageDispatcher { this.beanFactory = beanFactory; } - public void registMessageClass(MessageKey messageKey, + public void registMessageClass(WeixinMessageKey messageKey, Class messageClass) { messageMatcher.regist(messageKey, messageClass); } diff --git a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/MessageKey.java b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/WeixinMessageKey.java similarity index 86% rename from weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/MessageKey.java rename to weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/WeixinMessageKey.java index 85ea7118..b7251080 100644 --- a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/MessageKey.java +++ b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/WeixinMessageKey.java @@ -8,13 +8,13 @@ import com.foxinmy.weixin4j.util.StringUtil; /** * 微信消息key * - * @className MessageKey + * @className WeixinMessageKey * @author jy * @date 2015年6月9日 * @since JDK 1.7 * @see */ -public class MessageKey implements Serializable { +public class WeixinMessageKey implements Serializable { private static final long serialVersionUID = -691330687850400289L; @@ -22,7 +22,7 @@ public class MessageKey implements Serializable { private String eventType; private AccountType accountType; - public MessageKey(String messageType, String eventType, + public WeixinMessageKey(String messageType, String eventType, AccountType accountType) { this.messageType = messageType; this.eventType = eventType; @@ -64,7 +64,7 @@ public class MessageKey implements Serializable { return false; if (getClass() != obj.getClass()) return false; - MessageKey other = (MessageKey) obj; + WeixinMessageKey other = (WeixinMessageKey) obj; if (accountType != other.accountType) return false; if (eventType == null) { @@ -82,7 +82,7 @@ public class MessageKey implements Serializable { @Override public String toString() { - return "MessageKey [messageType=" + messageType + ", eventType=" + return "WeixinMessageKey [messageType=" + messageType + ", eventType=" + eventType + ", accountType=" + accountType + "]"; } } diff --git a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/WeixinMessageMatcher.java b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/WeixinMessageMatcher.java index 705d07f8..7703b034 100644 --- a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/WeixinMessageMatcher.java +++ b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/WeixinMessageMatcher.java @@ -19,7 +19,7 @@ public interface WeixinMessageMatcher { * 消息key * @return 消息类型 */ - public Class match(MessageKey messageKey); + public Class match(WeixinMessageKey messageKey); /** * 注册消息类型「程序没有及时更新而微信又产生了新的消息类型」 @@ -29,6 +29,6 @@ public interface WeixinMessageMatcher { * @param messageClass * 消息类型 */ - public void regist(MessageKey messageKey, + public void regist(WeixinMessageKey messageKey, Class messageClass); } diff --git a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/startup/WeixinServerBootstrap.java b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/startup/WeixinServerBootstrap.java index cbf51f9c..7552c17f 100644 --- a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/startup/WeixinServerBootstrap.java +++ b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/startup/WeixinServerBootstrap.java @@ -18,7 +18,7 @@ import java.util.Map; import com.foxinmy.weixin4j.dispatcher.BeanFactory; import com.foxinmy.weixin4j.dispatcher.DefaultMessageMatcher; -import com.foxinmy.weixin4j.dispatcher.MessageKey; +import com.foxinmy.weixin4j.dispatcher.WeixinMessageKey; import com.foxinmy.weixin4j.dispatcher.WeixinMessageDispatcher; import com.foxinmy.weixin4j.dispatcher.WeixinMessageMatcher; import com.foxinmy.weixin4j.exception.WeixinException; @@ -310,7 +310,7 @@ public final class WeixinServerBootstrap { * 消息类 * @return */ - public WeixinServerBootstrap registMessageClass(MessageKey messageKey, + public WeixinServerBootstrap registMessageClass(WeixinMessageKey messageKey, Class messageClass) { messageDispatcher.registMessageClass(messageKey, messageClass); return this;