From acc129111a2fe2452d375de5576bb5b96f0d41a0 Mon Sep 17 00:00:00 2001 From: Binary Wang Date: Tue, 18 Oct 2016 18:29:43 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=88=A0=E9=99=A4=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E7=9A=84=E6=8E=A5=E5=8F=A3=E6=96=B9=E6=B3=95=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=20for=20issue=20#63?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../weixin/mp/api/WxMpTemplateMsgService.java | 18 ++++++++++++--- .../api/impl/WxMpTemplateMsgServiceImpl.java | 19 ++++++++++++--- .../impl/WxMpTemplateMsgServiceImplTest.java | 23 +++++++++++-------- 3 files changed, 45 insertions(+), 15 deletions(-) diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpTemplateMsgService.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpTemplateMsgService.java index 4788bf3e..9b66f722 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpTemplateMsgService.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/WxMpTemplateMsgService.java @@ -1,12 +1,12 @@ package me.chanjar.weixin.mp.api; -import java.util.List; - import me.chanjar.weixin.common.exception.WxErrorException; import me.chanjar.weixin.mp.bean.template.WxMpTemplate; import me.chanjar.weixin.mp.bean.template.WxMpTemplateIndustry; import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage; +import java.util.List; + /** *
  * 模板消息接口
@@ -68,8 +68,20 @@ public interface WxMpTemplateMsgService {
    * 详情请见: http://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1433751277&token=&lang=zh_CN
    * 接口地址格式:https://api.weixin.qq.com/cgi-bin/template/get_all_private_template?access_token=ACCESS_TOKEN
    * 
- * + * * @return templateId 模板Id */ List getAllPrivateTemplate() throws WxErrorException; + + /** + *
+   * 删除模板
+   * 删除模板可在MP中完成,为方便第三方开发者,提供通过接口调用的方式来删除某帐号下的模板
+   * 详情请见: http://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1433751277&token=&lang=zh_CN
+   * 接口地址格式:https://api.weixin.qq.com/cgi-bin/template/del_private_template?access_token=ACCESS_TOKEN
+   * 
+ * + * @param templateId 模板Id + */ + boolean delPrivateTemplate(String templateId) throws WxErrorException; } diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpTemplateMsgServiceImpl.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpTemplateMsgServiceImpl.java index e4ee2a1b..82ce829c 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpTemplateMsgServiceImpl.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/api/impl/WxMpTemplateMsgServiceImpl.java @@ -1,10 +1,7 @@ package me.chanjar.weixin.mp.api.impl; -import java.util.List; - import com.google.gson.JsonObject; import com.google.gson.JsonParser; - import me.chanjar.weixin.common.bean.result.WxError; import me.chanjar.weixin.common.exception.WxErrorException; import me.chanjar.weixin.mp.api.WxMpService; @@ -13,6 +10,8 @@ import me.chanjar.weixin.mp.bean.template.WxMpTemplate; import me.chanjar.weixin.mp.bean.template.WxMpTemplateIndustry; import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage; +import java.util.List; + /** *
  * Created by Binary Wang on 2016-10-14.
@@ -79,4 +78,18 @@ public class WxMpTemplateMsgServiceImpl implements WxMpTemplateMsgService {
     return WxMpTemplate.fromJson(this.wxMpService.get(url, null));
   }
 
+  @Override
+  public boolean delPrivateTemplate(String templateId) throws WxErrorException {
+    String url = API_URL_PREFIX + "/del_private_template";
+    JsonObject jsonObject = new JsonObject();
+    jsonObject.addProperty("template_id", templateId);
+    String responseContent = this.wxMpService.post(url, jsonObject.toString());
+    WxError error = WxError.fromJson(responseContent);
+    if (error.getErrorCode() == 0) {
+      return true;
+    }
+
+    throw new WxErrorException(error);
+  }
+
 }
diff --git a/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpTemplateMsgServiceImplTest.java b/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpTemplateMsgServiceImplTest.java
index 3c6fd0b4..d6f479b5 100644
--- a/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpTemplateMsgServiceImplTest.java
+++ b/weixin-java-mp/src/test/java/me/chanjar/weixin/mp/api/impl/WxMpTemplateMsgServiceImplTest.java
@@ -1,15 +1,6 @@
 package me.chanjar.weixin.mp.api.impl;
 
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.List;
-
-import org.testng.Assert;
-import org.testng.annotations.Guice;
-import org.testng.annotations.Test;
-
 import com.google.inject.Inject;
-
 import me.chanjar.weixin.common.exception.WxErrorException;
 import me.chanjar.weixin.mp.api.ApiTestModule;
 import me.chanjar.weixin.mp.api.WxXmlMpInMemoryConfigStorage;
@@ -17,6 +8,13 @@ import me.chanjar.weixin.mp.bean.template.WxMpTemplate;
 import me.chanjar.weixin.mp.bean.template.WxMpTemplateData;
 import me.chanjar.weixin.mp.bean.template.WxMpTemplateIndustry;
 import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage;
+import org.testng.Assert;
+import org.testng.annotations.Guice;
+import org.testng.annotations.Test;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
 
 /**
  * 
@@ -74,4 +72,11 @@ public class WxMpTemplateMsgServiceImplTest {
     System.err.println(result);
   }
 
+  @Test
+  public void testDelPrivateTemplate() throws Exception {
+    String templateId = "RPcTe7-4BkU5A2J3imC6W0b4JbjEERcJg0whOMKJKIc";
+    boolean result = this.wxService.getTemplateMsgService().delPrivateTemplate(templateId);
+    Assert.assertTrue(result);
+  }
+
 }