diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpTpAdmin.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpTpAdmin.java new file mode 100644 index 0000000000..4500531ae0 --- /dev/null +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/WxCpTpAdmin.java @@ -0,0 +1,47 @@ +package me.chanjar.weixin.cp.bean; + +import com.google.gson.annotations.SerializedName; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; +import me.chanjar.weixin.common.util.json.WxGsonBuilder; +import me.chanjar.weixin.cp.util.json.WxCpGsonBuilder; + +import java.util.List; + +/** + * 应用的管理员 + * @author huangxiaoming + */ +@Data +public class WxCpTpAdmin extends WxCpBaseResp { + + private static final long serialVersionUID = -5028321625140879571L; + + @SerializedName("admin") + private List admin; + + @Getter + @Setter + public static class Admin { + + @SerializedName("userid") + private String userId; + + @SerializedName("auth_type") + private Integer authType; + + public String toJson() { + return WxGsonBuilder.create().toJson(this); + } + } + + public static WxCpTpAdmin fromJson(String json) { + return WxCpGsonBuilder.create().fromJson(json, WxCpTpAdmin.class); + } + + public String toJson() { + return WxCpGsonBuilder.create().toJson(this); + } + +} diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/constant/WxCpApiPathConsts.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/constant/WxCpApiPathConsts.java index c1b204ee60..7d8f454562 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/constant/WxCpApiPathConsts.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/constant/WxCpApiPathConsts.java @@ -156,6 +156,8 @@ public static class Tp { public static final String CONTACT_SEARCH = "/cgi-bin/service/contact/search"; + public static final String GET_ADMIN_LIST = "/cgi-bin/service/get_admin_list"; + } @UtilityClass diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/tp/service/WxCpTpService.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/tp/service/WxCpTpService.java index 1709a7bab8..62178550e9 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/tp/service/WxCpTpService.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/tp/service/WxCpTpService.java @@ -387,4 +387,15 @@ public interface WxCpTpService { * @param wxCpTpUserService the set user service */ void setWxCpTpUserService(WxCpTpUserService wxCpTpUserService); + + /** + * 获取应用的管理员列表 + * @param authCorpId + * @param agentId + * @return + */ + WxCpTpAdmin getAdminList(String authCorpId,Integer agentId) throws WxErrorException; + + + } diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/tp/service/impl/BaseWxCpTpServiceImpl.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/tp/service/impl/BaseWxCpTpServiceImpl.java index 71f3b7fa38..aec808b33a 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/tp/service/impl/BaseWxCpTpServiceImpl.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/tp/service/impl/BaseWxCpTpServiceImpl.java @@ -476,4 +476,14 @@ public void setWxCpTpOAService(WxCpTpOAService wxCpTpOAService) { public void setWxCpTpUserService(WxCpTpUserService wxCpTpUserService) { this.wxCpTpUserService = wxCpTpUserService; } + + @Override + public WxCpTpAdmin getAdminList(String authCorpId,Integer agentId) throws WxErrorException{ + JsonObject jsonObject = new JsonObject(); + jsonObject.addProperty("auth_corpid", authCorpId); + jsonObject.addProperty("agentid", agentId); + String result = post(configStorage.getApiUrl(GET_ADMIN_LIST), jsonObject.toString()); + return WxCpTpAdmin.fromJson(result); + } + }