feat(wxapi): 修复部分回调通知事件模型字段缺失的问题

This commit is contained in:
Fu Diwei 2021-11-10 14:44:54 +08:00
parent 795f6b180f
commit 3b0303701e
12 changed files with 230 additions and 23 deletions

View File

@ -9,6 +9,172 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// </summary> /// </summary>
public class MassSendJobFinishEvent : WechatApiEvent, WechatApiEvent.Serialization.IJsonSerializable, WechatApiEvent.Serialization.IXmlSerializable public class MassSendJobFinishEvent : WechatApiEvent, WechatApiEvent.Serialization.IJsonSerializable, WechatApiEvent.Serialization.IXmlSerializable
{ {
public static class Types
{
public class CopyrightCheckResult
{
public static class Types
{
public class CopyrightCheckResultItem
{
/// <summary>
/// 获取或设置文章在图文消息中的位置(从 0 开始)。
/// </summary>
[Newtonsoft.Json.JsonProperty("ArticleIdx")]
[System.Text.Json.Serialization.JsonPropertyName("ArticleIdx")]
[System.Xml.Serialization.XmlElement("ArticleIdx")]
public int ArticleIndex { get; set; }
/// <summary>
/// 获取或设置用户声明文章的状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("UserDeclareState")]
[System.Text.Json.Serialization.JsonPropertyName("UserDeclareState")]
[System.Xml.Serialization.XmlElement("UserDeclareState")]
public int UserDeclareState { get; set; }
/// <summary>
/// 获取或设置系统校验的状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("AuditState")]
[System.Text.Json.Serialization.JsonPropertyName("AuditState")]
[System.Xml.Serialization.XmlElement("AuditState")]
public int AuditState { get; set; }
/// <summary>
/// 获取或设置相似原创文的链接。
/// </summary>
[Newtonsoft.Json.JsonProperty("OriginalArticleUrl")]
[System.Text.Json.Serialization.JsonPropertyName("OriginalArticleUrl")]
[System.Xml.Serialization.XmlElement("OriginalArticleUrl")]
public string OriginalArticleUrl { get; set; } = default!;
/// <summary>
/// 获取或设置相似原创文的类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("OriginalArticleType")]
[System.Text.Json.Serialization.JsonPropertyName("OriginalArticleType")]
[System.Xml.Serialization.XmlElement("OriginalArticleType")]
public int OriginalArticleType { get; set; }
/// <summary>
/// 获取或设置是否能转载。
/// </summary>
[Newtonsoft.Json.JsonProperty("CanReprint")]
[System.Text.Json.Serialization.JsonPropertyName("CanReprint")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalBooleanConverter))]
[System.Xml.Serialization.XmlElement("CanReprint")]
public bool CanReprint { get; set; }
/// <summary>
/// 获取或设置是否需要替换成原创文内容。
/// </summary>
[Newtonsoft.Json.JsonProperty("NeedReplaceContent")]
[System.Text.Json.Serialization.JsonPropertyName("NeedReplaceContent")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalBooleanConverter))]
[System.Xml.Serialization.XmlElement("NeedReplaceContent")]
public bool RequireReplaceContent { get; set; }
/// <summary>
/// 获取或设置是否需要注明转载来源。
/// </summary>
[Newtonsoft.Json.JsonProperty("NeedShowReprintSource")]
[System.Text.Json.Serialization.JsonPropertyName("NeedShowReprintSource")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalBooleanConverter))]
[System.Xml.Serialization.XmlElement("NeedShowReprintSource")]
public bool RequireShowReprintSource { get; set; }
}
public class CopyrightCheckResultList
{
/// <summary>
/// 获取或设置校验结果列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("item")]
[System.Text.Json.Serialization.JsonPropertyName("item")]
[System.Xml.Serialization.XmlArrayItem("item", Type = typeof(CopyrightCheckResultItem))]
public CopyrightCheckResultItem[] Items { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置校验数量。
/// </summary>
[Newtonsoft.Json.JsonProperty("Count")]
[System.Text.Json.Serialization.JsonPropertyName("Count")]
[System.Xml.Serialization.XmlElement("Count")]
public int CheckCount { get; set; }
/// <summary>
/// 获取或设置整体校验结果。
/// </summary>
[Newtonsoft.Json.JsonProperty("CheckState")]
[System.Text.Json.Serialization.JsonPropertyName("CheckState")]
[System.Xml.Serialization.XmlElement("CheckState")]
public int CheckState { get; set; }
/// <summary>
/// 获取或设置校验结果列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("ResultList")]
[System.Text.Json.Serialization.JsonPropertyName("ResultList")]
[System.Xml.Serialization.XmlElement("ResultList", Type = typeof(Types.CopyrightCheckResultList))]
public Types.CopyrightCheckResultList ResultList { get; set; } = default!;
}
public class ArticleUrlResult
{
public static class Types
{
public class ArticleUrlResultItem
{
/// <summary>
/// 获取或设置文章在图文消息中的位置(从 0 开始)。
/// </summary>
[Newtonsoft.Json.JsonProperty("ArticleIdx")]
[System.Text.Json.Serialization.JsonPropertyName("ArticleIdx")]
[System.Xml.Serialization.XmlElement("ArticleIdx")]
public int ArticleIndex { get; set; }
/// <summary>
/// 获取或设置文章链接。
/// </summary>
[Newtonsoft.Json.JsonProperty("ArticleUrl")]
[System.Text.Json.Serialization.JsonPropertyName("ArticleUrl")]
[System.Xml.Serialization.XmlElement("ArticleUrl")]
public string ArticleUrl { get; set; } = default!;
}
public class ArticleUrlResultList
{
/// <summary>
/// 获取或设置校验结果列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("item")]
[System.Text.Json.Serialization.JsonPropertyName("item")]
[System.Xml.Serialization.XmlArrayItem("item", Type = typeof(ArticleUrlResultItem))]
public ArticleUrlResultItem[] Items { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置文章数量。
/// </summary>
[Newtonsoft.Json.JsonProperty("Count")]
[System.Text.Json.Serialization.JsonPropertyName("Count")]
[System.Xml.Serialization.XmlElement("Count")]
public int ArticleCount { get; set; }
/// <summary>
/// 获取或设置发送结果列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("ResultList")]
[System.Text.Json.Serialization.JsonPropertyName("ResultList")]
[System.Xml.Serialization.XmlElement("ResultList", Type = typeof(Types.ArticleUrlResultList))]
public Types.ArticleUrlResultList ResultList { get; set; } = default!;
}
}
/// <summary> /// <summary>
/// 获取或设置消息 ID。 /// 获取或设置消息 ID。
/// </summary> /// </summary>
@ -56,5 +222,21 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
[System.Text.Json.Serialization.JsonPropertyName("ErrorCount")] [System.Text.Json.Serialization.JsonPropertyName("ErrorCount")]
[System.Xml.Serialization.XmlElement("ErrorCount")] [System.Xml.Serialization.XmlElement("ErrorCount")]
public int ErrorCount { get; set; } public int ErrorCount { get; set; }
/// <summary>
/// 获取或设置版权校验结果信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("CopyrightCheckResult")]
[System.Text.Json.Serialization.JsonPropertyName("CopyrightCheckResult")]
[System.Xml.Serialization.XmlElement("CopyrightCheckResult", IsNullable = true)]
public Types.CopyrightCheckResult? CopyrightCheckResult { get; set; }
/// <summary>
/// 获取或设置文章发送结果信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("ArticleUrlResult")]
[System.Text.Json.Serialization.JsonPropertyName("ArticleUrlResult")]
[System.Xml.Serialization.XmlElement("ArticleUrlResult", IsNullable = true)]
public Types.ArticleUrlResult? ArticleUrlResult { get; set; }
} }
} }

