wtt
2024-10-18 cd50e79ee0899945e12c0092b83b105649e70e84
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
using System;
using System.Collections.Generic;
using Top.Api.Util;
using Top.Api;
using Top.Api.DingTalk;
 
namespace DingTalk.Api.Request
{
    /// <summary>
    /// TOP API: dingtalk.oapi.chat.update
    /// </summary>
    public class OapiChatUpdateRequest : BaseDingTalkRequest<DingTalk.Api.Response.OapiChatUpdateResponse>
    {
        /// <summary>
        /// 添加外部联系人成员列表
        /// </summary>
        public List<string> AddExtidlist { get; set; }
 
        /// <summary>
        /// 添加成员列表
        /// </summary>
        public List<string> AddUseridlist { get; set; }
 
        /// <summary>
        /// 群禁言,0-默认,不禁言,1-全员禁言
        /// </summary>
        public Nullable<long> ChatBannedType { get; set; }
 
        /// <summary>
        /// 群会话id
        /// </summary>
        public string Chatid { get; set; }
 
        /// <summary>
        /// 删除外部联系人成员列表
        /// </summary>
        public List<string> DelExtidlist { get; set; }
 
        /// <summary>
        /// 删除成员列表
        /// </summary>
        public List<string> DelUseridlist { get; set; }
 
        /// <summary>
        /// 群头像mediaId
        /// </summary>
        public string Icon { get; set; }
 
        /// <summary>
        /// 是否禁言
        /// </summary>
        public Nullable<bool> IsBan { get; set; }
 
        /// <summary>
        /// 管理类型,0-默认,所有人可管理,1-仅群主可管理
        /// </summary>
        public Nullable<long> ManagementType { get; set; }
 
        /// <summary>
        /// @all 权限,0-默认,所有人,1-仅群主可@all
        /// </summary>
        public Nullable<long> MentionAllAuthority { get; set; }
 
        /// <summary>
        /// 群名称
        /// </summary>
        public string Name { get; set; }
 
        /// <summary>
        /// 群主的userId
        /// </summary>
        public string Owner { get; set; }
 
        /// <summary>
        /// 群主类型,emp:企业员工,ext:外部联系人
        /// </summary>
        public string OwnerType { get; set; }
 
        /// <summary>
        /// 群可搜索,0-默认,不可搜索,1-可搜索
        /// </summary>
        public Nullable<long> Searchable { get; set; }
 
        /// <summary>
        /// 新成员可查看聊天历史 0否 1是
        /// </summary>
        public Nullable<long> ShowHistoryType { get; set; }
 
        /// <summary>
        /// 入群验证,0:不入群验证(默认) 1:入群验证
        /// </summary>
        public Nullable<long> 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<string, string> 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
    }
}