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