diff --git a/notify-email/src/main/java/com/cicdi/notify/email/embedded/DefaultEmailNotifier.java b/notify-email/src/main/java/com/cicdi/notify/email/embedded/DefaultEmailNotifier.java index 3815cde..6ef1e08 100644 --- a/notify-email/src/main/java/com/cicdi/notify/email/embedded/DefaultEmailNotifier.java +++ b/notify-email/src/main/java/com/cicdi/notify/email/embedded/DefaultEmailNotifier.java @@ -31,9 +31,7 @@ import java.util.*; /** * 使用javax.mail进行邮件发送 * - * @author bsetfeng - * @author zhouhao - * @since 1.0 + * @author xueye **/ public class DefaultEmailNotifier implements Notifier { diff --git a/notify-wechat/src/main/java/com/cicdi/notify/wechat/WechatProvider.java b/notify-wechat/src/main/java/com/cicdi/notify/wechat/WechatProvider.java index 217da65..7cb715f 100644 --- a/notify-wechat/src/main/java/com/cicdi/notify/wechat/WechatProvider.java +++ b/notify-wechat/src/main/java/com/cicdi/notify/wechat/WechatProvider.java @@ -3,7 +3,8 @@ package com.cicdi.notify.wechat; import com.cicdi.notify.Provider; public enum WechatProvider implements Provider { - corpMessage("微信企业消息通知"); + corpMessage("微信企业消息通知"), + subscription("微信公众号"); private final String name; @@ -20,6 +21,4 @@ public enum WechatProvider implements Provider { public String getName() { return name; } - - } diff --git a/notify-wechat/src/main/java/com/cicdi/notify/wechat/corp/WechatCorpNotifier.java b/notify-wechat/src/main/java/com/cicdi/notify/wechat/corp/WechatCorpNotifier.java index 4bb0348..fe16cd0 100644 --- a/notify-wechat/src/main/java/com/cicdi/notify/wechat/corp/WechatCorpNotifier.java +++ b/notify-wechat/src/main/java/com/cicdi/notify/wechat/corp/WechatCorpNotifier.java @@ -6,7 +6,6 @@ import com.cicdi.notify.DefaultNotifyType; import com.cicdi.notify.Notifier; import com.cicdi.notify.NotifyType; import com.cicdi.notify.Provider; -import com.cicdi.notify.template.TemplateManager; import com.cicdi.notify.wechat.WechatProvider; import org.apache.http.NameValuePair; import org.apache.http.client.methods.CloseableHttpResponse; @@ -75,11 +74,8 @@ public class WechatCorpNotifier implements Notifier { String result = EntityUtils.toString(response.getEntity()); System.out.println(result); JSONObject jsonObject = JSON.parseObject(result); - if ("0".equals(jsonObject.get("errcode").toString())) { -// log.info("发送微信企业通知成功"); - } else { -// log.warn("发送微信企业通知失败:{}", map); -// throw new BusinessException("发送微信企业通知失败:" + map.get("errmsg"), code); + if (!"0".equals(jsonObject.get("errcode").toString())) { + throw new RuntimeException("发送微信企业通知失败:" + jsonObject.get("errmsg")); } } catch (IOException e) { e.printStackTrace(); @@ -109,8 +105,7 @@ public class WechatCorpNotifier implements Notifier { refreshTokenTime = System.currentTimeMillis(); return access_token; } else { - // TODO 自定义异常 - // throw new BusinessException("获取Token失败:" + map.get("errmsg"), String.valueOf(map.get("errcode"))); + throw new RuntimeException("获取令牌失败:" + responseJson.getString("errmsg")); } } catch (Exception e) { e.printStackTrace(); diff --git a/notify-wechat/src/main/java/com/cicdi/notify/wechat/subscription/WechatSubscriptionNotifier.java b/notify-wechat/src/main/java/com/cicdi/notify/wechat/subscription/WechatSubscriptionNotifier.java index e1ea5f4..eb10df0 100644 --- a/notify-wechat/src/main/java/com/cicdi/notify/wechat/subscription/WechatSubscriptionNotifier.java +++ b/notify-wechat/src/main/java/com/cicdi/notify/wechat/subscription/WechatSubscriptionNotifier.java @@ -3,6 +3,7 @@ package com.cicdi.notify.wechat.subscription; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.cicdi.notify.*; +import com.cicdi.notify.wechat.WechatProvider; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; @@ -44,7 +45,7 @@ public class WechatSubscriptionNotifier implements Notifier createNotifier(NotifierProperties properties) { - return null; + return new WechatSubscriptionNotifier(properties); } } diff --git a/notify-wechat/src/test/java/com/cicdi/notify/wechat/WechatSubscriptionTest.java b/notify-wechat/src/test/java/com/cicdi/notify/wechat/WechatSubscriptionTest.java index e35078d..60702f0 100644 --- a/notify-wechat/src/test/java/com/cicdi/notify/wechat/WechatSubscriptionTest.java +++ b/notify-wechat/src/test/java/com/cicdi/notify/wechat/WechatSubscriptionTest.java @@ -1,5 +1,6 @@ package com.cicdi.notify.wechat; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.cicdi.notify.*; import com.cicdi.notify.template.AbstractTemplateManager; @@ -7,6 +8,7 @@ import com.cicdi.notify.template.Template; import com.cicdi.notify.template.TemplateManager; import com.cicdi.notify.template.TemplateProperties; import com.cicdi.notify.wechat.corp.WechatCorpNotifierProvider; +import com.cicdi.notify.wechat.subscription.WechatSubscriptionNotifierProvider; import org.junit.Test; import java.util.HashMap; @@ -22,13 +24,13 @@ public class WechatSubscriptionTest { NotifyConfigManager notifyConfigManager = (notifyType, configId) -> { NotifierProperties notifierProperties = new NotifierProperties(); notifierProperties.setType(DefaultNotifyType.wechat.getId()); - notifierProperties.setProvider(WechatProvider.corpMessage.getId()); + notifierProperties.setProvider(WechatProvider.subscription.getId()); notifierProperties.setId("12"); Map config = new HashMap<>(); - config.put("corpId", "wwbd49ae2419a55a9f"); - config.put("corpSecret", "TXDRQw_H8gpVKX0E01EmwMXJ4VooXmj65I-mDe0wQ1k"); - + config.put("grantType", "client_credential"); + config.put("appId", "wx080f08f17aab234a"); + config.put("secret", "2d782a5d9cafecdb1e0448c97e092e24"); notifierProperties.setConfiguration(config); return notifierProperties; @@ -40,17 +42,19 @@ public class WechatSubscriptionTest { protected TemplateProperties getProperties(NotifyType type, String id) { TemplateProperties templateProperties = new TemplateProperties(); templateProperties.setType(DefaultNotifyType.wechat.getId()); - templateProperties.setProvider(WechatProvider.corpMessage.getId()); + templateProperties.setProvider(WechatProvider.subscription.getId()); JSONObject jsonObject = new JSONObject(); - jsonObject.put("agentId", "3010084"); - jsonObject.put("toUser", "XueYe"); - jsonObject.put("toParty", ""); - jsonObject.put("toTag", ""); - jsonObject.put("message", "Hello"); - -// templateProperties.setTemplate(jsonObject.toJSONString()); + jsonObject.put("toUser", "oOwtw6GaMogfIsrjV9WGdo2A1t5g"); + jsonObject.put("templateId", "DMz3nRo41CUZg4Og7DUN2QHLDwQSJ5hs9eB6oq-V8Uc"); + Map data = new HashMap<>(); + Map keyword = new HashMap<>(); + keyword.put("value", "xueye"); + keyword.put("color", "#173177"); + data.put("Hello", keyword); + jsonObject.put("data", data); + templateProperties.setTemplate(JSON.toJSONString(jsonObject)); return templateProperties; } }; @@ -58,7 +62,7 @@ public class WechatSubscriptionTest { NotifierManager notifierManager = new AbstractNotifierManager(notifyConfigManager){}; // register - WechatCorpNotifierProvider provider = new WechatCorpNotifierProvider(); + WechatSubscriptionNotifierProvider provider = new WechatSubscriptionNotifierProvider(); notifierManager.register(provider); templateManager.register(provider);