1
zrg
2024-10-15 a1e3e548ea03ceb32d07bf9f73f4719dd14f7f2e
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
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
{
    /// <summary>
    /// TOP API: dingtalk.oapi.attendance.vacation.quota.init
    /// </summary>
    public class OapiAttendanceVacationQuotaInitRequest : BaseDingTalkRequest<DingTalk.Api.Response.OapiAttendanceVacationQuotaInitResponse>
    {
        /// <summary>
        /// 待初始化的假期余额记录
        /// </summary>
        public string LeaveQuotas { get; set; }
 
        public List<LeaveQuotasDomain> LeaveQuotas_ { set { this.LeaveQuotas = TopUtils.ObjectToJson(value); } } 
 
        /// <summary>
        /// 操作者ID
        /// </summary>
        public string OpUserid { get; set; }
 
        #region IDingTalkRequest Members
 
        public override string GetApiName()
        {
            return "dingtalk.oapi.attendance.vacation.quota.init";
        }
 
        public override string GetApiCallType()
        {
            return DingTalkConstants.CALL_TYPE_OAPI;
        }
 
        public override IDictionary<string, string> GetParameters()
        {
            TopDictionary parameters = new TopDictionary();
            parameters.Add("leave_quotas", this.LeaveQuotas);
            parameters.Add("op_userid", this.OpUserid);
            if (this.otherParams != null)
            {
                parameters.AddAll(this.otherParams);
            }
            return parameters;
        }
 
        public override void Validate()
        {
            RequestValidator.ValidateRequired("leave_quotas", this.LeaveQuotas);
            RequestValidator.ValidateObjectMaxListSize("leave_quotas", this.LeaveQuotas, 100);
            RequestValidator.ValidateRequired("op_userid", this.OpUserid);
        }
 
    /// <summary>
/// LeaveQuotasDomain Data Structure.
/// </summary>
[Serializable]
 
public class LeaveQuotasDomain : TopObject
{
            /// <summary>
            /// 额度有效期结束时间(毫秒级时间戳)
            /// </summary>
            [XmlElement("end_time")]
            public Nullable<long> EndTime { get; set; }
    
            /// <summary>
            /// 假期类型唯一标识
            /// </summary>
            [XmlElement("leave_code")]
            public string LeaveCode { get; set; }
    
            /// <summary>
            /// 额度所对应的周期(除了假期类型为调休的时候可以为空之外 其他情况均不能为空 且格式必须满足"yyyy")
            /// </summary>
            [XmlElement("quota_cycle")]
            public string QuotaCycle { get; set; }
    
            /// <summary>
            /// 单位以天计算的额度总数(假期类型按天计算该值不为空且按百分之一天折算 例如 100=1天)
            /// </summary>
            [XmlElement("quota_num_per_day")]
            public Nullable<long> QuotaNumPerDay { get; set; }
    
            /// <summary>
            /// 单位以小时计算的额度总数(假期类型按小时计算该值不为空且按百分之一小时折算 例如 100=1小时)
            /// </summary>
            [XmlElement("quota_num_per_hour")]
            public Nullable<long> QuotaNumPerHour { get; set; }
    
            /// <summary>
            /// 操作原因
            /// </summary>
            [XmlElement("reason")]
            public string Reason { get; set; }
    
            /// <summary>
            /// 额度有效期开始时间(毫秒级时间戳)
            /// </summary>
            [XmlElement("start_time")]
            public Nullable<long> StartTime { get; set; }
    
            /// <summary>
            /// 员工ID
            /// </summary>
            [XmlElement("userid")]
            public string Userid { get; set; }
}
 
        #endregion
    }
}