From 6dc0481d1d0bfbc711470bfd3dec1db3318336a9 Mon Sep 17 00:00:00 2001 From: Binary Wang Date: Tue, 18 Oct 2016 00:07:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=8E=B7=E5=BE=97=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E5=88=97=E8=A1=A8=E7=9A=84=E6=8E=A5=E5=8F=A3=E6=96=B9?= =?UTF-8?q?=E6=B3=95=EF=BC=8C=E5=B9=B6=E9=87=8D=E6=9E=84=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E7=9B=B8=E5=85=B3=E7=B1=BB=E5=8C=85=E7=BB=93?= =?UTF-8?q?=E6=9E=84=20for=20issue=20#63?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../weixin/mp/api/WxMpTemplateMsgService.java | 25 +++- .../api/impl/WxMpTemplateMsgServiceImpl.java | 19 ++- .../weixin/mp/bean/template/WxMpTemplate.java | 126 ++++++++++++++++++ .../bean/{ => template}/WxMpTemplateData.java | 2 +- .../WxMpTemplateIndustry.java} | 12 +- .../{ => template}/WxMpTemplateMessage.java | 2 +- .../weixin/mp/util/json/WxMpGsonBuilder.java | 6 +- .../mp/util/json/WxMpIndustryGsonAdapter.java | 14 +- .../json/WxMpTemplateMessageGsonAdapter.java | 5 +- .../impl/WxMpTemplateMsgServiceImplTest.java | 21 ++- 10 files changed, 196 insertions(+), 36 deletions(-) create mode 100644 weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/template/WxMpTemplate.java rename weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/{ => template}/WxMpTemplateData.java (95%) rename weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/{WxMpIndustry.java => template/WxMpTemplateIndustry.java} (86%) rename weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/{ => template}/WxMpTemplateMessage.java (98%) 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 9f6965974..4788bf3e9 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,8 +1,11 @@ package me.chanjar.weixin.mp.api; +import java.util.List; + import me.chanjar.weixin.common.exception.WxErrorException; -import me.chanjar.weixin.mp.bean.WxMpIndustry; -import me.chanjar.weixin.mp.bean.WxMpTemplateMessage; +import me.chanjar.weixin.mp.bean.template.WxMpTemplate; +import me.chanjar.weixin.mp.bean.template.WxMpTemplateIndustry; +import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage; /** *
@@ -24,7 +27,7 @@ public interface WxMpTemplateMsgService {
    *
    * @return 是否成功
    */
-  boolean setIndustry(WxMpIndustry wxMpIndustry) throws WxErrorException;
+  boolean setIndustry(WxMpTemplateIndustry wxMpIndustry) throws WxErrorException;
 
   /***
    * 
@@ -34,7 +37,7 @@ public interface WxMpTemplateMsgService {
    *
    * @return wxMpIndustry
    */
-  WxMpIndustry getIndustry() throws WxErrorException;
+  WxMpTemplateIndustry getIndustry() throws WxErrorException;
 
   /**
    * 
@@ -53,8 +56,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/api_add_template?access_token=ACCESS_TOKEN
    * 
- *@param shortTemplateId 模板库中模板的编号,有“TM**”和“OPENTMTM**”等形式 + * @param shortTemplateId 模板库中模板的编号,有“TM**”和“OPENTMTM**”等形式 * @return templateId 模板Id */ String addTemplate(String shortTemplateId) 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/get_all_private_template?access_token=ACCESS_TOKEN
+   * 
+ * + * @return templateId 模板Id + */ + List getAllPrivateTemplate() 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 a404cb021..e4ee2a1b3 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,5 +1,7 @@ package me.chanjar.weixin.mp.api.impl; +import java.util.List; + import com.google.gson.JsonObject; import com.google.gson.JsonParser; @@ -7,8 +9,9 @@ import me.chanjar.weixin.common.bean.result.WxError; import me.chanjar.weixin.common.exception.WxErrorException; import me.chanjar.weixin.mp.api.WxMpService; import me.chanjar.weixin.mp.api.WxMpTemplateMsgService; -import me.chanjar.weixin.mp.bean.WxMpIndustry; -import me.chanjar.weixin.mp.bean.WxMpTemplateMessage; +import me.chanjar.weixin.mp.bean.template.WxMpTemplate; +import me.chanjar.weixin.mp.bean.template.WxMpTemplateIndustry; +import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage; /** *
@@ -38,7 +41,7 @@ public class WxMpTemplateMsgServiceImpl implements WxMpTemplateMsgService {
   }
 
   @Override
-  public boolean setIndustry(WxMpIndustry wxMpIndustry) throws WxErrorException {
+  public boolean setIndustry(WxMpTemplateIndustry wxMpIndustry) throws WxErrorException {
     if (null == wxMpIndustry.getPrimaryIndustry() || null == wxMpIndustry.getPrimaryIndustry().getId()
       || null == wxMpIndustry.getSecondIndustry() || null == wxMpIndustry.getSecondIndustry().getId()) {
       throw new IllegalArgumentException("行业Id不能为空,请核实");
@@ -50,10 +53,10 @@ public class WxMpTemplateMsgServiceImpl implements WxMpTemplateMsgService {
   }
 
   @Override
-  public WxMpIndustry getIndustry() throws WxErrorException {
+  public WxMpTemplateIndustry getIndustry() throws WxErrorException {
     String url = API_URL_PREFIX + "/get_industry";
     String responseContent = this.wxMpService.get(url, null);
-    return WxMpIndustry.fromJson(responseContent);
+    return WxMpTemplateIndustry.fromJson(responseContent);
   }
 
   @Override
@@ -70,4 +73,10 @@ public class WxMpTemplateMsgServiceImpl implements WxMpTemplateMsgService {
     throw new WxErrorException(WxError.fromJson(responseContent));
   }
 
+  @Override
+  public List getAllPrivateTemplate() throws WxErrorException {
+    String url = API_URL_PREFIX + "/get_all_private_template";
+    return WxMpTemplate.fromJson(this.wxMpService.get(url, null));
+  }
+
 }
diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/template/WxMpTemplate.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/template/WxMpTemplate.java
new file mode 100644
index 000000000..ffa2711f3
--- /dev/null
+++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/template/WxMpTemplate.java
@@ -0,0 +1,126 @@
+package me.chanjar.weixin.mp.bean.template;
+
+import java.util.List;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+import com.google.gson.JsonParser;
+import com.google.gson.annotations.SerializedName;
+import com.google.gson.reflect.TypeToken;
+
+import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder;
+
+/**
+ * 
+ * 模板列表信息
+ * Created by Binary Wang on 2016-10-17.
+ * @author binarywang(Binary Wang)
+ * 
+ */ +public class WxMpTemplate { + + private static final JsonParser JSON_PARSER = new JsonParser(); + + public static List fromJson(String json) { + return WxMpGsonBuilder.create().fromJson(JSON_PARSER.parse(json).getAsJsonObject().get("template_list"), + new TypeToken>() { + }.getType()); + } + + @Override + public String toString() { + return ToStringBuilder.reflectionToString(this, ToStringStyle.MULTI_LINE_STYLE); + } + + /** + * template_id + * 模板ID + */ + @SerializedName("template_id") + private String templateId; + + /** + * title + * 模板标题 + */ + @SerializedName("title") + private String title; + + /** + * primary_industry + * 模板所属行业的一级行业 + */ + @SerializedName("primary_industry") + private String primaryIndustry; + + /** + * deputy_industry + * 模板所属行业的二级行业 + */ + @SerializedName("deputy_industry") + private String deputyIndustry; + + /** + * content + * 模板内容 + */ + @SerializedName("content") + private String content; + + /** + * example + * 模板示例 + */ + @SerializedName("example") + private String example; + + public String getTemplateId() { + return templateId; + } + + public void setTemplateId(String templateId) { + this.templateId = templateId; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public String getPrimaryIndustry() { + return primaryIndustry; + } + + public void setPrimaryIndustry(String primaryIndustry) { + this.primaryIndustry = primaryIndustry; + } + + public String getDeputyIndustry() { + return deputyIndustry; + } + + public void setDeputyIndustry(String deputyIndustry) { + this.deputyIndustry = deputyIndustry; + } + + public String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public String getExample() { + return example; + } + + public void setExample(String example) { + this.example = example; + } + +} diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpTemplateData.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/template/WxMpTemplateData.java similarity index 95% rename from weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpTemplateData.java rename to weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/template/WxMpTemplateData.java index d46ae24b6..0eb0eaa58 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpTemplateData.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/template/WxMpTemplateData.java @@ -1,4 +1,4 @@ -package me.chanjar.weixin.mp.bean; +package me.chanjar.weixin.mp.bean.template; import java.io.Serializable; diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpIndustry.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/template/WxMpTemplateIndustry.java similarity index 86% rename from weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpIndustry.java rename to weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/template/WxMpTemplateIndustry.java index b94fe10be..b0f689a4a 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpIndustry.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/template/WxMpTemplateIndustry.java @@ -1,4 +1,4 @@ -package me.chanjar.weixin.mp.bean; +package me.chanjar.weixin.mp.bean.template; import me.chanjar.weixin.mp.util.json.WxMpGsonBuilder; @@ -10,15 +10,15 @@ import java.io.Serializable; /** * @author miller */ -public class WxMpIndustry implements Serializable { +public class WxMpTemplateIndustry implements Serializable { private static final long serialVersionUID = -7700398224795914722L; private Industry primaryIndustry; private Industry secondIndustry; - public WxMpIndustry() { + public WxMpTemplateIndustry() { } - public WxMpIndustry(Industry primaryIndustry, Industry secondIndustry) { + public WxMpTemplateIndustry(Industry primaryIndustry, Industry secondIndustry) { this.primaryIndustry = primaryIndustry; this.secondIndustry = secondIndustry; } @@ -81,8 +81,8 @@ public class WxMpIndustry implements Serializable { return ToStringBuilder.reflectionToString(this, ToStringStyle.MULTI_LINE_STYLE); } - public static WxMpIndustry fromJson(String json) { - return WxMpGsonBuilder.create().fromJson(json, WxMpIndustry.class); + public static WxMpTemplateIndustry fromJson(String json) { + return WxMpGsonBuilder.create().fromJson(json, WxMpTemplateIndustry.class); } public String toJson() { diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpTemplateMessage.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/template/WxMpTemplateMessage.java similarity index 98% rename from weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpTemplateMessage.java rename to weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/template/WxMpTemplateMessage.java index 408abb50b..106e5fb6e 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/WxMpTemplateMessage.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/template/WxMpTemplateMessage.java @@ -1,4 +1,4 @@ -package me.chanjar.weixin.mp.bean; +package me.chanjar.weixin.mp.bean.template; import java.io.Serializable; import java.util.ArrayList; diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpGsonBuilder.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpGsonBuilder.java index df63ac648..e2f215e68 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpGsonBuilder.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpGsonBuilder.java @@ -5,7 +5,6 @@ import com.google.gson.GsonBuilder; import me.chanjar.weixin.mp.bean.WxMpCard; import me.chanjar.weixin.mp.bean.WxMpCustomMessage; -import me.chanjar.weixin.mp.bean.WxMpIndustry; import me.chanjar.weixin.mp.bean.WxMpMassNews; import me.chanjar.weixin.mp.bean.WxMpMassOpenIdsMessage; import me.chanjar.weixin.mp.bean.WxMpMassPreviewMessage; @@ -13,7 +12,6 @@ import me.chanjar.weixin.mp.bean.WxMpMassTagMessage; import me.chanjar.weixin.mp.bean.WxMpMassVideo; import me.chanjar.weixin.mp.bean.WxMpMaterialArticleUpdate; import me.chanjar.weixin.mp.bean.WxMpMaterialNews; -import me.chanjar.weixin.mp.bean.WxMpTemplateMessage; import me.chanjar.weixin.mp.bean.datacube.WxDataCubeUserCumulate; import me.chanjar.weixin.mp.bean.datacube.WxDataCubeUserSummary; import me.chanjar.weixin.mp.bean.result.WxMediaImgUploadResult; @@ -31,6 +29,8 @@ import me.chanjar.weixin.mp.bean.result.WxMpSemanticQueryResult; import me.chanjar.weixin.mp.bean.result.WxMpUser; import me.chanjar.weixin.mp.bean.result.WxMpUserBlacklistGetResult; import me.chanjar.weixin.mp.bean.result.WxMpUserList; +import me.chanjar.weixin.mp.bean.template.WxMpTemplateIndustry; +import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage; public class WxMpGsonBuilder { @@ -68,7 +68,7 @@ public class WxMpGsonBuilder { INSTANCE.registerTypeAdapter(WxMpCard.class, new WxMpCardGsonAdapter()); INSTANCE.registerTypeAdapter(WxMpMassPreviewMessage.class, new WxMpMassPreviewMessageGsonAdapter()); INSTANCE.registerTypeAdapter(WxMediaImgUploadResult.class, new WxMediaImgUploadResultGsonAdapter()); - INSTANCE.registerTypeAdapter(WxMpIndustry.class, new WxMpIndustryGsonAdapter()); + INSTANCE.registerTypeAdapter(WxMpTemplateIndustry.class, new WxMpIndustryGsonAdapter()); INSTANCE.registerTypeAdapter(WxMpUserBlacklistGetResult.class, new WxUserBlacklistGetResultGsonAdapter()); } diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpIndustryGsonAdapter.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpIndustryGsonAdapter.java index ea715a703..68106bb65 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpIndustryGsonAdapter.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpIndustryGsonAdapter.java @@ -2,7 +2,7 @@ package me.chanjar.weixin.mp.util.json; import com.google.gson.*; import me.chanjar.weixin.common.util.json.GsonHelper; -import me.chanjar.weixin.mp.bean.WxMpIndustry; +import me.chanjar.weixin.mp.bean.template.WxMpTemplateIndustry; import java.lang.reflect.Type; @@ -10,9 +10,9 @@ import java.lang.reflect.Type; * @author miller */ public class WxMpIndustryGsonAdapter - implements JsonSerializer, JsonDeserializer { + implements JsonSerializer, JsonDeserializer { @Override - public JsonElement serialize(WxMpIndustry wxMpIndustry, Type type, + public JsonElement serialize(WxMpTemplateIndustry wxMpIndustry, Type type, JsonSerializationContext jsonSerializationContext) { JsonObject json = new JsonObject(); json.addProperty("industry_id1", wxMpIndustry.getPrimaryIndustry().getId()); @@ -21,10 +21,10 @@ public class WxMpIndustryGsonAdapter } @Override - public WxMpIndustry deserialize(JsonElement jsonElement, Type type, + public WxMpTemplateIndustry deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext jsonDeserializationContext) throws JsonParseException { - WxMpIndustry wxMpIndustry = new WxMpIndustry(); + WxMpTemplateIndustry wxMpIndustry = new WxMpTemplateIndustry(); JsonObject primaryIndustry = jsonElement.getAsJsonObject() .get("primary_industry").getAsJsonObject(); wxMpIndustry.setPrimaryIndustry(convertFromJson(primaryIndustry)); @@ -34,8 +34,8 @@ public class WxMpIndustryGsonAdapter return wxMpIndustry; } - private static WxMpIndustry.Industry convertFromJson(JsonObject json) { - WxMpIndustry.Industry industry = new WxMpIndustry.Industry(); + private static WxMpTemplateIndustry.Industry convertFromJson(JsonObject json) { + WxMpTemplateIndustry.Industry industry = new WxMpTemplateIndustry.Industry(); industry.setFirstClass(GsonHelper.getString(json, "first_class")); industry.setSecondClass(GsonHelper.getString(json, "second_class")); return industry; diff --git a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpTemplateMessageGsonAdapter.java b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpTemplateMessageGsonAdapter.java index 4c2d12272..4e2630209 100644 --- a/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpTemplateMessageGsonAdapter.java +++ b/weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/json/WxMpTemplateMessageGsonAdapter.java @@ -12,8 +12,9 @@ import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonSerializationContext; import com.google.gson.JsonSerializer; -import me.chanjar.weixin.mp.bean.WxMpTemplateData; -import me.chanjar.weixin.mp.bean.WxMpTemplateMessage; + +import me.chanjar.weixin.mp.bean.template.WxMpTemplateData; +import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage; import java.lang.reflect.Type; 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 b967719f5..3c6fd0b42 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 @@ -2,6 +2,7 @@ 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; @@ -12,9 +13,10 @@ 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; -import me.chanjar.weixin.mp.bean.WxMpIndustry; -import me.chanjar.weixin.mp.bean.WxMpTemplateData; -import me.chanjar.weixin.mp.bean.WxMpTemplateMessage; +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; /** *
@@ -45,15 +47,15 @@ public class WxMpTemplateMsgServiceImplTest {
 
   @Test
   public void testGetIndustry() throws Exception {
-    final WxMpIndustry industry = this.wxService.getTemplateMsgService().getIndustry();
+    final WxMpTemplateIndustry industry = this.wxService.getTemplateMsgService().getIndustry();
     Assert.assertNotNull(industry);
     System.out.println(industry);
   }
 
   @Test
   public void testSetIndustry() throws Exception {
-    WxMpIndustry industry = new WxMpIndustry(new WxMpIndustry.Industry("1"),
-        new WxMpIndustry.Industry("04"));
+    WxMpTemplateIndustry industry = new WxMpTemplateIndustry(new WxMpTemplateIndustry.Industry("1"),
+        new WxMpTemplateIndustry.Industry("04"));
     boolean result = this.wxService.getTemplateMsgService().setIndustry(industry);
     Assert.assertTrue(result);
   }
@@ -65,4 +67,11 @@ public class WxMpTemplateMsgServiceImplTest {
     System.err.println(result);
   }
 
+  @Test
+  public void testGetAllPrivateTemplate() throws Exception {
+    List result = this.wxService.getTemplateMsgService().getAllPrivateTemplate();
+    Assert.assertNotNull(result);
+    System.err.println(result);
+  }
+
 }