From 4ddad91b41a92856b3c70cce9db5cec350bd90e1 Mon Sep 17 00:00:00 2001 From: WangJiuJun Date: Wed, 11 Mar 2026 09:49:42 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=20getEmployeeFieldInfo?= =?UTF-8?q?=20getAll=E5=8F=82=E6=95=B0=E9=97=AE=E9=A2=98=EF=BC=8C=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E6=AD=A4=E5=8F=82=E6=95=B0=E6=97=B6=EF=BC=8C=E6=8A=A5?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E4=BB=A3=E7=A0=81=EF=BC=9A40058,=20=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E4=BF=A1=E6=81=AF=EF=BC=9A=E4=B8=8D=E5=90=88=E6=B3=95?= =?UTF-8?q?=E7=9A=84=E5=8F=82=E6=95=B0=EF=BC=9B=E4=BC=A0=E9=80=92=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E4=B8=8D=E7=AC=A6=E5=90=88=E7=B3=BB=E7=BB=9F=E8=A6=81?= =?UTF-8?q?=E6=B1=82=EF=BC=8C=E9=9C=80=E8=A6=81=E5=8F=82=E7=85=A7=E5=85=B7?= =?UTF-8?q?=E4=BD=93API=E6=8E=A5=E5=8F=A3=E8=AF=B4=E6=98=8E=EF=BC=8C?= =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E5=8E=9F=E5=A7=8B=E6=8A=A5=E6=96=87=EF=BC=9A?= =?UTF-8?q?{"errcode":40058,"errmsg":"invalid=20Request=20Parameter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chanjar/weixin/cp/api/WxCpHrService.java | 18 +++++++++++++++++- .../weixin/cp/api/impl/WxCpHrServiceImpl.java | 9 +++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) 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), From 5313f17fe0a5d19d0881ebd6ac903bfad6648dc7 Mon Sep 17 00:00:00 2001 From: Binary Wang Date: Thu, 12 Mar 2026 20:28:26 +0800 Subject: [PATCH 2/4] Update weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpHrService.java Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../main/java/me/chanjar/weixin/cp/api/WxCpHrService.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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 aa2540f9d..4e4cbb9ef 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 @@ -58,7 +58,12 @@ public interface WxCpHrService { * @return 员工档案数据响应 wx cp hr employee field data resp * @throws WxErrorException the wx error exception */ - WxCpHrEmployeeFieldDataResp getEmployeeFieldInfo(String userid, boolean getAll, List fields) throws WxErrorException; + default WxCpHrEmployeeFieldDataResp getEmployeeFieldInfo(String userid, boolean getAll, + List fields) throws WxErrorException { + // 为了保持接口的向后兼容性,默认实现忽略 getAll 参数,仅透传 fields。 + // 需要根据 getAll 返回全部字段的实现类可以自行覆盖该方法。 + return this.getEmployeeFieldInfo(userid, fields); + } /** * 更新员工档案数据. From 3da4e37ca4b70b2ab8a27ee96312d8cb3d628287 Mon Sep 17 00:00:00 2001 From: Binary Wang Date: Thu, 12 Mar 2026 20:28:39 +0800 Subject: [PATCH 3/4] Update weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/impl/WxCpHrServiceImpl.java Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../java/me/chanjar/weixin/cp/api/impl/WxCpHrServiceImpl.java | 3 --- 1 file changed, 3 deletions(-) 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 ba016f1aa..21e8993d8 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 @@ -53,9 +53,6 @@ public WxCpHrEmployeeFieldDataResp getEmployeeFieldInfo(String userid, boolean g 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), From a553c9b815a259255e97d8c3b7ffaa8c079afd43 Mon Sep 17 00:00:00 2001 From: Binary Wang Date: Thu, 12 Mar 2026 20:29:01 +0800 Subject: [PATCH 4/4] Update weixin-java-cp/src/main/java/me/chanjar/weixin/cp/api/WxCpHrService.java Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../me/chanjar/weixin/cp/api/WxCpHrService.java | 16 ---------------- 1 file changed, 16 deletions(-) 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 4e4cbb9ef..ae3e47ebc 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 @@ -50,22 +50,6 @@ public interface WxCpHrService { * 请求方式: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 - */ - default WxCpHrEmployeeFieldDataResp getEmployeeFieldInfo(String userid, boolean getAll, - List fields) throws WxErrorException { - // 为了保持接口的向后兼容性,默认实现忽略 getAll 参数,仅透传 fields。 - // 需要根据 getAll 返回全部字段的实现类可以自行覆盖该方法。 - return this.getEmployeeFieldInfo(userid, fields); - } - - /** * 更新员工档案数据. *

* 请求方式:POST(HTTPS)