View File

@ -43,7 +43,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <summary> /// <summary>
/// 获取或设置图文列表。 /// 获取或设置图文列表。
/// </summary> /// </summary>
[System.Xml.Serialization.XmlElement("item", Type = typeof(ArticleItem))] [System.Xml.Serialization.XmlArrayItem("item", Type = typeof(ArticleItem))]
public ArticleItem[] Items { get; set; } = new ArticleItem[0]; public ArticleItem[] Items { get; set; } = new ArticleItem[0];
} }
} }

View File

@ -25,6 +25,12 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
[System.Xml.Serialization.XmlElement("mp_appid")] [System.Xml.Serialization.XmlElement("mp_appid")]
public string MediaPlatformAppId { get; set; } = default!; public string MediaPlatformAppId { get; set; } = default!;
/// <summary>
/// 获取或设置操作时间字符串格式yyyy-MM-dd HH:mm
/// </summary>
[System.Xml.Serialization.XmlElement("operation_time")]
public string OperateTimeString { get; set; } = default!;
/// <summary> /// <summary>
/// 获取或设置错误码。 /// 获取或设置错误码。
/// </summary> /// </summary>

View File

@ -25,6 +25,12 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
[System.Xml.Serialization.XmlElement("mp_appid")] [System.Xml.Serialization.XmlElement("mp_appid")]
public string MediaPlatformAppId { get; set; } = default!; public string MediaPlatformAppId { get; set; } = default!;
/// <summary>
/// 获取或设置操作时间字符串格式yyyy-MM-dd HH:mm
/// </summary>
[System.Xml.Serialization.XmlElement("operation_time")]
public string OperateTimeString { get; set; } = default!;
/// <summary> /// <summary>
/// 获取或设置错误码。 /// 获取或设置错误码。
/// </summary> /// </summary>
@ -34,7 +40,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <summary> /// <summary>
/// 获取或设置错误信息。 /// 获取或设置错误信息。
/// </summary> /// </summary>
[System.Xml.Serialization.XmlElement("msg")] [System.Xml.Serialization.XmlElement("msg", IsNullable = true)]
public string? ErrorMessage { get; set; } public string? ErrorMessage { get; set; }
} }
} }

