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
}
}