diff --git a/weixin-java-cp/pom.xml b/weixin-java-cp/pom.xml index 4d5d172ed..a75b7b034 100644 --- a/weixin-java-cp/pom.xml +++ b/weixin-java-cp/pom.xml @@ -125,6 +125,15 @@ src/test/resources/testng.xml + + --add-opens java.base/java.lang=ALL-UNNAMED + --add-opens java.base/java.lang.reflect=ALL-UNNAMED + --add-opens java.base/java.io=ALL-UNNAMED + --add-opens java.base/java.security=ALL-UNNAMED + --add-opens java.base/java.util=ALL-UNNAMED + --add-opens java.management/javax.management=ALL-UNNAMED + --add-opens java.naming/javax.naming=ALL-UNNAMED + diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/hr/WxCpHrEmployeeFieldData.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/hr/WxCpHrEmployeeFieldData.java index 971e5958d..bb4d3a60a 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/hr/WxCpHrEmployeeFieldData.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/hr/WxCpHrEmployeeFieldData.java @@ -5,10 +5,9 @@ import lombok.NoArgsConstructor; import java.io.Serializable; -import java.util.List; /** - * 人事助手-员工档案数据(单个员工). + * 人事助手-员工档案数据(单个字段). * * @author leejoker created on 2024-01-01 */ @@ -18,19 +17,98 @@ public class WxCpHrEmployeeFieldData implements Serializable { private static final long serialVersionUID = 4593693598671765396L; /** - * 员工userid. + * 字段ID. */ + @SerializedName("fieldid") + private Integer fieldId; + + /** + * 子字段索引. + */ + @SerializedName("sub_idx") + private Integer subIdx; + + /** + * 结果状态,1表示成功. + */ + @SerializedName("result") + private Integer result; + + /** + * 值类型:1-字符串,2-uint64,3-uint32,4-int64,5-mobile. + */ + @SerializedName("value_type") + private Integer valueType; + + /** + * 字符串值(value_type=1时使用). + */ + @SerializedName("value_string") + private String valueString; + + /** + * 无符号32位整数值(value_type=3时使用). + */ + @SerializedName("value_uint32") + private Long valueUint32; + + /** + * 有符号64位整数值(value_type=4时使用). + */ + @SerializedName("value_int64") + private Long valueInt64; + + /** + * 无符号64位整数值(value_type=2时使用). + */ + @SerializedName("value_uint64") + private Long valueUint64; + + /** + * 手机号值(value_type=5时使用). + */ + @SerializedName("value_mobile") + private MobileValue valueMobile; + + /** + * 手机号值. + */ + @Data + @NoArgsConstructor + public static class MobileValue implements Serializable { + private static final long serialVersionUID = 1L; + + /** + * 国家代码. + */ + @SerializedName("value_country_code") + private String valueCountryCode; + + /** + * 手机号. + */ + @SerializedName("value_mobile") + private String valueMobile; + } + + /** + * 员工userid(兼容旧版本,实际API不返回此字段). + * @deprecated 此字段在API响应中不存在 + */ + @Deprecated @SerializedName("userid") private String userid; /** - * 字段数据列表. + * 字段数据列表(兼容旧版本,实际API不返回此字段). + * @deprecated 此字段在API响应中不存在 */ + @Deprecated @SerializedName("field_list") - private List fieldList; + private java.util.List fieldList; /** - * 字段数据项. + * 字段数据项(用于更新员工档案). */ @Data @NoArgsConstructor @@ -38,15 +116,21 @@ public static class FieldItem implements Serializable { private static final long serialVersionUID = 1L; /** - * 字段key. + * 字段ID. */ - @SerializedName("field_key") - private String fieldKey; + @SerializedName("fieldid") + private Integer fieldId; /** - * 字段值. + * 字段值对象(推荐使用,支持多种类型). */ @SerializedName("field_value") private WxCpHrEmployeeFieldValue fieldValue; + + /** + * 字符串值(简化用法,适用于文本类型字段). + */ + @SerializedName("value_string") + private String valueString; } } diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/hr/WxCpHrEmployeeFieldDataResp.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/hr/WxCpHrEmployeeFieldDataResp.java index 07e286c2e..f8e763c29 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/hr/WxCpHrEmployeeFieldDataResp.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/hr/WxCpHrEmployeeFieldDataResp.java @@ -21,10 +21,28 @@ public class WxCpHrEmployeeFieldDataResp extends WxCpBaseResp { private static final long serialVersionUID = 6593693598671765396L; /** - * 员工档案数据列表. + * 字段数据列表(API实际返回field_info). */ - @SerializedName("employee_field_list") - private List employeeFieldList; + @SerializedName("field_info") + private List fieldInfoList; + + /** + * 员工档案数据列表(兼容旧版本方法名). + * @deprecated 请使用 getFieldInfoList() + */ + @Deprecated + public List getEmployeeFieldList() { + return this.fieldInfoList; + } + + /** + * 员工档案数据列表(兼容旧版本方法名). + * @deprecated 请使用 setFieldInfoList() + */ + @Deprecated + public void setEmployeeFieldList(List employeeFieldList) { + this.fieldInfoList = employeeFieldList; + } /** * From json wx cp hr employee field data resp. diff --git a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/hr/WxCpHrEmployeeFieldInfo.java b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/hr/WxCpHrEmployeeFieldInfo.java index e355d8cc6..3db3f2057 100644 --- a/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/hr/WxCpHrEmployeeFieldInfo.java +++ b/weixin-java-cp/src/main/java/me/chanjar/weixin/cp/bean/hr/WxCpHrEmployeeFieldInfo.java @@ -18,30 +18,43 @@ public class WxCpHrEmployeeFieldInfo implements Serializable { private static final long serialVersionUID = 2593693598671765396L; /** - * 字段key. + * 字段ID. */ - @SerializedName("field_key") - private String fieldKey; - - /** - * 字段英文名称. - */ - @SerializedName("field_en_name") - private String fieldEnName; + @SerializedName("fieldid") + private Integer fieldId; /** - * 字段中文名称. + * 字段名称. */ - @SerializedName("field_zh_name") - private String fieldZhName; + @SerializedName("field_name") + private String fieldName; /** * 字段类型. - * 具体取值参见 {@link WxCpHrFieldType} + * 1: 文本 + * 2: 单选/多选 + * 3: 日期 */ @SerializedName("field_type") private Integer fieldType; + /** + * 是否必填. + */ + @SerializedName("is_must") + private Boolean isMust; + + /** + * 值类型. + * 1: 字符串 + * 2: uint64 + * 3: uint32 + * 4: int64 + * 5: mobile + */ + @SerializedName("value_type") + private Integer valueType; + /** * 获取字段类型枚举. * @@ -52,22 +65,79 @@ public WxCpHrFieldType getFieldTypeEnum() { } /** - * 是否系统字段. - * 0: 否 - * 1: 是 + * 选项列表(单选/多选字段专用). + */ + @SerializedName("option_list") + private List