From eb470997f2b56453f0a0441289afa8d49b335a7c Mon Sep 17 00:00:00 2001 From: jinyu Date: Sun, 25 Oct 2015 10:24:17 +0800 Subject: [PATCH] =?UTF-8?q?weixin4j-server:=E6=96=B0=E5=A2=9E=E8=AE=A4?= =?UTF-8?q?=E8=AF=81=E9=80=9A=E7=9F=A5=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGE.md | 6 ++- weixin4j-server/CHANGE.md | 6 ++- .../dispatcher/DefaultMessageMatcher.java | 18 ++++++++ .../mp/event/VerifyExpireEventMessage.java | 41 +++++++++++++++++ .../mp/event/VerifyFailEventMessage.java | 45 +++++++++++++++++++ .../com/foxinmy/weixin4j/type/EventType.java | 26 ++++++++++- 6 files changed, 139 insertions(+), 3 deletions(-) create mode 100644 weixin4j-server/src/main/java/com/foxinmy/weixin4j/mp/event/VerifyExpireEventMessage.java create mode 100644 weixin4j-server/src/main/java/com/foxinmy/weixin4j/mp/event/VerifyFailEventMessage.java diff --git a/CHANGE.md b/CHANGE.md index b5129008..733bc2c6 100644 --- a/CHANGE.md +++ b/CHANGE.md @@ -481,4 +481,8 @@ * 2015-09-27 - + 新增手动刷新token方法 \ No newline at end of file + + weixin4j-base:新增手动刷新token方法 + +* 2015-10-25 + + + weixin4j-server:新增认证通知事件 \ No newline at end of file diff --git a/weixin4j-server/CHANGE.md b/weixin4j-server/CHANGE.md index 549645f5..c56373e1 100644 --- a/weixin4j-server/CHANGE.md +++ b/weixin4j-server/CHANGE.md @@ -98,4 +98,8 @@ * 2015-09-21 - + version upgrade to 1.1.2 \ No newline at end of file + + version upgrade to 1.1.2 + +* 2015-10-25 + + + 新增认证通知事件 \ No newline at end of file diff --git a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/DefaultMessageMatcher.java b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/DefaultMessageMatcher.java index a2604fc4..7c8a0fe5 100644 --- a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/DefaultMessageMatcher.java +++ b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/dispatcher/DefaultMessageMatcher.java @@ -19,6 +19,8 @@ import com.foxinmy.weixin4j.mp.event.KfCreateEventMessage; import com.foxinmy.weixin4j.mp.event.KfSwitchEventMessage; import com.foxinmy.weixin4j.mp.event.MassEventMessage; import com.foxinmy.weixin4j.mp.event.TemplatesendjobfinishMessage; +import com.foxinmy.weixin4j.mp.event.VerifyExpireEventMessage; +import com.foxinmy.weixin4j.mp.event.VerifyFailEventMessage; import com.foxinmy.weixin4j.qy.event.BatchjobresultMessage; import com.foxinmy.weixin4j.qy.event.EnterAgentEventMessage; import com.foxinmy.weixin4j.request.WeixinMessage; @@ -151,6 +153,22 @@ public class DefaultMessageMatcher implements WeixinMessageMatcher { messageClassMap.put(new WeixinMessageKey(messageType, EventType.kf_switch_session.name(), accountType), KfSwitchEventMessage.class); + EventType[] eventTypes = new EventType[] { + EventType.qualification_verify_success, + EventType.naming_verify_success, EventType.annual_renew, + EventType.verify_expired }; + for (EventType eventType : eventTypes) { + messageClassMap.put( + new WeixinMessageKey(messageType, eventType.name(), + accountType), VerifyExpireEventMessage.class); + } + eventTypes = new EventType[] { EventType.qualification_verify_success, + EventType.naming_verify_fail }; + for (EventType eventType : eventTypes) { + messageClassMap.put( + new WeixinMessageKey(messageType, eventType.name(), + accountType), VerifyFailEventMessage.class); + } } private void initQyEventMessageClass() { diff --git a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/mp/event/VerifyExpireEventMessage.java b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/mp/event/VerifyExpireEventMessage.java new file mode 100644 index 00000000..e0c4a999 --- /dev/null +++ b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/mp/event/VerifyExpireEventMessage.java @@ -0,0 +1,41 @@ +package com.foxinmy.weixin4j.mp.event; + +import javax.xml.bind.annotation.XmlElement; + +import com.foxinmy.weixin4j.message.event.EventMessage; +import com.foxinmy.weixin4j.type.EventType; + +/** + * 认证通知(资质认证成功/名称认证成功/年审通知/认证过期失效通知) + * + * @className VerifyExpireEventMessage + * @author jy + * @date 2015年10月25日 + * @since JDK 1.7 + * @see 认证事件 + */ +public class VerifyExpireEventMessage extends EventMessage { + + private static final long serialVersionUID = -4309074299189681095L; + + public VerifyExpireEventMessage() { + super(EventType.annual_renew.name()); + } + + /** + * 有效期 (整形),指的是时间戳,将于该时间戳认证过期 + */ + @XmlElement(name = "EventKey") + private long expiredTime; + + public long getExpiredTime() { + return expiredTime; + } + + @Override + public String toString() { + return "VerifyExpireEventMessage [expiredTime=" + expiredTime + ", " + + super.toString() + "]"; + } +} diff --git a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/mp/event/VerifyFailEventMessage.java b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/mp/event/VerifyFailEventMessage.java new file mode 100644 index 00000000..cf3c8960 --- /dev/null +++ b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/mp/event/VerifyFailEventMessage.java @@ -0,0 +1,45 @@ +package com.foxinmy.weixin4j.mp.event; + +import javax.xml.bind.annotation.XmlElement; + +/** + * 认证失败事件(资质认证失败/名称认证失败) + * + * @className VerifyFailEventMessage + * @author jy + * @date 2015年10月25日 + * @since JDK 1.7 + * @see + */ +public class VerifyFailEventMessage extends VerifyExpireEventMessage { + + /** + * + */ + private static final long serialVersionUID = 2155899086751787490L; + + /** + * 失败发生时间 (整形),时间戳 + */ + @XmlElement(name = "FailTime") + private long failTime; + /** + * 认证失败的原因 + */ + @XmlElement(name = "FailReason") + private String failReason; + + public long getFailTime() { + return failTime; + } + + public String getFailReason() { + return failReason; + } + + @Override + public String toString() { + return "VerifyFailEventMessage [failTime=" + failTime + ", failReason=" + + failReason + ", " + super.toString() + "]"; + } +} diff --git a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/type/EventType.java b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/type/EventType.java index 1410af37..15cddec2 100644 --- a/weixin4j-server/src/main/java/com/foxinmy/weixin4j/type/EventType.java +++ b/weixin4j-server/src/main/java/com/foxinmy/weixin4j/type/EventType.java @@ -113,7 +113,31 @@ public enum EventType { * @see com.foxinmy.weixin4j.mp.event.KfSwitchEventMessage */ kf_switch_session, - + /** + * 资质认证成功事件 + */ + qualification_verify_success, + /** + * 资质认证失败事件 + */ + qualification_verify_fail, + /** + * 名称认证成功事件 + */ + naming_verify_success, + /** + * 名称认证失败事件 + */ + naming_verify_fail, + /** + * 年审通知事件 + */ + annual_renew, + /** + * 认证过期失效通知 + */ + verify_expired, + // ------------------------------企业号特有------------------------------ /** * 异步任务完成事件