feat(work): 随官方更新审批相关接口模型

This commit is contained in:
Fu Diwei 2024-04-09 16:17:29 +08:00
parent 2ba8b026cc
commit 823308349f
7 changed files with 503 additions and 8 deletions

View File

@ -104,7 +104,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Events
[Newtonsoft.Json.JsonProperty("Attach")]
[System.Text.Json.Serialization.JsonPropertyName("Attach")]
[System.Xml.Serialization.XmlElement("Attach", Type = typeof(string), IsNullable = true)]
public string[]? SpeechMediaIdList { get; set; }
public string[]? AttachmentMediaIdList { get; set; }
}
}
@ -189,6 +189,112 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Events
[System.Xml.Serialization.XmlElement("CommentTime")]
public long CreateTimestamp { get; set; }
}
public class Process
{
public static class Types
{
public class Node
{
/// <summary>
/// 获取或设置节点类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("NodeType")]
[System.Text.Json.Serialization.JsonPropertyName("NodeType")]
[System.Xml.Serialization.XmlElement("NodeType")]
public int NodeType { get; set; }
/// <summary>
/// 获取或设置节点状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("SpStatus")]
[System.Text.Json.Serialization.JsonPropertyName("SpStatus")]
[System.Xml.Serialization.XmlElement("SpStatus", IsNullable = true)]
public int? Status { get; set; }
/// <summary>
/// 获取或设置多人办理方式。
/// </summary>
[Newtonsoft.Json.JsonProperty("ApvRel")]
[System.Text.Json.Serialization.JsonPropertyName("ApvRel")]
[System.Xml.Serialization.XmlElement("ApvRel", IsNullable = true)]
public int? ApproversRelation { get; set; }
/// <summary>
/// 获取或设置子节点列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("SubNodeList")]
[System.Text.Json.Serialization.JsonPropertyName("SubNodeList")]
[System.Xml.Serialization.XmlElement("SubNodeList", Type = typeof(Types.SubNode))]
public Types.SubNode[] SubNodeList { get; set; } = default!;
}
public class SubNode
{
public static class Types
{
public class User
{
/// <summary>
/// 获取或设置处理人成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("UserId")]
[System.Text.Json.Serialization.JsonPropertyName("UserId")]
[System.Xml.Serialization.XmlElement("UserId")]
public string UserId { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置处理人信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("UserInfo")]
[System.Text.Json.Serialization.JsonPropertyName("UserInfo")]
[System.Xml.Serialization.XmlElement("UserInfo")]
public Types.User User { get; set; } = default!;
/// <summary>
/// 获取或设置审批状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("SpYj")]
[System.Text.Json.Serialization.JsonPropertyName("SpYj")]
[System.Xml.Serialization.XmlElement("SpYj", IsNullable = true)]
public int? ApproveStatus { get; set; }
/// <summary>
/// 获取或设置操作时间。
/// </summary>
[Newtonsoft.Json.JsonProperty("Sptime")]
[System.Text.Json.Serialization.JsonPropertyName("Sptime")]
[System.Xml.Serialization.XmlElement("Sptime", IsNullable = true)]
public long? ApproveTimestamp { get; set; }
/// <summary>
/// 获取或设置审批意见。
/// </summary>
[Newtonsoft.Json.JsonProperty("Speech")]
[System.Text.Json.Serialization.JsonPropertyName("Speech")]
[System.Xml.Serialization.XmlElement("Speech", IsNullable = true)]
public string? Speech { get; set; }
/// <summary>
/// 获取或设置审批意见附件 MediaId 列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("MediaIds")]
[System.Text.Json.Serialization.JsonPropertyName("MediaIds")]
[System.Xml.Serialization.XmlElement("MediaIds", Type = typeof(string), IsNullable = true)]
public string[]? AttachmentMediaIdList { get; set; }
}
}
/// <summary>
/// 获取或设置节点列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("NodeList")]
[System.Text.Json.Serialization.JsonPropertyName("NodeList")]
[System.Xml.Serialization.XmlElement("NodeList", Type = typeof(Types.Node))]
public Types.Node[] NodeList { get; set; } = default!;
}
}
/// <summary>
@ -270,6 +376,14 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Events
[System.Text.Json.Serialization.JsonPropertyName("Comments")]
[System.Xml.Serialization.XmlElement("Comments", Type = typeof(Types.Comment))]
public Types.Comment[] CommentList { get; set; } = default!;
/// <summary>
/// 获取或设置审批流程信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("ProcessList")]
[System.Text.Json.Serialization.JsonPropertyName("ProcessList")]
[System.Xml.Serialization.XmlElement("ProcessList", IsNullable = true)]
public Types.Process? Process { get; set; }
}
}

View File

