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.rhino.mos.exec.perform.query /// public class OapiRhinoMosExecPerformQueryRequest : BaseDingTalkRequest { /// /// 生效条件 /// public string ActiveCondition { get; set; } /// /// 实体ID列表 /// public string EntityIds { get; set; } /// /// 实体类型 /// public string EntityType { get; set; } /// /// 工序列表 /// public string OperationUids { get; set; } /// /// 订单ID /// public Nullable OrderId { get; set; } /// /// 执行状态 /// public string PerformStatusList { get; set; } /// /// 租户ID /// public string TenantId { get; set; } /// /// 业务参数[这里先预留],这里是用户ID,比如钉钉用户ID /// public string Userid { get; set; } /// /// 执行工位列表 /// public string WorkstationCodes { get; set; } #region IDingTalkRequest Members public override string GetApiName() { return "dingtalk.oapi.rhino.mos.exec.perform.query"; } public override string GetApiCallType() { return DingTalkConstants.CALL_TYPE_OAPI; } public override IDictionary GetParameters() { TopDictionary parameters = new TopDictionary(); parameters.Add("active_condition", this.ActiveCondition); parameters.Add("entity_ids", this.EntityIds); parameters.Add("entity_type", this.EntityType); parameters.Add("operation_uids", this.OperationUids); parameters.Add("order_id", this.OrderId); parameters.Add("perform_status_list", this.PerformStatusList); parameters.Add("tenant_id", this.TenantId); parameters.Add("userid", this.Userid); parameters.Add("workstation_codes", this.WorkstationCodes); if (this.otherParams != null) { parameters.AddAll(this.otherParams); } return parameters; } public override void Validate() { RequestValidator.ValidateMaxListSize("entity_ids", this.EntityIds, 500); RequestValidator.ValidateRequired("entity_type", this.EntityType); RequestValidator.ValidateMaxListSize("operation_uids", this.OperationUids, 500); RequestValidator.ValidateMaxListSize("perform_status_list", this.PerformStatusList, 20); RequestValidator.ValidateRequired("tenant_id", this.TenantId); RequestValidator.ValidateMaxListSize("workstation_codes", this.WorkstationCodes, 20); } #endregion } }