#1078 完善企业微信外部联系人相关接口
- 完成ExternalContact基础三个接口 - 外部联系人变更事件的消息解析 - 外部联系人的属性,增加标记公司名称和标记电话号码,还有tag分类 - 企业微信API url修改优化
This commit is contained in:
@@ -52,6 +52,8 @@ public class ApiTestModule implements Module {
|
||||
|
||||
protected String tagId;
|
||||
|
||||
protected String externalUserId;
|
||||
|
||||
public String getUserId() {
|
||||
return this.userId;
|
||||
}
|
||||
@@ -76,12 +78,22 @@ public class ApiTestModule implements Module {
|
||||
this.tagId = tagId;
|
||||
}
|
||||
|
||||
public String getExternalUserId() {
|
||||
return externalUserId;
|
||||
}
|
||||
|
||||
public void setExternalUserId(String externalUserId) {
|
||||
this.externalUserId = externalUserId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return super.toString() + " > WxXmlCpConfigStorage{" +
|
||||
"userId='" + this.userId + '\'' +
|
||||
", departmentId='" + this.departmentId + '\'' +
|
||||
", tagId='" + this.tagId + '\'' +
|
||||
", externalUserId='" + this.externalUserId + '\'' +
|
||||
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
package me.chanjar.weixin.cp.api.impl;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
import me.chanjar.weixin.common.error.WxErrorException;
|
||||
import me.chanjar.weixin.cp.api.ApiTestModule;
|
||||
import me.chanjar.weixin.cp.api.WxCpService;
|
||||
import me.chanjar.weixin.cp.bean.WxCpUserExternalContactInfo;
|
||||
import org.testng.annotations.Guice;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static org.testng.Assert.assertNotNull;
|
||||
|
||||
@Guice(modules = ApiTestModule.class)
|
||||
public class WxCpExternalContactServiceImplTest {
|
||||
@Inject
|
||||
private WxCpService wxCpService;
|
||||
@Inject
|
||||
protected ApiTestModule.WxXmlCpInMemoryConfigStorage configStorage;
|
||||
private String userId = "someone" + System.currentTimeMillis();
|
||||
|
||||
@Test
|
||||
public void testGetExternalContact() throws WxErrorException {
|
||||
String externalUserId = this.configStorage.getExternalUserId();
|
||||
WxCpUserExternalContactInfo result = this.wxCpService.getExternalContactService().getExternalContact(externalUserId);
|
||||
System.out.println(result);
|
||||
assertNotNull(result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testListExternalContacts() throws WxErrorException {
|
||||
String userId = this.configStorage.getUserId();
|
||||
List<String> ret = this.wxCpService.getExternalContactService().listExternalContacts(userId);
|
||||
System.out.println(ret);
|
||||
assertNotNull(ret);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testListExternalWithPermission() throws WxErrorException {
|
||||
List<String> ret = this.wxCpService.getExternalContactService().listFollowUser();
|
||||
System.out.println(ret);
|
||||
assertNotNull(ret);
|
||||
}
|
||||
}
|
||||
@@ -93,7 +93,7 @@ public class WxCpUserServiceImplTest {
|
||||
@Test
|
||||
public void testInvite() throws Exception {
|
||||
WxCpInviteResult result = this.wxCpService.getUserService().invite(
|
||||
Lists.newArrayList(userId), null,null);
|
||||
Lists.newArrayList(userId), null, null);
|
||||
System.out.println(result);
|
||||
}
|
||||
|
||||
@@ -111,10 +111,5 @@ public class WxCpUserServiceImplTest {
|
||||
assertNotNull(result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetExternalContact() throws WxErrorException {
|
||||
WxCpUserExternalContactInfo result = this.wxCpService.getUserService().getExternalContact(userId);
|
||||
System.out.println(result);
|
||||
assertNotNull(result);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package me.chanjar.weixin.cp.bean;
|
||||
|
||||
import me.chanjar.weixin.common.api.WxConsts;
|
||||
import me.chanjar.weixin.cp.constant.WxCpConsts;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
import static me.chanjar.weixin.cp.constant.WxCpConsts.EventType.TASKCARD_CLICK;
|
||||
@@ -106,7 +107,7 @@ public class WxCpXmlMessageTest {
|
||||
"<Count>2</Count>" +
|
||||
"</SendPicsInfo>" +
|
||||
"</xml>";
|
||||
WxCpXmlMessage wxMessage = WxCpXmlMessage.fromXml(xml.replace("</PicList><PicList>",""));
|
||||
WxCpXmlMessage wxMessage = WxCpXmlMessage.fromXml(xml.replace("</PicList><PicList>", ""));
|
||||
assertEquals(wxMessage.getToUserName(), "wx45a0972125658be9");
|
||||
assertEquals(wxMessage.getFromUserName(), "xiaohe");
|
||||
assertEquals(wxMessage.getCreateTime(), new Long(1502012364L));
|
||||
@@ -173,4 +174,52 @@ public class WxCpXmlMessageTest {
|
||||
assertEquals(wxMessage.getEventKey(), "key111");
|
||||
assertEquals(wxMessage.getTaskId(), "taskid111");
|
||||
}
|
||||
|
||||
public void testAddExternalUserEvent() {
|
||||
String xml = "<xml>" +
|
||||
"<ToUserName><![CDATA[toUser]]></ToUserName>" +
|
||||
"<FromUserName><![CDATA[sys]]></FromUserName>" +
|
||||
"<CreateTime>1403610513</CreateTime>" +
|
||||
"<MsgType><![CDATA[event]]></MsgType>" +
|
||||
"<Event><![CDATA[change_external_contact]]></Event>" +
|
||||
"<ChangeType><![CDATA[add_external_contact]]></ChangeType>" +
|
||||
"<UserID><![CDATA[zhangsan]]></UserID>" +
|
||||
"<ExternalUserID><![CDATA[woAJ2GCAAAXtWyujaWJHDDGi0mACH71w]]></ExternalUserID>" +
|
||||
"<State><![CDATA[teststate]]></State>" +
|
||||
"<WelcomeCode><![CDATA[WELCOMECODE]]></WelcomeCode>" +
|
||||
"</xml >";
|
||||
WxCpXmlMessage wxMessage = WxCpXmlMessage.fromXml(xml);
|
||||
assertEquals(wxMessage.getToUserName(), "toUser");
|
||||
assertEquals(wxMessage.getFromUserName(), "sys");
|
||||
assertEquals(wxMessage.getCreateTime(), Long.valueOf(1403610513L));
|
||||
assertEquals(wxMessage.getMsgType(), WxConsts.XmlMsgType.EVENT);
|
||||
assertEquals(wxMessage.getEvent(), WxCpConsts.EventType.CHANGE_EXTERNAL_CONTACT);
|
||||
assertEquals(wxMessage.getChangeType(), WxCpConsts.ExternalContactChangeType.ADD_EXTERNAL_CONTACT);
|
||||
assertEquals(wxMessage.getExternalUserID(), "woAJ2GCAAAXtWyujaWJHDDGi0mACH71w");
|
||||
assertEquals(wxMessage.getState(), "teststate");
|
||||
assertEquals(wxMessage.getWelcomeCode(), "WELCOMECODE");
|
||||
|
||||
}
|
||||
|
||||
public void testDelExternalUserEvent() {
|
||||
String xml = "<xml>" +
|
||||
"<ToUserName><![CDATA[toUser]]></ToUserName>" +
|
||||
"<FromUserName><![CDATA[sys]]></FromUserName>" +
|
||||
"<CreateTime>1403610513</CreateTime>" +
|
||||
"<MsgType><![CDATA[event]]></MsgType>" +
|
||||
"<Event><![CDATA[change_external_contact]]></Event>" +
|
||||
"<ChangeType><![CDATA[del_external_contact]]></ChangeType>" +
|
||||
"<UserID><![CDATA[zhangsan]]></UserID>" +
|
||||
"<ExternalUserID><![CDATA[woAJ2GCAAAXtWyujaWJHDDGi0mACH71w]]></ExternalUserID>" +
|
||||
"</xml>";
|
||||
WxCpXmlMessage wxMessage = WxCpXmlMessage.fromXml(xml);
|
||||
assertEquals(wxMessage.getToUserName(), "toUser");
|
||||
assertEquals(wxMessage.getFromUserName(), "sys");
|
||||
assertEquals(wxMessage.getCreateTime(), Long.valueOf(1403610513L));
|
||||
assertEquals(wxMessage.getMsgType(), WxConsts.XmlMsgType.EVENT);
|
||||
assertEquals(wxMessage.getEvent(), WxCpConsts.EventType.CHANGE_EXTERNAL_CONTACT);
|
||||
assertEquals(wxMessage.getChangeType(), WxCpConsts.ExternalContactChangeType.DEL_EXTERNAL_CONTACT);
|
||||
assertEquals(wxMessage.getUserId(), "zhangsan");
|
||||
assertEquals(wxMessage.getExternalUserID(), "woAJ2GCAAAXtWyujaWJHDDGi0mACH71w");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user