@ -43,6 +43,45 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
public string Text { get; set; } = string.Empty;
}
public class Process
{
public static class Types
{
public class Node
{
/// <summary>
/// 获取或设置节点类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("type")]
[System.Text.Json.Serialization.JsonPropertyName("type")]
[System.Xml.Serialization.XmlElement("type")]
public int NodeType { get; set; }
/// <summary>
/// 获取或设置多人办理方式。
/// </summary>
[Newtonsoft.Json.JsonProperty("apv_rel")]
[System.Text.Json.Serialization.JsonPropertyName("apv_rel")]
[System.Xml.Serialization.XmlElement("apv_rel", IsNullable = true)]
public int? ApproversRelation { get; set; }
/// <summary>
/// 获取或设置处理人成员账号列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("userid")]
[System.Text.Json.Serialization.JsonPropertyName("userid")]
public IList<string>? UserIdList { get; set; }
}
}
/// <summary>
/// 获取或设置节点列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("node_list")]
[System.Text.Json.Serialization.JsonPropertyName("node_list")]
public IList<Types.Node> NodeList { get; set; } = new List<Types.Node>();
}
public class ApplyData
{
public static class Types
@ -157,6 +196,20 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
[Newtonsoft.Json.JsonProperty("date_range")]
[System.Text.Json.Serialization.JsonPropertyName("date_range")]
public DateRangeControlValue? DateRange { get; set; }
/// <summary>
/// 获取或设置 PunchCorrection 控件值。
/// </summary>
[Newtonsoft.Json.JsonProperty("punch_correction")]
[System.Text.Json.Serialization.JsonPropertyName("punch_correction")]
public CheckinControlValue? Checkin { get; set; }
/// <summary>
/// 获取或设置 BankAccount 控件值。
/// </summary>
[Newtonsoft.Json.JsonProperty("bank_account")]
[System.Text.Json.Serialization.JsonPropertyName("bank_account")]
public BankAccountControlValue? BankAccount { get; set; }
}
public class DateControlValue
@ -420,6 +473,137 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
[System.Text.Json.Serialization.JsonPropertyName("new_duration")]
public int Duration { get; set; }
}
public class CheckinControlValue
{
/// <summary>
/// 获取或设置异常状态说明。
/// </summary>
[Newtonsoft.Json.JsonProperty("state")]
[System.Text.Json.Serialization.JsonPropertyName("state")]
public string State { get; set; } = string.Empty;
/// <summary>
/// 获取或设置版本标识。
/// </summary>
[Newtonsoft.Json.JsonProperty("version")]
[System.Text.Json.Serialization.JsonPropertyName("version")]
public int? Version { get; set; }
/// <summary>
/// 获取或设置补卡时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("time")]
[System.Text.Json.Serialization.JsonPropertyName("time")]
public long? Timestamp { get; set; }
/// <summary>
/// 获取或设置补卡日期时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("daymonthyear")]
[System.Text.Json.Serialization.JsonPropertyName("daymonthyear")]
public long? DateTimestamp { get; set; }
}
public class BankAccountControlValue
{
public static class Types
{
public class Bank
{
/// <summary>
/// 获取或设置银行名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("bank_alias")]
[System.Text.Json.Serialization.JsonPropertyName("bank_alias")]
public string? BankAlias { get; set; }
/// <summary>
/// 获取或设置银行代码。
/// </summary>
[Newtonsoft.Json.JsonProperty("bank_alias_code")]
[System.Text.Json.Serialization.JsonPropertyName("bank_alias_code")]
public string? BankAliasCode { get; set; }
/// <summary>
/// 获取或设置银行支行联行号。
/// </summary>
[Newtonsoft.Json.JsonProperty("bank_branch_id")]
[System.Text.Json.Serialization.JsonPropertyName("bank_branch_id")]
public string? BankBranchId { get; set; }
/// <summary>
/// 获取或设置银行支行。
/// </summary>
[Newtonsoft.Json.JsonProperty("bank_branch_name")]
[System.Text.Json.Serialization.JsonPropertyName("bank_branch_name")]
public string? BankBranchName { get; set; }
/// <summary>
/// 获取或设置省份。
/// </summary>
[Newtonsoft.Json.JsonProperty("province")]
[System.Text.Json.Serialization.JsonPropertyName("province")]
public string? Province { get; set; }
/// <summary>
/// 获取或设置省份代码。
/// </summary>
[Newtonsoft.Json.JsonProperty("province_code")]
[System.Text.Json.Serialization.JsonPropertyName("province_code")]
public int? ProvinceCode { get; set; }
/// <summary>
/// 获取或设置城市。
/// </summary>
[Newtonsoft.Json.JsonProperty("city")]
[System.Text.Json.Serialization.JsonPropertyName("city")]
public string? City { get; set; }
/// <summary>
/// 获取或设置城市代码。
/// </summary>
[Newtonsoft.Json.JsonProperty("city_code")]
[System.Text.Json.Serialization.JsonPropertyName("city_code")]
public int? CityCode { get; set; }
}
}
/// <summary>
/// 获取或设置账户类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("account_type")]
[System.Text.Json.Serialization.JsonPropertyName("account_type")]
public int AccountType { get; set; }
/// <summary>
/// 获取或设置账户名。
/// </summary>
[Newtonsoft.Json.JsonProperty("account_name")]
[System.Text.Json.Serialization.JsonPropertyName("account_name")]
public string AccountName { get; set; } = string.Empty;
/// <summary>
/// 获取或设置账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("account_number")]
[System.Text.Json.Serialization.JsonPropertyName("account_number")]
public string AccountNumber { get; set; } = string.Empty;
/// <summary>
/// 获取或设置备注。
/// </summary>
[Newtonsoft.Json.JsonProperty("remark")]
[System.Text.Json.Serialization.JsonPropertyName("remark")]
public string Remark { get; set; } = string.Empty;
/// <summary>
/// 获取或设置银行信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("bank")]
[System.Text.Json.Serialization.JsonPropertyName("bank")]
public Types.Bank Bank { get; set; } = new Types.Bank();
}
}
/// <summary>
@ -501,6 +685,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
[System.Text.Json.Serialization.JsonPropertyName("approver")]
public IList<Types.Approver> ApproverList { get; set; } = new List<Types.Approver>();
/// <summary>
/// 获取或设置审批流程信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("process")]
[System.Text.Json.Serialization.JsonPropertyName("process")]
public Types.Process? Process { get; set; }
/// <summary>
/// 获取或设置抄送方式。
/// </summary>

