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