Skip to content

新功能-《获取企业号应用》接口功能 #536

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Apr 13, 2018
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
增加《获取企业号应用》接口实现
  • Loading branch information
huansinho committed Apr 13, 2018
commit 71172c1cb4f83054ecd761b85b61b42cc2a44f56
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package me.chanjar.weixin.cp.api;

import me.chanjar.weixin.common.exception.WxErrorException;
import me.chanjar.weixin.cp.bean.WxCpAgent;
import me.chanjar.weixin.cp.bean.WxCpDepart;

/**
* <pre>
* 管理企业号应用
* Created by huansinho on 2018/4/13.
* </pre>
*
* @author <a href="https://github.com/huansinho">huansinho</a>
*/
public interface WxCpAgentService {

/**
* <pre>
* 获取企业号应用信息
* 该API用于获取企业号某个应用的基本信息,包括头像、昵称、帐号类型、认证类型、可见范围等信息
* 详情请见: http://qydev.weixin.qq.com/wiki/index.php?title=获取企业号应用
* </pre>
*
* @param agentId 企业应用的id
* @return 部门id
*/
WxCpAgent get(Integer agentId) throws WxErrorException;

}
Original file line number Diff line number Diff line change
Expand Up @@ -249,6 +249,8 @@ public interface WxCpService {
*/
WxCpUserService getUserService();

WxCpAgentService getAgentService();

/**
* http请求对象
*/
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package me.chanjar.weixin.cp.api.impl;

import com.google.gson.JsonElement;
import com.google.gson.JsonParser;
import com.google.gson.reflect.TypeToken;
import me.chanjar.weixin.common.exception.WxErrorException;
import me.chanjar.weixin.cp.api.WxCpAgentService;
import me.chanjar.weixin.cp.api.WxCpService;
import me.chanjar.weixin.cp.bean.WxCpAgent;
import me.chanjar.weixin.cp.bean.WxCpDepart;
import me.chanjar.weixin.cp.util.json.WxCpGsonBuilder;

import java.util.List;


/**
* <pre>
* 管理企业号应用
* Created by huansinho on 2018/4/13.
* </pre>
*
* @author <a href="https://github.com/huansinho">huansinho</a>
*/
public class WxCpAgentServiceImpl implements WxCpAgentService {
private WxCpService mainService;

public WxCpAgentServiceImpl(WxCpService mainService) {
this.mainService = mainService;
}

@Override
public WxCpAgent get(Integer agentId) throws WxErrorException {

String url = "https://qyapi.weixin.qq.com/cgi-bin/agent/get";
if (agentId != null) {
url += "?agentid=" + agentId;
} else {
throw new IllegalArgumentException("缺少agentid参数");
}
String responseContent = this.mainService.get(url, null);
return WxCpAgent.fromJson(responseContent);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ public abstract class WxCpServiceAbstractImpl<H, P> implements WxCpService, Requ
private WxCpMenuService menuService = new WxCpMenuServiceImpl(this);
private WxCpOAuth2Service oauth2Service = new WxCpOAuth2ServiceImpl(this);
private WxCpTagService tagService = new WxCpTagServiceImpl(this);
private WxCpAgentService agentService = new WxCpAgentServiceImpl(this);

/**
* 全局的是否正在刷新access token的锁
Expand Down Expand Up @@ -368,4 +369,13 @@ public void setOauth2Service(WxCpOAuth2Service oauth2Service) {
public void setTagService(WxCpTagService tagService) {
this.tagService = tagService;
}

@Override
public WxCpAgentService getAgentService() {
return agentService;
}

public void setAgentService(WxCpAgentService agentService) {
this.agentService = agentService;
}
}