View File

@ -92,7 +92,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
/// </summary>
[Newtonsoft.Json.JsonProperty("media_id")]
[System.Text.Json.Serialization.JsonPropertyName("media_id")]
public string[]? SpeechMediaIdList { get; set; }
public string[]? AttachmentMediaIdList { get; set; }
}
}
@ -243,6 +243,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
[Newtonsoft.Json.JsonProperty("punch_correction")]
[System.Text.Json.Serialization.JsonPropertyName("punch_correction")]
public CheckinControlValue? Checkin { get; set; }
/// <summary>
/// 获取或设置 BankAccount 控件值。
/// </summary>
[Newtonsoft.Json.JsonProperty("bank_account")]
[System.Text.Json.Serialization.JsonPropertyName("bank_account")]
public BankAccountControlValue? BankAccount { get; set; }
}
public class DateControlValue
@ -656,6 +663,106 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.Common.TextualNumberConverter))]
public long? DateTimestamp { get; set; }
}
public class BankAccountControlValue
{
public static class Types
{
public class Bank
{
/// <summary>
/// 获取或设置银行名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("bank_alias")]
[System.Text.Json.Serialization.JsonPropertyName("bank_alias")]
public string? BankAlias { get; set; }
/// <summary>
/// 获取或设置银行代码。
/// </summary>
[Newtonsoft.Json.JsonProperty("bank_alias_code")]
[System.Text.Json.Serialization.JsonPropertyName("bank_alias_code")]
public string? BankAliasCode { get; set; }
/// <summary>
/// 获取或设置银行支行联行号。
/// </summary>
[Newtonsoft.Json.JsonProperty("bank_branch_id")]
[System.Text.Json.Serialization.JsonPropertyName("bank_branch_id")]
public string? BankBranchId { get; set; }
/// <summary>
/// 获取或设置银行支行。
/// </summary>
[Newtonsoft.Json.JsonProperty("bank_branch_name")]
[System.Text.Json.Serialization.JsonPropertyName("bank_branch_name")]
public string? BankBranchName { get; set; }
/// <summary>
/// 获取或设置省份。
/// </summary>
[Newtonsoft.Json.JsonProperty("province")]
[System.Text.Json.Serialization.JsonPropertyName("province")]
public string? Province { get; set; }
/// <summary>
/// 获取或设置省份代码。
/// </summary>
[Newtonsoft.Json.JsonProperty("province_code")]
[System.Text.Json.Serialization.JsonPropertyName("province_code")]
public int? ProvinceCode { get; set; }
/// <summary>
/// 获取或设置城市。
/// </summary>
[Newtonsoft.Json.JsonProperty("city")]
[System.Text.Json.Serialization.JsonPropertyName("city")]
public string? City { get; set; }
/// <summary>
/// 获取或设置城市代码。
/// </summary>
[Newtonsoft.Json.JsonProperty("city_code")]
[System.Text.Json.Serialization.JsonPropertyName("city_code")]
public int? CityCode { get; set; }
}
}
/// <summary>
/// 获取或设置账户类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("account_type")]
[System.Text.Json.Serialization.JsonPropertyName("account_type")]
public int AccountType { get; set; }
/// <summary>
/// 获取或设置账户名。
/// </summary>
[Newtonsoft.Json.JsonProperty("account_name")]
[System.Text.Json.Serialization.JsonPropertyName("account_name")]
public string AccountName { get; set; } = default!;
/// <summary>
/// 获取或设置账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("account_number")]
[System.Text.Json.Serialization.JsonPropertyName("account_number")]
public string AccountNumber { get; set; } = default!;
/// <summary>
/// 获取或设置备注。
/// </summary>
[Newtonsoft.Json.JsonProperty("remark")]
[System.Text.Json.Serialization.JsonPropertyName("remark")]
public string Remark { get; set; } = default!;
/// <summary>
/// 获取或设置银行信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("bank")]
[System.Text.Json.Serialization.JsonPropertyName("bank")]
public Types.Bank Bank { get; set; } = default!;
}
}
/// <summary>

