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.enterprise.microapp.usedata.stat /// public class OapiEnterpriseMicroappUsedataStatRequest : BaseDingTalkRequest { /// /// 企业ID /// public string CorpId { get; set; } /// /// 排序 /// public string OrderBy { get; set; } public OrderByDomain OrderBy_ { set { this.OrderBy = TopUtils.ObjectToJson(value); } } /// /// 分页查询条数,最多30条 /// public Nullable PageSize { get; set; } /// /// 分页起始点 /// public Nullable PageStart { get; set; } /// /// agent_name 组织微应用名称; open_micro_user_cnt_1d 最近1天打开微应用用户数; open_micro_user_cnt_1w 最近7天打开微应用用户数; /// public string ReturnFields { get; set; } /// /// 查询时间 /// public string StatDate { get; set; } #region IDingTalkRequest Members public override string GetApiName() { return "dingtalk.oapi.enterprise.microapp.usedata.stat"; } public override string GetApiCallType() { return DingTalkConstants.CALL_TYPE_OAPI; } public override IDictionary GetParameters() { TopDictionary parameters = new TopDictionary(); parameters.Add("corp_id", this.CorpId); parameters.Add("order_by", this.OrderBy); parameters.Add("page_size", this.PageSize); parameters.Add("page_start", this.PageStart); parameters.Add("return_fields", this.ReturnFields); parameters.Add("stat_date", this.StatDate); if (this.otherParams != null) { parameters.AddAll(this.otherParams); } return parameters; } public override void Validate() { RequestValidator.ValidateRequired("corp_id", this.CorpId); RequestValidator.ValidateRequired("page_size", this.PageSize); RequestValidator.ValidateRequired("page_start", this.PageStart); RequestValidator.ValidateRequired("return_fields", this.ReturnFields); RequestValidator.ValidateMaxListSize("return_fields", this.ReturnFields, 20); RequestValidator.ValidateRequired("stat_date", this.StatDate); } /// /// OrderByDomain Data Structure. /// [Serializable] public class OrderByDomain : TopObject { /// /// 排查的key /// [XmlElement("field")] public string Field { get; set; } /// /// 升序或者降序 /// [XmlElement("order")] public string Order { get; set; } } #endregion } }