using System; using System.Collections.Generic; using Top.Api.Util; using Top.Api; using Top.Api.DingTalk; namespace DingTalk.Api.Request { /// /// TOP API: dingtalk.oapi.edu.recommend.create /// public class OapiEduRecommendCreateRequest : BaseDingTalkRequest { /// /// 班级ID /// public Nullable ClassId { get; set; } /// /// 内容标签,推荐扩散给其他用户使用 /// public string LabelList { get; set; } /// /// ISV侧内容唯一ID /// public string OutContentId { get; set; } /// /// 学段 /// public string PeriodCode { get; set; } /// /// 回跳地址 /// public string ReturnUrl { get; set; } /// /// 学科 /// public string SubjectCode { get; set; } /// /// 摘要 /// public string Summary { get; set; } /// /// 教材版本 /// public string TextbookCode { get; set; } /// /// 缩略图url地址 /// public string Thumbnail { get; set; } /// /// 内容标题 /// public string Title { get; set; } /// /// 内容总时长,单位秒 /// public Nullable TotalTime { get; set; } /// /// 类型:1词汇 2课文 3题目 4考试 5知识点 6课程 7其他 /// public string Type { get; set; } /// /// 当前用户userid /// public string Userid { get; set; } #region IDingTalkRequest Members public override string GetApiName() { return "dingtalk.oapi.edu.recommend.create"; } public override string GetApiCallType() { return DingTalkConstants.CALL_TYPE_OAPI; } public override IDictionary GetParameters() { TopDictionary parameters = new TopDictionary(); parameters.Add("class_id", this.ClassId); parameters.Add("labelList", this.LabelList); parameters.Add("out_content_id", this.OutContentId); parameters.Add("period_code", this.PeriodCode); parameters.Add("return_url", this.ReturnUrl); parameters.Add("subject_code", this.SubjectCode); parameters.Add("summary", this.Summary); parameters.Add("textbook_code", this.TextbookCode); parameters.Add("thumbnail", this.Thumbnail); parameters.Add("title", this.Title); parameters.Add("totalTime", this.TotalTime); parameters.Add("type", this.Type); parameters.Add("userid", this.Userid); if (this.otherParams != null) { parameters.AddAll(this.otherParams); } return parameters; } public override void Validate() { RequestValidator.ValidateMaxListSize("labelList", this.LabelList, 100); RequestValidator.ValidateRequired("out_content_id", this.OutContentId); RequestValidator.ValidateRequired("period_code", this.PeriodCode); RequestValidator.ValidateRequired("return_url", this.ReturnUrl); RequestValidator.ValidateRequired("thumbnail", this.Thumbnail); RequestValidator.ValidateRequired("title", this.Title); RequestValidator.ValidateRequired("type", this.Type); RequestValidator.ValidateRequired("userid", this.Userid); } #endregion } }