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.chat.update /// public class OapiChatUpdateRequest : BaseDingTalkRequest { /// /// 添加外部联系人成员列表 /// public List AddExtidlist { get; set; } /// /// 添加成员列表 /// public List AddUseridlist { get; set; } /// /// 群禁言,0-默认,不禁言,1-全员禁言 /// public Nullable ChatBannedType { get; set; } /// /// 群会话id /// public string Chatid { get; set; } /// /// 删除外部联系人成员列表 /// public List DelExtidlist { get; set; } /// /// 删除成员列表 /// public List DelUseridlist { get; set; } /// /// 群头像mediaId /// public string Icon { get; set; } /// /// 是否禁言 /// public Nullable IsBan { get; set; } /// /// 管理类型,0-默认,所有人可管理,1-仅群主可管理 /// public Nullable ManagementType { get; set; } /// /// @all 权限,0-默认,所有人,1-仅群主可@all /// public Nullable MentionAllAuthority { get; set; } /// /// 群名称 /// public string Name { get; set; } /// /// 群主的userId /// public string Owner { get; set; } /// /// 群主类型,emp:企业员工,ext:外部联系人 /// public string OwnerType { get; set; } /// /// 群可搜索,0-默认,不可搜索,1-可搜索 /// public Nullable Searchable { get; set; } /// /// 新成员可查看聊天历史 0否 1是 /// public Nullable ShowHistoryType { get; set; } /// /// 入群验证,0:不入群验证(默认) 1:入群验证 /// public Nullable ValidationType { get; set; } #region IDingTalkRequest Members public override string GetApiName() { return "dingtalk.oapi.chat.update"; } public override string GetApiCallType() { return DingTalkConstants.CALL_TYPE_OAPI; } public override IDictionary GetParameters() { TopDictionary parameters = new TopDictionary(); parameters.Add("add_extidlist", TopUtils.ObjectToJson(this.AddExtidlist)); parameters.Add("add_useridlist", TopUtils.ObjectToJson(this.AddUseridlist)); parameters.Add("chatBannedType", this.ChatBannedType); parameters.Add("chatid", this.Chatid); parameters.Add("del_extidlist", TopUtils.ObjectToJson(this.DelExtidlist)); parameters.Add("del_useridlist", TopUtils.ObjectToJson(this.DelUseridlist)); parameters.Add("icon", this.Icon); parameters.Add("isBan", this.IsBan); parameters.Add("managementType", this.ManagementType); parameters.Add("mentionAllAuthority", this.MentionAllAuthority); parameters.Add("name", this.Name); parameters.Add("owner", this.Owner); parameters.Add("ownerType", this.OwnerType); parameters.Add("searchable", this.Searchable); parameters.Add("showHistoryType", this.ShowHistoryType); parameters.Add("validationType", this.ValidationType); if (this.otherParams != null) { parameters.AddAll(this.otherParams); } return parameters; } public override void Validate() { RequestValidator.ValidateMaxListSize("add_extidlist", this.AddExtidlist, 20); RequestValidator.ValidateMaxListSize("add_useridlist", this.AddUseridlist, 20); RequestValidator.ValidateMaxListSize("del_extidlist", this.DelExtidlist, 20); RequestValidator.ValidateMaxListSize("del_useridlist", this.DelUseridlist, 20); } #endregion } }