This commit is contained in:
jinyu 2015-08-08 21:07:27 +08:00
parent da11ab1fbc
commit 85a65df233
2 changed files with 42 additions and 26 deletions

View File

@ -523,7 +523,12 @@ public class MediaApi extends QyApi {
public boolean apply(Object object, String name, public boolean apply(Object object, String name,
Object value) { Object value) {
if (column.containsKey(name)) { if (column.containsKey(name)) {
column.put(name, value); if (name.equalsIgnoreCase("department")) {
column.put(name, StringUtil.join(
(JSONArray) JSON.toJSON(value), ';'));
} else {
column.put(name, value);
}
} }
return true; return true;
} }

View File

@ -65,20 +65,22 @@ public class DefaultMessageMatcher implements WeixinMessageMatcher {
private void initGeneralMessageClass() { private void initGeneralMessageClass() {
for (AccountType accountType : AccountType.values()) { for (AccountType accountType : AccountType.values()) {
messageClassMap.put(new WeixinMessageKey(MessageType.text.name(), null, messageClassMap.put(new WeixinMessageKey(MessageType.text.name(),
accountType), TextMessage.class); null, accountType), TextMessage.class);
messageClassMap.put(new WeixinMessageKey(MessageType.image.name(), null, messageClassMap.put(new WeixinMessageKey(MessageType.image.name(),
accountType), ImageMessage.class); null, accountType), ImageMessage.class);
messageClassMap.put(new WeixinMessageKey(MessageType.voice.name(), null, messageClassMap.put(new WeixinMessageKey(MessageType.voice.name(),
accountType), VoiceMessage.class); null, accountType), VoiceMessage.class);
messageClassMap.put(new WeixinMessageKey(MessageType.video.name(), null, messageClassMap.put(new WeixinMessageKey(MessageType.video.name(),
accountType), VideoMessage.class);
messageClassMap.put(new WeixinMessageKey(MessageType.shortvideo.name(),
null, accountType), VideoMessage.class); null, accountType), VideoMessage.class);
messageClassMap.put(new WeixinMessageKey(MessageType.location.name(), messageClassMap.put(
null, accountType), LocationMessage.class); new WeixinMessageKey(MessageType.shortvideo.name(), null,
messageClassMap.put(new WeixinMessageKey(MessageType.link.name(), null, accountType), VideoMessage.class);
accountType), LinkMessage.class); messageClassMap.put(
new WeixinMessageKey(MessageType.location.name(), null,
accountType), LocationMessage.class);
messageClassMap.put(new WeixinMessageKey(MessageType.link.name(),
null, accountType), LinkMessage.class);
} }
} }
@ -87,19 +89,21 @@ 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 WeixinMessageKey(messageType, eventType.name(), messageClassMap.put(
AccountType.MP), new WeixinMessageKey(messageType, eventType.name(),
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 WeixinMessageKey(messageType, eventType.name(), messageClassMap.put(
AccountType.QY), new WeixinMessageKey(messageType, eventType.name(),
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 WeixinMessageKey(messageType,
new WeixinMessageKey(messageType, EventType.location.name(), EventType.location.name(), accountType),
accountType), LocationEventMessage.class); LocationEventMessage.class);
messageClassMap.put(new WeixinMessageKey(messageType, messageClassMap.put(new WeixinMessageKey(messageType,
EventType.location_select.name(), accountType), EventType.location_select.name(), accountType),
MenuLocationEventMessage.class); MenuLocationEventMessage.class);
@ -128,8 +132,9 @@ 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 WeixinMessageKey(messageType, EventType.scan.name(), messageClassMap.put(
accountType), new WeixinMessageKey(messageType, EventType.scan.name(),
accountType),
com.foxinmy.weixin4j.mp.event.ScanEventMessage.class); com.foxinmy.weixin4j.mp.event.ScanEventMessage.class);
messageClassMap.put(new WeixinMessageKey(messageType, messageClassMap.put(new WeixinMessageKey(messageType,
EventType.masssendjobfinish.name(), accountType), EventType.masssendjobfinish.name(), accountType),
@ -151,12 +156,18 @@ 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 WeixinMessageKey(messageType,
EventType.batch_job_result.name(), null),
BatchjobresultMessage.class);
messageClassMap.put(new WeixinMessageKey(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 WeixinMessageKey(messageType,
new WeixinMessageKey(messageType, EventType.enter_agent.name(), EventType.batch_job_result.name(), AccountType.MP),
accountType), EnterAgentEventMessage.class); BatchjobresultMessage.class);
messageClassMap.put(new WeixinMessageKey(messageType,
EventType.enter_agent.name(), accountType),
EnterAgentEventMessage.class);
} }
@Override @Override