From 4ddad91b41a92856b3c70cce9db5cec350bd90e1 Mon Sep 17 00:00:00 2001 From: WangJiuJun Date: Wed, 11 Mar 2026 09:49:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=20getEmployeeFieldInfo=20get?= =?UTF-8?q?All=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),