diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpHrService.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpHrService.java index cdf39871a..aa2540f9d 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpHrService.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpHrService.java @@ -38,12 +38,28 @@ public interface WxCpHrService { * 需要配置人事助手的secret,调用接口前需给对应成员赋予人事小助手应用的权限。 * * @param userid 员工userid - * @param fields 指定字段key列表,不填则返回全部字段 + * @param fields 指定字段key列表 * @return 员工档案数据响应 wx cp hr employee field data resp * @throws WxErrorException the wx error exception */ WxCpHrEmployeeFieldDataResp getEmployeeFieldInfo(String userid, List fields) throws WxErrorException; + /** + * 获取员工档案数据. + *

+ * 请求方式:POST(HTTPS) + * 请求地址:https://qyapi.weixin.qq.com/cgi-bin/hr/get_staff_info?access_token=ACCESS_TOKEN + * 权限说明: + * 需要配置人事助手的secret,调用接口前需给对应成员赋予人事小助手应用的权限。 + * + * @param userid 员工userid + * @param getAll 是否获取全部字段 + * @param fields 指定字段key列表 + * @return 员工档案数据响应 wx cp hr employee field data resp + * @throws WxErrorException the wx error exception + */ + WxCpHrEmployeeFieldDataResp getEmployeeFieldInfo(String userid, boolean getAll, List fields) throws WxErrorException; + /** * 更新员工档案数据. *

diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpHrServiceImpl.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpHrServiceImpl.java index 9daf20d86..ba016f1aa 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpHrServiceImpl.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpHrServiceImpl.java @@ -40,13 +40,22 @@ public WxCpHrEmployeeFieldInfoResp getFieldInfo(List fields) throws WxEr @Override public WxCpHrEmployeeFieldDataResp getEmployeeFieldInfo(String userid, List fields) throws WxErrorException { + return getEmployeeFieldInfo(userid,false,fields); + } + + @Override + public WxCpHrEmployeeFieldDataResp getEmployeeFieldInfo(String userid, boolean getAll, List fields) throws WxErrorException { if (userid == null || userid.trim().isEmpty()) { throw new IllegalArgumentException("userid 不能为空"); } JsonObject jsonObject = new JsonObject(); jsonObject.addProperty("userid", userid); + jsonObject.addProperty("get_all", getAll); if (fields != null && !fields.isEmpty()) { jsonObject.add("fields", WxCpGsonBuilder.create().toJsonTree(fields)); + }else{ + if(!getAll) + throw new IllegalArgumentException("fields 不能为空"); } String response = this.cpService.post( this.cpService.getWxCpConfigStorage().getApiUrl(GET_EMPLOYEE_FIELD_INFO),