View File

@ -25,6 +25,12 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
[System.Xml.Serialization.XmlElement("mp_appid")] [System.Xml.Serialization.XmlElement("mp_appid")]
public string MediaPlatformAppId { get; set; } = default!; public string MediaPlatformAppId { get; set; } = default!;
/// <summary>
/// 获取或设置操作时间字符串格式yyyy-MM-dd HH:mm
/// </summary>
[System.Xml.Serialization.XmlElement("operation_time")]
public string OperateTimeString { get; set; } = default!;
/// <summary> /// <summary>
/// 获取或设置错误码。 /// 获取或设置错误码。
/// </summary> /// </summary>
@ -34,7 +40,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <summary> /// <summary>
/// 获取或设置错误信息。 /// 获取或设置错误信息。
/// </summary> /// </summary>
[System.Xml.Serialization.XmlElement("msg")] [System.Xml.Serialization.XmlElement("msg", IsNullable = true)]
public string? ErrorMessage { get; set; } public string? ErrorMessage { get; set; }
} }
} }

View File

@ -14,5 +14,11 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// </summary> /// </summary>
[System.Xml.Serialization.XmlElement("DelayTime")] [System.Xml.Serialization.XmlElement("DelayTime")]
public long DelayTimestamp { get; set; } public long DelayTimestamp { get; set; }
/// <summary>
/// 获取或设置审核拒绝原因。
/// </summary>
[System.Xml.Serialization.XmlElement("Reason", IsNullable = true)]
public string? RejectReason { get; set; }
} }
} }

View File

@ -52,7 +52,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <summary> /// <summary>
/// 获取或设置证明材料 MediaId 列表。 /// 获取或设置证明材料 MediaId 列表。
/// </summary> /// </summary>
[System.Xml.Serialization.XmlElement("proof_material_id", Type = typeof(string))] [System.Xml.Serialization.XmlArrayItem("proof_material_id", Type = typeof(string))]
public string[] ProofMediaIdList { get; set; } = default!; public string[] ProofMediaIdList { get; set; } = default!;
} }
} }
@ -90,7 +90,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <summary> /// <summary>
/// 获取或设置申诉材料列表。 /// 获取或设置申诉材料列表。
/// </summary> /// </summary>
[System.Xml.Serialization.XmlElement("material", Type = typeof(Types.Material), IsNullable = true)] [System.Xml.Serialization.XmlArrayItem("material", Type = typeof(Types.Material), IsNullable = true)]
public Types.Material[]? MaterialList { get; set; } public Types.Material[]? MaterialList { get; set; }
/// <summary> /// <summary>

View File

