rename MessageKey to WeixinMessageKey
This commit is contained in:
parent
36d66c6835
commit
64dc0bdc66
@ -37,10 +37,10 @@ import com.foxinmy.weixin4j.type.MessageType;
|
||||
*/
|
||||
public class DefaultMessageMatcher implements WeixinMessageMatcher {
|
||||
|
||||
private final Map<MessageKey, Class<? extends WeixinMessage>> messageClassMap;
|
||||
private final Map<WeixinMessageKey, Class<? extends WeixinMessage>> messageClassMap;
|
||||
|
||||
public DefaultMessageMatcher() {
|
||||
messageClassMap = new HashMap<MessageKey, Class<? extends WeixinMessage>>();
|
||||
messageClassMap = new HashMap<WeixinMessageKey, Class<? extends WeixinMessage>>();
|
||||
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<? extends WeixinMessage> match(MessageKey messageKey) {
|
||||
public Class<? extends WeixinMessage> match(WeixinMessageKey messageKey) {
|
||||
return messageClassMap.get(messageKey);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void regist(MessageKey messageKey,
|
||||
public void regist(WeixinMessageKey messageKey,
|
||||
Class<? extends WeixinMessage> messageClass) {
|
||||
Class<?> clazz = messageClassMap.get(messageKey);
|
||||
if (clazz != null) {
|
||||
|
||||
@ -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<? extends WeixinMessage> 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<String> nodeNames)
|
||||
WeixinMessageKey messageKey, Object message, Set<String> 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<? extends WeixinMessage> messageClass) {
|
||||
messageMatcher.regist(messageKey, messageClass);
|
||||
}
|
||||
|
||||
@ -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 + "]";
|
||||
}
|
||||
}
|
||||
@ -19,7 +19,7 @@ public interface WeixinMessageMatcher {
|
||||
* 消息key
|
||||
* @return 消息类型
|
||||
*/
|
||||
public Class<? extends WeixinMessage> match(MessageKey messageKey);
|
||||
public Class<? extends WeixinMessage> match(WeixinMessageKey messageKey);
|
||||
|
||||
/**
|
||||
* 注册消息类型「程序没有及时更新而微信又产生了新的消息类型」
|
||||
@ -29,6 +29,6 @@ public interface WeixinMessageMatcher {
|
||||
* @param messageClass
|
||||
* 消息类型
|
||||
*/
|
||||
public void regist(MessageKey messageKey,
|
||||
public void regist(WeixinMessageKey messageKey,
|
||||
Class<? extends WeixinMessage> messageClass);
|
||||
}
|
||||
|
||||
@ -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<? extends WeixinMessage> messageClass) {
|
||||
messageDispatcher.registMessageClass(messageKey, messageClass);
|
||||
return this;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user