소스 검색

#246 修复企业号用户信息相关属性,对比实际接口返回内容,移除已失效属性(weixinid、tel),添加缺失的属性(telephone, english_name, hide_mobile)

master
Binary Wang 7 년 전
부모
커밋
8ed0e786db
23개의 변경된 파일144개의 추가작업 그리고 86개의 파일을 삭제
  1. +9
    -0
      weixin-java-cp/pom.xml
  2. +2
    -3
      weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/AbstractWxCpServiceImpl.java
  3. +33
    -15
      weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpUser.java
  4. +19
    -10
      weixin-java-cp/src/main/java/me/chanjar/weixin/cp/util/json/WxCpUserGsonAdapter.java
  5. +1
    -1
      weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/ApiTestModule.java
  6. +5
    -5
      weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/WxCpBaseAPITest.java
  7. +4
    -3
      weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/WxCpBusyRetryTest.java
  8. +13
    -8
      weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/WxCpDepartAPITest.java
  9. +5
    -3
      weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/WxCpMediaAPITest.java
  10. +4
    -3
      weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/WxCpMessageAPITest.java
  11. +3
    -2
      weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/WxCpMessageRouterTest.java
  12. +4
    -3
      weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/WxCpTagAPITest.java
  13. +19
    -9
      weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/WxCpUserAPITest.java
  14. +5
    -3
      weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/WxMenuAPITest.java
  15. +2
    -2
      weixin-java-cp/src/test/java/me/chanjar/weixin/cp/bean/WxCpMessageTest.java
  16. +2
    -2
      weixin-java-cp/src/test/java/me/chanjar/weixin/cp/bean/WxCpXmlMessageTest.java
  17. +2
    -2
      weixin-java-cp/src/test/java/me/chanjar/weixin/cp/bean/WxCpXmlOutImageMessageTest.java
  18. +2
    -2
      weixin-java-cp/src/test/java/me/chanjar/weixin/cp/bean/WxCpXmlOutNewsMessageTest.java
  19. +2
    -2
      weixin-java-cp/src/test/java/me/chanjar/weixin/cp/bean/WxCpXmlOutTextMessageTest.java
  20. +2
    -2
      weixin-java-cp/src/test/java/me/chanjar/weixin/cp/bean/WxCpXmlOutVideoMessageTest.java
  21. +2
    -2
      weixin-java-cp/src/test/java/me/chanjar/weixin/cp/bean/WxCpXmlOutVoiceMessageTest.java
  22. +1
    -1
      weixin-java-cp/src/test/java/me/chanjar/weixin/cp/demo/WxCpDemoServer.java
  23. +3
    -3
      weixin-java-cp/src/test/resources/testng.xml

+ 9
- 0
weixin-java-cp/pom.xml 파일 보기

@@ -34,6 +34,10 @@
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>

<dependency>
<groupId>org.testng</groupId>
@@ -60,6 +64,11 @@
<artifactId>jetty-servlet</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<scope>test</scope>
</dependency>
</dependencies>

<build>


+ 2
- 3
weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/AbstractWxCpServiceImpl.java 파일 보기

@@ -34,7 +34,7 @@ import java.util.UUID;