@ -48,7 +48,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// </summary> /// </summary>
[Newtonsoft.Json.JsonProperty("group_id")] [Newtonsoft.Json.JsonProperty("group_id")]
[System.Text.Json.Serialization.JsonPropertyName("group_id")] [System.Text.Json.Serialization.JsonPropertyName("group_id")]
[System.Xml.Serialization.XmlElement("status")] [System.Xml.Serialization.XmlElement("group_id")]
public int GroupId { get; set; } public int GroupId { get; set; }
/// <summary> /// <summary>
@ -72,7 +72,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// </summary> /// </summary>
[Newtonsoft.Json.JsonProperty("scene_group_ext_list")] [Newtonsoft.Json.JsonProperty("scene_group_ext_list")]
[System.Text.Json.Serialization.JsonPropertyName("scene_group_ext_list")] [System.Text.Json.Serialization.JsonPropertyName("scene_group_ext_list")]
[System.Xml.Serialization.XmlElement("scene_group_ext_list", Type = typeof(Types.SceneGroupExtra))] [System.Xml.Serialization.XmlArrayItem("scene_group_ext_list", Type = typeof(Types.SceneGroupExtra))]
public Types.SceneGroupExtra[] SceneGroupExtraList { get; set; } = default!; public Types.SceneGroupExtra[] SceneGroupExtraList { get; set; } = default!;
} }
} }

View File

@ -84,7 +84,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// </summary> /// </summary>
[Newtonsoft.Json.JsonProperty("Actions")] [Newtonsoft.Json.JsonProperty("Actions")]
[System.Text.Json.Serialization.JsonPropertyName("Actions")] [System.Text.Json.Serialization.JsonPropertyName("Actions")]
[System.Xml.Serialization.XmlElement("Actions", Type = typeof(Types.Action))] [System.Xml.Serialization.XmlArrayItem("Actions", Type = typeof(Types.Action))]
public Types.Action[] ActionList { get; set; } = default!; public Types.Action[] ActionList { get; set; } = default!;
} }
} }

View File

@ -167,7 +167,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// </summary> /// </summary>
[Newtonsoft.Json.JsonProperty("DetailList")] [Newtonsoft.Json.JsonProperty("DetailList")]
[System.Text.Json.Serialization.JsonPropertyName("DetailList")] [System.Text.Json.Serialization.JsonPropertyName("DetailList")]
[System.Xml.Serialization.XmlElement("DetailList", Type = typeof(Types.GoodsDetail))] [System.Xml.Serialization.XmlArrayItem("DetailList", Type = typeof(Types.GoodsDetail))]
public Types.GoodsDetail[]? GoodsDetailList { get; set; } public Types.GoodsDetail[]? GoodsDetailList { get; set; }
} }
@ -246,9 +246,9 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <summary> /// <summary>
/// 获取或设置商户订单号。 /// 获取或设置商户订单号。
/// </summary> /// </summary>
[Newtonsoft.Json.JsonProperty("OrderId")] [Newtonsoft.Json.JsonProperty("OrderID")]
[System.Text.Json.Serialization.JsonPropertyName("OrderId")] [System.Text.Json.Serialization.JsonPropertyName("OrderID")]
[System.Xml.Serialization.XmlElement("OrderId")] [System.Xml.Serialization.XmlElement("OrderID")]
public string OrderId { get; set; } = default!; public string OrderId { get; set; } = default!;
/// <summary> /// <summary>

View File

@ -36,9 +36,9 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Events
/// <summary> /// <summary>
/// 获取或设置商户订单号。 /// 获取或设置商户订单号。
/// </summary> /// </summary>
[Newtonsoft.Json.JsonProperty("OrderId")] [Newtonsoft.Json.JsonProperty("OrderID")]
[System.Text.Json.Serialization.JsonPropertyName("OrderId")] [System.Text.Json.Serialization.JsonPropertyName("OrderID")]
[System.Xml.Serialization.XmlElement("OrderId")] [System.Xml.Serialization.XmlElement("OrderID")]
public string OrderId { get; set; } = default!; public string OrderId { get; set; } = default!;
/// <summary> /// <summary>

View File

@ -1,10 +1,11 @@
<xml> <xml>
<ToUserName><![CDATA[toUser]]></ToUserName> <ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName> <FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>1351776360</CreateTime> <CreateTime>1351776360</CreateTime>
<MsgType><![CDATA[link]]></MsgType> <MsgType><![CDATA[location]]></MsgType>
<Title><![CDATA[公众平台官网链接]]></Title> <Location_X>23.134521</Location_X>
<Description><![CDATA[公众平台官网链接]]></Description> <Location_Y>113.358803</Location_Y>
<Url><![CDATA[url]]></Url> <Scale>20</Scale>
<MsgId>1234567890123456</MsgId> <Label><![CDATA[位置信息]]></Label>
<MsgId>1234567890123456</MsgId>
</xml> </xml>