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