namespace SKIT.FlurlHttpClient.Wechat.Work.Events
{
///
/// 表示 EVENT.change_contact 或 INFO.change_contact 事件的数据。
/// REF: https://developer.work.weixin.qq.com/document/path/90970
/// REF: https://developer.work.weixin.qq.com/document/path/90971
/// REF: https://developer.work.weixin.qq.com/document/path/90972
/// REF: https://developer.work.weixin.qq.com/document/path/90240
/// REF: https://developer.work.weixin.qq.com/document/path/92654
/// REF: https://developer.work.weixin.qq.com/document/path/92655
/// REF: https://developer.work.weixin.qq.com/document/path/92656
/// REF: https://developer.work.weixin.qq.com/document/path/90639
/// REF: https://developer.work.weixin.qq.com/document/path/90640
/// REF: https://developer.work.weixin.qq.com/document/path/90641
/// REF: https://developer.work.weixin.qq.com/document/path/90376
/// REF: https://developer.work.weixin.qq.com/document/path/90796
/// REF: https://developer.work.weixin.qq.com/document/path/90797
/// REF: https://developer.work.weixin.qq.com/document/path/90798
/// REF: https://developer.work.weixin.qq.com/document/path/90858
///
public class ChangeContactEvent : WechatWorkEvent, WechatWorkEvent.Serialization.IXmlSerializable
{
public static class Types
{
public class ExtendedAttribute
{
public static class Types
{
public class Attribute
{
///
/// 获取或设置属性类型。
///
[System.Xml.Serialization.XmlElement("Type")]
public int Type { get; set; }
///
/// 获取或设置属性名称。
///
[System.Xml.Serialization.XmlElement("Name")]
public string Name { get; set; } = default!;
///
/// 获取或设置文本属性值。
///
[System.Xml.Serialization.XmlElement("Text", IsNullable = true)]
public TextAttribute? Text { get; set; }
///
/// 获取或设置网页属性值。
///
[System.Xml.Serialization.XmlElement("Web", IsNullable = true)]
public WebAttribute? Web { get; set; }
}
public class TextAttribute
{
///
/// 获取或设置文本内容。
///
[System.Xml.Serialization.XmlElement("Value")]
public string Value { get; set; } = default!;
}
public class WebAttribute
{
///
/// 获取或设置网页标题。
///
[System.Xml.Serialization.XmlElement("Title")]
public string Title { get; set; } = default!;
///
/// 获取或设置网页 URL。
///
[System.Xml.Serialization.XmlElement("Url")]
public string Url { get; set; } = default!;
}
}
///
/// 获取或设置自定义字段列表。
///
[System.Xml.Serialization.XmlElement("Item", Type = typeof(Types.Attribute))]
public Types.Attribute[] AttributeList { get; set; } = default!;
}
}
///
/// 获取或设置第三方应用的 SuiteId。
///
[System.Xml.Serialization.XmlElement("SuiteId", IsNullable = true)]
public string? SuiteId { get; set; }
///
/// 获取或设置授权方的 CorpId。
///
[System.Xml.Serialization.XmlElement("AuthCorpId", IsNullable = true)]
public string? AuthorizerCorpId { get; set; }
///
/// 获取或设置操作类型。
///
[System.Xml.Serialization.XmlElement("ChangeType")]
public string ActionType { get; set; } = default!;
///
/// 获取或设置成员、部门或标签名称。
///
[System.Xml.Serialization.XmlElement("Name")]
public string Name { get; set; } = default!;
///
/// 获取或设置用户成员账号。
///
[System.Xml.Serialization.XmlElement("UserID", IsNullable = true)]
public string? UserId { get; set; }
///
/// 获取或设置新的用户成员账号。
///
[System.Xml.Serialization.XmlElement("NewUserID", IsNullable = true)]
public string? NewUserId { get; set; }
///
/// 获取或设置用户成员别名。
///
[System.Xml.Serialization.XmlElement("Alias", IsNullable = true)]
public string? UserAlias { get; set; }
///
/// 获取或设置用户所在部门 ID(以逗号分割)。
///
[System.Xml.Serialization.XmlElement("Department", IsNullable = true)]
public string? UserDepartmentIds { get; set; }
///
/// 获取或设置用户的部门领导状态(以逗号分割)。
///
[System.Xml.Serialization.XmlElement("IsLeaderInDept", IsNullable = true)]
public string? UserDepartmentLeaderStatus { get; set; }
///
/// 获取或设置用户的主部门 ID。
///
[System.Xml.Serialization.XmlElement("MainDepartment", IsNullable = true)]
public int? UserMainDepartmentId { get; set; }
///
/// 获取或设置用户邮箱。
///
[System.Xml.Serialization.XmlElement("Email", IsNullable = true)]
public string? UserEmail { get; set; }
///
/// 获取或设置用户企业邮箱。
///
[System.Xml.Serialization.XmlElement("BizMail", IsNullable = true)]
public string? UserBusinessEmail { get; set; }
///
/// 获取或设置用户手机号码。
///
[System.Xml.Serialization.XmlElement("Mobile", IsNullable = true)]
public string? UserMobileNumber { get; set; }
///
/// 获取或设置用户座机号码。
///
[System.Xml.Serialization.XmlElement("Telephone", IsNullable = true)]
public string? UserTeleNumber { get; set; }
///
/// 获取或设置用户性别。
///
[System.Xml.Serialization.XmlElement("Gender", IsNullable = true)]
public int? UserGender { get; set; }
///
/// 获取或设置用户地址。
///
[System.Xml.Serialization.XmlElement("Address", IsNullable = true)]
public string? UserAddress { get; set; }
///
/// 获取或设置用户职务。
///
[System.Xml.Serialization.XmlElement("Position", IsNullable = true)]
public string? UserPosition { get; set; }
///
/// 获取或设置用户头像 URL。
///
[System.Xml.Serialization.XmlElement("Avatar", IsNullable = true)]
public string? UserAvatarUrl { get; set; }
///
/// 获取或设置用户激活状态。
///
[System.Xml.Serialization.XmlElement("Status", IsNullable = true)]
public int? UserStatus { get; set; }
///
/// 获取或设置用户自定义字段信息。
///
[System.Xml.Serialization.XmlElement("ExtAttr", IsNullable = true)]
public Types.ExtendedAttribute? UserExtendedAttribute { get; set; }
///
/// 获取或设置部门 ID。
///
[System.Xml.Serialization.XmlElement("Id", IsNullable = true)]
public long? DepartmentId { get; set; }
///
/// 获取或设置上级部门 ID。
///
[System.Xml.Serialization.XmlElement("ParentId", IsNullable = true)]
public string? DepartmentParentId { get; set; }
///
/// 获取或设置部门次序值。
///
[System.Xml.Serialization.XmlElement("Order", IsNullable = true)]
public long? DepartmentOrder { get; set; }
///
/// 获取或设置标签 ID。
///
[System.Xml.Serialization.XmlElement("TagId", IsNullable = true)]
public int? TagId { get; set; }
///
/// 获取或设置标签中新增的成员账号(以逗号分隔)。
///
[System.Xml.Serialization.XmlElement("AddUserItems", IsNullable = true)]
public string? TagAddedUserIds { get; set; }
///
/// 获取或设置标签中删除的成员账号(以逗号分隔)。
///
[System.Xml.Serialization.XmlElement("DelUserItems", IsNullable = true)]
public string? TagRemovedUserIds { get; set; }
///
/// 获取或设置标签中新增的部门 ID(以逗号分隔)。
///
[System.Xml.Serialization.XmlElement("AddPartyItems", IsNullable = true)]
public string? TagAddedDepartmentIds { get; set; }
///
/// 获取或设置标签中删除的部门 ID(以逗号分隔)。
///
[System.Xml.Serialization.XmlElement("DelPartyItems", IsNullable = true)]
public string? TagRemovedDepartmentIds { get; set; }
}
}