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,
Object value) {
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;
}

View File

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