| @@ -137,6 +137,23 @@ public interface WxCpUserService { | |||||
| */ | */ | ||||
| String openid2UserId(String openid) throws WxErrorException; | String openid2UserId(String openid) throws WxErrorException; | ||||
| /** | |||||
| * <pre> | |||||
| * | |||||
| * 通过手机号获取其所对应的userid。 | |||||
| * | |||||
| * 请求方式:POST(HTTPS) | |||||
| * 请求地址:https://qyapi.weixin.qq.com/cgi-bin/user/getuserid?access_token=ACCESS_TOKEN | |||||
| * | |||||
| * 文档地址:https://work.weixin.qq.com/api/doc#90001/90143/91693 | |||||
| * </pre> | |||||
| * | |||||
| * @param mobile 手机号码。长度为5~32个字节 | |||||
| * @return userid mobile对应的成员userid | |||||
| * @throws WxErrorException . | |||||
| */ | |||||
| String getUserId(String mobile) throws WxErrorException; | |||||
| /** | /** | ||||
| * 获取外部联系人详情. | * 获取外部联系人详情. | ||||
| * <pre> | * <pre> | ||||
| @@ -147,6 +164,8 @@ public interface WxCpUserService { | |||||
| * </pre> | * </pre> | ||||
| * | * | ||||
| * @param userId 外部联系人的userid | * @param userId 外部联系人的userid | ||||
| * @return 联系人详情 | |||||
| * @throws WxErrorException . | |||||
| */ | */ | ||||
| WxCpUserExternalContactInfo getExternalContact(String userId) throws WxErrorException; | WxCpUserExternalContactInfo getExternalContact(String userId) throws WxErrorException; | ||||
| @@ -180,6 +180,16 @@ public class WxCpUserServiceImpl implements WxCpUserService { | |||||
| return tmpJsonElement.getAsJsonObject().get("userid").getAsString(); | return tmpJsonElement.getAsJsonObject().get("userid").getAsString(); | ||||
| } | } | ||||
| @Override | |||||
| public String getUserId(String mobile) throws WxErrorException { | |||||
| JsonObject jsonObject = new JsonObject(); | |||||
| jsonObject.addProperty("mobile", mobile); | |||||
| String url = this.mainService.getWxCpConfigStorage().getApiUrl(GET_USER_ID); | |||||
| String responseContent = this.mainService.post(url, jsonObject.toString()); | |||||
| JsonElement tmpJsonElement = new JsonParser().parse(responseContent); | |||||
| return tmpJsonElement.getAsJsonObject().get("userid").getAsString(); | |||||
| } | |||||
| @Override | @Override | ||||
| public WxCpUserExternalContactInfo getExternalContact(String userId) throws WxErrorException { | public WxCpUserExternalContactInfo getExternalContact(String userId) throws WxErrorException { | ||||
| String url = this.mainService.getWxCpConfigStorage().getApiUrl(GET_EXTERNAL_CONTACT + userId); | String url = this.mainService.getWxCpConfigStorage().getApiUrl(GET_EXTERNAL_CONTACT + userId); | ||||
| @@ -101,6 +101,7 @@ public final class WxCpApiPathConsts { | |||||
| public static final String BATCH_INVITE = "/cgi-bin/batch/invite"; | public static final String BATCH_INVITE = "/cgi-bin/batch/invite"; | ||||
| public static final String USER_CONVERT_TO_OPENID = "/cgi-bin/user/convert_to_openid"; | public static final String USER_CONVERT_TO_OPENID = "/cgi-bin/user/convert_to_openid"; | ||||
| public static final String USER_CONVERT_TO_USERID = "/cgi-bin/user/convert_to_userid"; | public static final String USER_CONVERT_TO_USERID = "/cgi-bin/user/convert_to_userid"; | ||||
| public static final String GET_USER_ID = "/cgi-bin/user/getuserid"; | |||||
| public static final String GET_EXTERNAL_CONTACT = "/cgi-bin/crm/get_external_contact?external_userid="; | public static final String GET_EXTERNAL_CONTACT = "/cgi-bin/crm/get_external_contact?external_userid="; | ||||
| } | } | ||||
| @@ -112,4 +112,14 @@ public class WxCpUserServiceImplTest { | |||||
| } | } | ||||
| @Test | |||||
| public void testGetUserId() throws WxErrorException { | |||||
| String result = this.wxCpService.getUserService().getUserId("xxx"); | |||||
| System.out.println(result); | |||||
| assertNotNull(result); | |||||
| } | |||||
| @Test | |||||
| public void testGetExternalContact() { | |||||
| } | |||||
| } | } | ||||