View File

@ -1,4 +1,4 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/oa/gettemplatedetail 接口的响应。</para>

View File

@ -1,4 +1,4 @@
<xml>
<xml>
<ToUserName><![CDATA[ww1cSD21f1e9c0caaa]]></ToUserName>
<FromUserName><![CDATA[sys]]></FromUserName>
<CreateTime>1571732272</CreateTime>
@ -50,6 +50,37 @@
<Notifyer>
<UserId><![CDATA[ChengLiang]]></UserId>
</Notifyer>
<ProcessList>
<NodeList>
<NodeType>1</NodeType>
<SpStatus>1</SpStatus>
<ApvRel>2</ApvRel>
<SubNodeList>
<UserInfo>
<UserId><![CDATA[userid1]]></UserId>
</UserInfo>
<Speech><![CDATA[]]></Speech>
<SpYj>1</SpYj>
<Sptime>0</Sptime>
</SubNodeList>
<SubNodeList>
<UserInfo>
<UserId><![CDATA[userid2]]></UserId>
</UserInfo>
<Speech><![CDATA[]]></Speech>
<SpYj>1</SpYj>
<Sptime>0</Sptime>
</SubNodeList>
</NodeList>
<NodeList>
<NodeType>2</NodeType>
<SubNodeList>
<UserInfo>
<UserId><![CDATA[userid3]]></UserId>
</UserInfo>
</SubNodeList>
</NodeList>
</ProcessList>
<Comments>
<CommentUserInfo>
<UserId><![CDATA[LiuZhi]]></UserId>

View File

@ -1,19 +1,39 @@
{
{
"creator_userid": "WangXiaoMing",
"template_id": "3Tka1eD6v6JfzhDMqPd3aMkFdxqtJMc2ZRioeFXkaaa",
"use_template_approver": 0,
"choose_department": 2,
"process": {
"node_list": [
{
"type": 1,
"apv_rel": 1,
"userid": [
"abc",
"bcd"
]
},
{
"type": 1,
"apv_rel": 1,
"userid": [
"abc"
]
}
]
},
"approver": [
{
"attr": 2,
"userid": ["WuJunJie", "WangXiaoMing"]
"userid": [ "WuJunJie", "WangXiaoMing" ]
},
{
"attr": 1,
"userid": ["LiuXiaoGang"]
"userid": [ "LiuXiaoGang" ]
}
],
"notifyer": ["WuJunJie", "WangXiaoMing"],
"notifyer": [ "WuJunJie", "WangXiaoMing" ],
"notify_type": 1,
"apply_data": {
"contents": [
@ -136,6 +156,22 @@
"new_begin": 1570550400,
"new_end": 1570593600,
"new_duration": 86400
},
"bank_account": {
"account_type": 1,
"account_name": "账户名",
"account_number": "621200000000000111",
"remark": "备注",
"bank": {
"bank_alias": "工商银行",
"bank_alias_code": "1000009547",
"province": "上海市",
"province_code": 2,
"city": "上海市",
"city_code": 21,
"bank_branch_name": "中国工商银行股份有限公司上海市新江湾城支行",
"bank_branch_id": "102290000121"
}
}
}
}

View File

@ -224,6 +224,22 @@
],
"formula": {
"value": "5.0"
},
"bank_account": {
"account_type": 1,
"account_name": "账户名",
"account_number": "621200000000000111",
"remark": "备注",
"bank": {
"bank_alias": "工商银行",
"bank_alias_code": "1000009547",
"province": "上海市",
"province_code": 2,
"city": "上海市",
"city_code": 21,
"bank_branch_name": "中国工商银行股份有限公司上海市新江湾城支行",
"bank_branch_id": "102290000121"
}
}
}
}