public abstract class AbstractWxCpServiceImpl<H, P> implements WxCpService, RequestHttp<H, P> {

protected final Logger log = LoggerFactory.getLogger(AbstractWxCpServiceImpl.class);
protected final Logger log = LoggerFactory.getLogger(this.getClass());

/**
* 全局的是否正在刷新access token的锁
@@ -293,8 +293,7 @@ public abstract class AbstractWxCpServiceImpl<H, P> implements WxCpService, Requ
String responseContent = get(url, params);
JsonElement tmpJsonElement = new JsonParser().parse(responseContent);
return WxCpGsonBuilder.INSTANCE.create()
.fromJson(
tmpJsonElement.getAsJsonObject().get("userlist"),
.fromJson( tmpJsonElement.getAsJsonObject().get("userlist"),
new TypeToken<List<WxCpUser>>() {
}.getType()
);


+ 33
- 15
weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpUser.java 파일 보기

@@ -14,19 +14,21 @@ import java.util.List;
public class WxCpUser implements Serializable {

private static final long serialVersionUID = -5696099236344075582L;
private final List<Attr> extAttrs = new ArrayList<>();
private String userId;
private String name;
private Integer[] departIds;
private String position;
private String mobile;
private String gender;
private String tel;
private String email;
private String weiXinId;
private String avatar;
private Integer status;
private Integer enable;
private Integer isLeader;
private final List<Attr> extAttrs = new ArrayList<>();
private Integer hideMobile;
private String englishName;
private String telephone;

public static WxCpUser fromJson(String json) {
return WxCpGsonBuilder.INSTANCE.create().fromJson(json, WxCpUser.class);
@@ -80,12 +82,12 @@ public class WxCpUser implements Serializable {
this.mobile = mobile;
}

public String getTel() {
return this.tel;
public String getTelephone() {
return this.telephone;
}

public void setTel(String tel) {
this.tel = tel;
public void setTelephone(String telephone) {
this.telephone = telephone;
}

public String getEmail() {
@@ -96,14 +98,6 @@ public class WxCpUser implements Serializable {
this.email = email;
}

public String getWeiXinId() {
return this.weiXinId;
}

public void setWeiXinId(String weiXinId) {
this.weiXinId = weiXinId;
}

public String getAvatar() {
return this.avatar;
}
@@ -136,6 +130,30 @@ public class WxCpUser implements Serializable {
return this.extAttrs;
}

public Integer getIsLeader() {
return isLeader;
}

public void setIsLeader(Integer isLeader) {
this.isLeader = isLeader;
}

public Integer getHideMobile() {
return hideMobile;
}

public void setHideMobile(Integer hideMobile) {
this.hideMobile = hideMobile;
}

public String getEnglishName() {
return englishName;
}

public void setEnglishName(String englishName) {
this.englishName = englishName;
}

public String toJson() {
return WxCpGsonBuilder.INSTANCE.create().toJson(this);
}


+ 19
- 10
weixin-java-cp/src/main/java/me/chanjar/weixin/cp/util/json/WxCpUserGsonAdapter.java 파일 보기

@@ -24,8 +24,6 @@ public class WxCpUserGsonAdapter implements JsonDeserializer<WxCpUser>, JsonSeri
throws JsonParseException {
JsonObject o = json.getAsJsonObject();
WxCpUser user = new WxCpUser();
user.setUserId(GsonHelper.getString(o, "userid"));
user.setName(GsonHelper.getString(o, "name"));

if (o.get("department") != null) {
JsonArray departJsonArray = o.get("department").getAsJsonArray();
@@ -37,14 +35,19 @@ public class WxCpUserGsonAdapter implements JsonDeserializer<WxCpUser>, JsonSeri
user.setDepartIds(departIds);
}

user.setUserId(GsonHelper.getString(o, "userid"));
user.setName(GsonHelper.getString(o, "name"));
user.setPosition(GsonHelper.getString(o, "position"));
user.setMobile(GsonHelper.getString(o, "mobile"));
user.setGender(GsonHelper.getString(o, "gender"));
user.setTel(GsonHelper.getString(o, "tel"));
user.setEmail(GsonHelper.getString(o, "email"));
user.setWeiXinId(GsonHelper.getString(o, "weixinid"));
user.setAvatar(GsonHelper.getString(o, "avatar"));
user.setStatus(GsonHelper.getInteger(o, "status"));
user.setEnable(GsonHelper.getInteger(o, "enable"));
user.setIsLeader(GsonHelper.getInteger(o, "isleader"));
user.setHideMobile(GsonHelper.getInteger(o, "hide_mobile"));
user.setEnglishName(GsonHelper.getString(o, "english_name"));
user.setTelephone(GsonHelper.getString(o, "telephone"));

if (GsonHelper.isNotNull(o.get("extattr"))) {
JsonArray attrJsonElements = o.get("extattr").getAsJsonObject().get("attrs").getAsJsonArray();
@@ -84,15 +87,9 @@ public class WxCpUserGsonAdapter implements JsonDeserializer<WxCpUser>, JsonSeri
if (user.getGender() != null) {
o.addProperty("gender", user.getGender());
}
if (user.getTel() != null) {
o.addProperty("tel", user.getTel());
}
if (user.getEmail() != null) {
o.addProperty("email", user.getEmail());
}
if (user.getWeiXinId() != null) {
o.addProperty("weixinid", user.getWeiXinId());
}
if (user.getAvatar() != null) {
o.addProperty("avatar", user.getAvatar());
}
@@ -102,6 +99,18 @@ public class WxCpUserGsonAdapter implements JsonDeserializer<WxCpUser>, JsonSeri
if (user.getEnable() != null) {
o.addProperty("enable", user.getEnable());
}
if (user.getIsLeader() != null) {
o.addProperty("isleader", user.getIsLeader());
}
if (user.getHideMobile() != null) {
o.addProperty("hide_mobile", user.getHideMobile());
}
if (user.getEnglishName() != null) {
o.addProperty("english_name", user.getEnglishName());
}
if (user.getTelephone() != null) {
o.addProperty("telephone", user.getTelephone());
}
if (user.getExtAttrs().size() > 0) {
JsonArray attrsJsonArray = new JsonArray();
for (WxCpUser.Attr attr : user.getExtAttrs()) {


+ 1
- 1
weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/ApiTestModule.java 파일 보기

@@ -5,7 +5,7 @@ import com.google.inject.Module;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import me.chanjar.weixin.common.util.xml.XStreamInitializer;
import me.chanjar.weixin.cp.api.impl.apache.WxCpServiceImpl;
import me.chanjar.weixin.cp.api.impl.WxCpServiceImpl;

import java.io.IOException;
import java.io.InputStream;


weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/impl/apache/WxCpBaseAPITest.java → weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/WxCpBaseAPITest.java 파일 보기

@@ -1,12 +1,12 @@
package me.chanjar.weixin.cp.api.impl.apache;
package me.chanjar.weixin.cp.api;

import com.google.inject.Inject;
import me.chanjar.weixin.common.exception.WxErrorException;
import me.chanjar.weixin.cp.api.ApiTestModule;
import me.chanjar.weixin.cp.api.WxCpConfigStorage;
import me.chanjar.weixin.cp.api.impl.WxCpServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.testng.*;
import org.testng.annotations.*;
import org.testng.Assert;
import org.testng.annotations.Guice;
import org.testng.annotations.Test;

/**
* 基础API测试

weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/impl/apache/WxCpBusyRetryTest.java → weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/WxCpBusyRetryTest.java 파일 보기

@@ -1,10 +1,11 @@
package me.chanjar.weixin.cp.api.impl.apache;
package me.chanjar.weixin.cp.api;

import me.chanjar.weixin.common.bean.result.WxError;
import me.chanjar.weixin.common.exception.WxErrorException;
import me.chanjar.weixin.common.util.http.RequestExecutor;
import me.chanjar.weixin.cp.api.WxCpService;
import org.testng.annotations.*;
import me.chanjar.weixin.cp.api.impl.WxCpServiceImpl;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;

import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;

+ 13
- 8
weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/WxCpDepartAPITest.java 파일 보기

@@ -2,19 +2,23 @@ package me.chanjar.weixin.cp.api;

import com.google.inject.Inject;
import me.chanjar.weixin.common.exception.WxErrorException;
import me.chanjar.weixin.cp.api.impl.apache.WxCpServiceImpl;
import me.chanjar.weixin.cp.api.impl.WxCpServiceImpl;
import me.chanjar.weixin.cp.bean.WxCpDepart;
import org.testng.*;
import org.testng.annotations.*;
import org.testng.Assert;
import org.testng.annotations.Guice;
import org.testng.annotations.Test;

import java.util.List;

import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertTrue;

/**
* 测试部门接口
*
* @author Daniel Qian
*/
@Test(groups = "departAPI", dependsOnGroups = "baseAPI")
@Test(groups = "departAPI")
@Guice(modules = ApiTestModule.class)
public class WxCpDepartAPITest {

@@ -23,6 +27,7 @@ public class WxCpDepartAPITest {

protected WxCpDepart depart;

@Test
public void testDepartCreate() throws WxErrorException {
WxCpDepart cpDepart = new WxCpDepart();
cpDepart.setName("子部门" + System.currentTimeMillis());
@@ -32,16 +37,16 @@ public class WxCpDepartAPITest {
System.out.println(departId);
}

@Test(dependsOnMethods = "testDepartCreate")
@Test//(dependsOnMethods = "testDepartCreate")
public void testDepartGet() throws WxErrorException {
System.out.println("=================获取部门");
List<WxCpDepart> departList = this.wxCpService.departGet();
Assert.assertNotNull(departList);
Assert.assertTrue(departList.size() > 0);
assertNotNull(departList);
assertTrue(departList.size() > 0);
for (WxCpDepart g : departList) {
this.depart = g;
System.out.println(this.depart.getId() + ":" + this.depart.getName());
Assert.assertNotNull(g.getName());
assertNotNull(g.getName());
}
}



+ 5
- 3
weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/WxCpMediaAPITest.java 파일 보기

@@ -4,9 +4,11 @@ import com.google.inject.Inject;
import me.chanjar.weixin.common.api.WxConsts;
import me.chanjar.weixin.common.bean.result.WxMediaUploadResult;
import me.chanjar.weixin.common.exception.WxErrorException;
import me.chanjar.weixin.cp.api.impl.apache.WxCpServiceImpl;
import org.testng.*;
import org.testng.annotations.*;
import me.chanjar.weixin.cp.api.impl.WxCpServiceImpl;
import org.testng.Assert;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Guice;
import org.testng.annotations.Test;

import java.io.IOException;
import java.io.InputStream;


weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/impl/apache/WxCpMessageAPITest.java → weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/WxCpMessageAPITest.java 파일 보기

@@ -1,11 +1,12 @@
package me.chanjar.weixin.cp.api.impl.apache;
package me.chanjar.weixin.cp.api;

import com.google.inject.Inject;
import me.chanjar.weixin.common.api.WxConsts;
import me.chanjar.weixin.common.exception.WxErrorException;
import me.chanjar.weixin.cp.api.ApiTestModule;
import me.chanjar.weixin.cp.api.impl.WxCpServiceImpl;
import me.chanjar.weixin.cp.bean.WxCpMessage;
import org.testng.annotations.*;
import org.testng.annotations.Guice;
import org.testng.annotations.Test;

/***
* 测试发送消息

+ 3
- 2
weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/WxCpMessageRouterTest.java 파일 보기

@@ -5,8 +5,9 @@ import me.chanjar.weixin.common.session.StandardSessionManager;
import me.chanjar.weixin.common.session.WxSessionManager;
import me.chanjar.weixin.cp.bean.WxCpXmlMessage;
import me.chanjar.weixin.cp.bean.WxCpXmlOutMessage;
import org.testng.*;
import org.testng.annotations.*;
import org.testng.Assert;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;

import java.util.Map;



+ 4
- 3
weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/WxCpTagAPITest.java 파일 보기

@@ -1,11 +1,12 @@
package me.chanjar.weixin.cp.api;

import com.google.inject.Inject;
import me.chanjar.weixin.cp.api.impl.apache.WxCpServiceImpl;
import me.chanjar.weixin.cp.api.impl.WxCpServiceImpl;
import me.chanjar.weixin.cp.bean.WxCpTag;
import me.chanjar.weixin.cp.bean.WxCpUser;
import org.testng.*;
import org.testng.annotations.*;
import org.testng.Assert;
import org.testng.annotations.Guice;
import org.testng.annotations.Test;

import java.util.ArrayList;
import java.util.List;


+ 19
- 9
weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/WxCpUserAPITest.java 파일 보기

@@ -2,28 +2,30 @@ package me.chanjar.weixin.cp.api;

import com.google.inject.Inject;
import me.chanjar.weixin.common.exception.WxErrorException;
import me.chanjar.weixin.cp.api.impl.apache.WxCpServiceImpl;
import me.chanjar.weixin.cp.bean.WxCpDepart;
import me.chanjar.weixin.cp.api.impl.WxCpServiceImpl;
import me.chanjar.weixin.cp.bean.WxCpUser;
import org.testng.*;
import org.testng.annotations.*;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.testng.Assert;
import org.testng.annotations.Guice;
import org.testng.annotations.Test;

import java.util.List;

import static org.testng.Assert.assertNotEquals;

/**
* 测试用户接口
*
* @author Daniel Qian
*/
@Test(groups = "userAPI", dependsOnGroups = "baseAPI")
@Test(groups = "userAPI")
@Guice(modules = ApiTestModule.class)
public class WxCpUserAPITest {

@Inject
protected WxCpServiceImpl wxCpService;

protected WxCpDepart depart;

public void testUserCreate() throws WxErrorException {
WxCpUser user = new WxCpUser();
user.setUserId("some.woman");
@@ -33,7 +35,7 @@ public class WxCpUserAPITest {
user.setGender("女");
user.setMobile("13560084979");
user.setPosition("woman");
user.setTel("3300393");
user.setTelephone("3300393");
user.addExtAttr("爱好", "table");
this.wxCpService.userCreate(user);
}
@@ -56,11 +58,19 @@ public class WxCpUserAPITest {
@Test(dependsOnMethods = "testUserGet")
public void testDepartGetUsers() throws WxErrorException {
List<WxCpUser> users = this.wxCpService.departGetUsers(1, true, 0);
Assert.assertNotEquals(users.size(), 0);
assertNotEquals(users.size(), 0);
}

@Test(dependsOnMethods = "testDepartGetUsers")
public void testUserDelete() throws WxErrorException {
this.wxCpService.userDelete("some.woman");
}

public void testUserList() throws WxErrorException {
List<WxCpUser> users = this.wxCpService.userList(1, true, 0);
assertNotEquals(users.size(), 0);
for (WxCpUser user : users) {
System.out.println(ToStringBuilder.reflectionToString(user, ToStringStyle.MULTI_LINE_STYLE));
}
}
}

+ 5
- 3
weixin-java-cp/src/test/java/me/chanjar/weixin/cp/api/WxMenuAPITest.java 파일 보기

@@ -5,9 +5,11 @@ import me.chanjar.weixin.common.api.WxConsts;
import me.chanjar.weixin.common.bean.menu.WxMenu;
import me.chanjar.weixin.common.bean.menu.WxMenuButton;
import me.chanjar.weixin.common.exception.WxErrorException;
import me.chanjar.weixin.cp.api.impl.apache.WxCpServiceImpl;
import org.testng.*;
import org.testng.annotations.*;
import me.chanjar.weixin.cp.api.impl.WxCpServiceImpl;
import org.testng.Assert;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Guice;
import org.testng.annotations.Test;

/**
* 测试菜单


+ 2
- 2
weixin-java-cp/src/test/java/me/chanjar/weixin/cp/bean/WxCpMessageTest.java 파일 보기

@@ -3,9 +3,9 @@ package me.chanjar.weixin.cp.bean;
import me.chanjar.weixin.common.api.WxConsts;
import me.chanjar.weixin.cp.bean.article.MpnewsArticle;
import me.chanjar.weixin.cp.bean.article.NewArticle;
import org.testng.annotations.*;
import org.testng.annotations.Test;

import static org.testng.Assert.*;
import static org.testng.Assert.assertEquals;

@Test
public class WxCpMessageTest {


+ 2
- 2
weixin-java-cp/src/test/java/me/chanjar/weixin/cp/bean/WxCpXmlMessageTest.java 파일 보기

@@ -1,8 +1,8 @@
package me.chanjar.weixin.cp.bean;

import me.chanjar.weixin.common.api.WxConsts;
import org.testng.*;
import org.testng.annotations.*;
import org.testng.Assert;
import org.testng.annotations.Test;

@Test
public class WxCpXmlMessageTest {


+ 2
- 2
weixin-java-cp/src/test/java/me/chanjar/weixin/cp/bean/WxCpXmlOutImageMessageTest.java 파일 보기

@@ -1,7 +1,7 @@
package me.chanjar.weixin.cp.bean;

import org.testng.*;
import org.testng.annotations.*;
import org.testng.Assert;
import org.testng.annotations.Test;

@Test
public class WxCpXmlOutImageMessageTest {


+ 2
- 2
weixin-java-cp/src/test/java/me/chanjar/weixin/cp/bean/WxCpXmlOutNewsMessageTest.java 파일 보기

@@ -1,7 +1,7 @@
package me.chanjar.weixin.cp.bean;

import org.testng.*;
import org.testng.annotations.*;
import org.testng.Assert;
import org.testng.annotations.Test;

@Test
public class WxCpXmlOutNewsMessageTest {


+ 2
- 2
weixin-java-cp/src/test/java/me/chanjar/weixin/cp/bean/WxCpXmlOutTextMessageTest.java 파일 보기

@@ -1,7 +1,7 @@
package me.chanjar.weixin.cp.bean;

import org.testng.*;
import org.testng.annotations.*;
import org.testng.Assert;
import org.testng.annotations.Test;

@Test
public class WxCpXmlOutTextMessageTest {


+ 2
- 2
weixin-java-cp/src/test/java/me/chanjar/weixin/cp/bean/WxCpXmlOutVideoMessageTest.java 파일 보기

@@ -1,7 +1,7 @@
package me.chanjar.weixin.cp.bean;

import org.testng.*;
import org.testng.annotations.*;
import org.testng.Assert;
import org.testng.annotations.Test;

@Test
public class WxCpXmlOutVideoMessageTest {


+ 2
- 2
weixin-java-cp/src/test/java/me/chanjar/weixin/cp/bean/WxCpXmlOutVoiceMessageTest.java 파일 보기

@@ -1,7 +1,7 @@
package me.chanjar.weixin.cp.bean;

import org.testng.*;
import org.testng.annotations.*;
import org.testng.Assert;
import org.testng.annotations.Test;

@Test
public class WxCpXmlOutVoiceMessageTest {


+ 1
- 1
weixin-java-cp/src/test/java/me/chanjar/weixin/cp/demo/WxCpDemoServer.java 파일 보기

@@ -5,7 +5,7 @@ import me.chanjar.weixin.cp.api.WxCpConfigStorage;
import me.chanjar.weixin.cp.api.WxCpMessageHandler;
import me.chanjar.weixin.cp.api.WxCpMessageRouter;
import me.chanjar.weixin.cp.api.WxCpService;
import me.chanjar.weixin.cp.api.impl.apache.WxCpServiceImpl;
import me.chanjar.weixin.cp.api.impl.WxCpServiceImpl;
import me.chanjar.weixin.cp.bean.WxCpXmlMessage;
import me.chanjar.weixin.cp.bean.WxCpXmlOutMessage;
import me.chanjar.weixin.cp.bean.WxCpXmlOutTextMessage;


+ 3
- 3
weixin-java-cp/src/test/resources/testng.xml 파일 보기

@@ -3,9 +3,9 @@
<suite name="Weixin-java-tool-suite" verbose="1">
<test name="API_Test">
<classes>
<class name="me.chanjar.weixin.cp.api.impl.apache.WxCpBusyRetryTest"/>
<class name="me.chanjar.weixin.cp.api.impl.apache.WxCpBaseAPITest"/>
<class name="me.chanjar.weixin.cp.api.impl.apache.WxCpMessageAPITest"/>
<class name="me.chanjar.weixin.cp.api.WxCpBusyRetryTest"/>
<class name="me.chanjar.weixin.cp.api.WxCpBaseAPITest"/>
<class name="me.chanjar.weixin.cp.api.WxCpMessageAPITest"/>
<class name="me.chanjar.weixin.cp.api.WxMenuAPITest"/>
<class name="me.chanjar.weixin.cp.api.WxCpDepartAPITest"/>
<class name="me.chanjar.weixin.cp.api.WxCpMediaAPITest"/>


불러오는 중...
취소
저장