using System; using System.Xml.Serialization; using System.Collections.Generic; using Top.Api.Util; using Top.Api; using Top.Api.DingTalk; namespace DingTalk.Api.Request { /// /// TOP API: dingtalk.oapi.ding.create /// public class OapiDingCreateRequest : BaseDingTalkRequest { /// /// 附件内容 /// public string Attachment { get; set; } public AttachmentVODomain Attachment_ { set { this.Attachment = TopUtils.ObjectToJson(value); } } /// /// 发送者工号 /// public string CreatorUserid { get; set; } /// /// 接收者工号列表 /// public string ReceiverUserids { get; set; } /// /// 发送时间(单位:毫秒) /// public Nullable RemindTime { get; set; } /// /// 提醒类型:1-应用内;2-短信 /// public Nullable RemindType { get; set; } /// /// 通知内容 /// public string TextContent { get; set; } #region IDingTalkRequest Members public override string GetApiName() { return "dingtalk.oapi.ding.create"; } public override string GetApiCallType() { return DingTalkConstants.CALL_TYPE_OAPI; } public override IDictionary GetParameters() { TopDictionary parameters = new TopDictionary(); parameters.Add("attachment", this.Attachment); parameters.Add("creator_userid", this.CreatorUserid); parameters.Add("receiver_userids", this.ReceiverUserids); parameters.Add("remind_time", this.RemindTime); parameters.Add("remind_type", this.RemindType); parameters.Add("text_content", this.TextContent); if (this.otherParams != null) { parameters.AddAll(this.otherParams); } return parameters; } public override void Validate() { RequestValidator.ValidateRequired("creator_userid", this.CreatorUserid); RequestValidator.ValidateRequired("receiver_userids", this.ReceiverUserids); RequestValidator.ValidateMaxListSize("receiver_userids", this.ReceiverUserids, 20); RequestValidator.ValidateRequired("remind_time", this.RemindTime); RequestValidator.ValidateRequired("remind_type", this.RemindType); RequestValidator.ValidateRequired("text_content", this.TextContent); RequestValidator.ValidateMaxLength("text_content", this.TextContent, 5000); } /// /// AttachmentVODomain Data Structure. /// [Serializable] public class AttachmentVODomain : TopObject { /// /// 文件后缀, 用于展示文件对应图标 /// [XmlElement("detail_type")] public string DetailType { get; set; } /// /// 上传DING盘后的文件ID /// [XmlElement("file_id")] public string FileId { get; set; } /// /// 文件名 /// [XmlElement("file_name")] public string FileName { get; set; } /// /// 文件大小(单位:Byte, 最大2G) /// [XmlElement("file_size")] public Nullable FileSize { get; set; } /// /// 上传DING盘后的SpaceId /// [XmlElement("file_space_id")] public string FileSpaceId { get; set; } /// /// 链接缩略图 /// [XmlElement("link_pic_url")] public string LinkPicUrl { get; set; } /// /// 链接摘要 /// [XmlElement("link_text")] public string LinkText { get; set; } /// /// 链接标题 /// [XmlElement("link_title")] public string LinkTitle { get; set; } /// /// 链接URL /// [XmlElement("link_url")] public string LinkUrl { get; set; } /// /// 附件类型:img-图片,link-链接,file-文件 /// [XmlElement("type")] public string Type { get; set; } } #endregion } }