WeixinSuiteMessage rename SuiteMessage
This commit is contained in:
parent
3ed53ed366
commit
a31b2ff18c
@ -173,13 +173,15 @@ public class DefaultMessageMatcher implements WeixinMessageMatcher {
|
||||
|
||||
private void initQyEventMessageClass() {
|
||||
String messageType = MessageType.event.name();
|
||||
// batch_job_result消息不好区分微信号类型
|
||||
messageClassMap.put(new WeixinMessageKey(messageType,
|
||||
EventType.batch_job_result.name(), AccountType.MP),
|
||||
EventType.batch_job_result.name(), AccountType.QY),
|
||||
BatchjobresultMessage.class);
|
||||
messageClassMap.put(new WeixinMessageKey(messageType,
|
||||
EventType.enter_agent.name(), AccountType.QY),
|
||||
EnterAgentEventMessage.class);
|
||||
//messageClassMap.put(new WeixinMessageKey(messageType,
|
||||
// EventType.suite.name(), AccountType.QY),
|
||||
//SuiteMessage.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -190,7 +192,7 @@ public class DefaultMessageMatcher implements WeixinMessageMatcher {
|
||||
@Override
|
||||
public void regist(WeixinMessageKey messageKey,
|
||||
Class<? extends WeixinMessage> messageClass) {
|
||||
Class<?> clazz = messageClassMap.get(messageKey);
|
||||
Class<?> clazz = match(messageKey);
|
||||
if (clazz != null) {
|
||||
throw new IllegalArgumentException("duplicate messagekey '"
|
||||
+ messageKey + "' define for " + clazz);
|
||||
|
||||
@ -30,7 +30,6 @@ import com.foxinmy.weixin4j.request.WeixinRequest;
|
||||
import com.foxinmy.weixin4j.response.BlankResponse;
|
||||
import com.foxinmy.weixin4j.response.WeixinResponse;
|
||||
import com.foxinmy.weixin4j.socket.WeixinMessageTransfer;
|
||||
import com.foxinmy.weixin4j.type.AccountType;
|
||||
import com.foxinmy.weixin4j.util.ClassUtil;
|
||||
import com.foxinmy.weixin4j.util.Consts;
|
||||
import com.foxinmy.weixin4j.util.HttpUtil;
|
||||
@ -115,9 +114,7 @@ public class WeixinMessageDispatcher {
|
||||
public void doDispatch(final ChannelHandlerContext context,
|
||||
final WeixinRequest request,
|
||||
final WeixinMessageTransfer messageTransfer) throws WeixinException {
|
||||
WeixinMessageKey messageKey = defineMessageKey(
|
||||
messageTransfer.getMsgType(), messageTransfer.getEventType(),
|
||||
messageTransfer.getAccountType());
|
||||
WeixinMessageKey messageKey = defineMessageKey(messageTransfer, request);
|
||||
Class<? extends WeixinMessage> targetClass = messageMatcher
|
||||
.match(messageKey);
|
||||
Object message = messageRead(request.getOriginalContent(), targetClass);
|
||||
@ -149,17 +146,17 @@ public class WeixinMessageDispatcher {
|
||||
/**
|
||||
* 声明messagekey
|
||||
*
|
||||
* @param messageType
|
||||
* 消息类型
|
||||
* @param eventType
|
||||
* 事件类型
|
||||
* @param accountType
|
||||
* 账号类型
|
||||
* @param messageTransfer
|
||||
* 基础消息
|
||||
* @param request
|
||||
* 请求信息
|
||||
* @return
|
||||
*/
|
||||
protected WeixinMessageKey defineMessageKey(String messageType,
|
||||
String eventType, AccountType accountType) {
|
||||
return new WeixinMessageKey(messageType, eventType, accountType);
|
||||
protected WeixinMessageKey defineMessageKey(
|
||||
WeixinMessageTransfer messageTransfer, WeixinRequest request) {
|
||||
return new WeixinMessageKey(messageTransfer.getMsgType(),
|
||||
messageTransfer.getEventType(),
|
||||
messageTransfer.getAccountType());
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -12,7 +12,7 @@ import javax.xml.bind.annotation.XmlTransient;
|
||||
/**
|
||||
* 套件消息
|
||||
*
|
||||
* @className WeixinSuiteMessage
|
||||
* @className SuiteMessage
|
||||
* @author jy
|
||||
* @date 2015年6月23日
|
||||
* @since JDK 1.6
|
||||
@ -20,7 +20,7 @@ import javax.xml.bind.annotation.XmlTransient;
|
||||
*/
|
||||
@XmlRootElement(name = "xml")
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
public class WeixinSuiteMessage implements Serializable {
|
||||
public class SuiteMessage implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 6457919241019021514L;
|
||||
/**
|
||||
@ -81,7 +81,7 @@ public class WeixinSuiteMessage implements Serializable {
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "WeixinSuiteMessage [suiteId=" + suiteId + ", eventType="
|
||||
return "SuiteMessage [suiteId=" + suiteId + ", eventType="
|
||||
+ eventType + ", timeStamp=" + timeStamp + ", SuiteTicket="
|
||||
+ SuiteTicket + ", authCorpId=" + authCorpId + "]";
|
||||
}
|
||||
@ -150,5 +150,10 @@ public enum EventType {
|
||||
*
|
||||
* @see com.foxinmy.weixin4j.qy.event.EnterAgentEventMessage
|
||||
*/
|
||||
enter_agent;
|
||||
enter_agent,
|
||||
/**
|
||||
* 第三方应用套件消息
|
||||
* @see com.foxinmy.weixin4j.qy.suite.WeixinSuiteMessage
|
||||
*/
|
||||
suite;
|
||||
}
|
||||
|
||||
@ -32,7 +32,7 @@ public class MessageTransferHandler extends DefaultHandler {
|
||||
private String toUserName;
|
||||
private String msgType;
|
||||
private String eventType;
|
||||
private boolean hasAgent;
|
||||
private boolean isQY;
|
||||
private Set<String> nodeNames;
|
||||
|
||||
private String content;
|
||||
@ -43,7 +43,7 @@ public class MessageTransferHandler extends DefaultHandler {
|
||||
toUserName = null;
|
||||
msgType = null;
|
||||
eventType = null;
|
||||
hasAgent = false;
|
||||
isQY = false;
|
||||
nodeNames = new HashSet<String>();
|
||||
}
|
||||
|
||||
@ -59,8 +59,10 @@ public class MessageTransferHandler extends DefaultHandler {
|
||||
msgType = content.toLowerCase();
|
||||
} else if (localName.equalsIgnoreCase("event")) {
|
||||
eventType = content.toLowerCase();
|
||||
} else if (localName.startsWith("agent")) {
|
||||
hasAgent = true;
|
||||
} else if (localName.startsWith("agent") // 应用信息
|
||||
|| localName.startsWith("suite") // 套件信息
|
||||
|| localName.equalsIgnoreCase("batchJob")) { // 批量任务
|
||||
isQY = true;
|
||||
}
|
||||
}
|
||||
|
||||
@ -71,7 +73,7 @@ public class MessageTransferHandler extends DefaultHandler {
|
||||
}
|
||||
|
||||
private AccountType getAccountType() {
|
||||
if (hasAgent) {
|
||||
if (isQY) {
|
||||
return AccountType.QY;
|
||||
}
|
||||
if (StringUtil.isBlank(msgType) && StringUtil.isBlank(eventType)) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user