From 43dfc3599e2cd4e39e08216723fc8156dd13bee6 Mon Sep 17 00:00:00 2001 From: IcedMango Date: Thu, 29 Feb 2024 18:09:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=81=E4=B8=9A=E5=BE=AE=E4=BF=A1=E4=B8=AD?= =?UTF-8?q?=E9=97=B4=E4=BB=B6=E5=A2=9E=E5=8A=A0:=E4=BC=9A=E8=AF=9D?= =?UTF-8?q?=E5=AD=98=E6=A1=A3-=E4=BA=A7=E7=94=9F=E4=BC=9A=E8=AF=9D?= =?UTF-8?q?=E5=9B=9E=E8=B0=83=E4=BA=8B=E4=BB=B6=E5=9B=9E=E8=B0=83;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RequestMessageEvent_MsgAuditNotify.cs | 24 +++++++++++++++++++ .../Senparc.Weixin.Work/Enums.cs | 10 +++++++- .../DefaultWorkMessageContext.cs | 8 +++++++ .../Async/WorkMessageHandler.Async.cs | 19 +++++++++++++++ .../MessageHandlers/WorkMessageHandler.cs | 13 ++++++++++ .../RequestMessageFactory.cs | 6 +++++ 6 files changed, 79 insertions(+), 1 deletion(-) create mode 100644 src/Senparc.Weixin.Work/Senparc.Weixin.Work/Entities/Request/Event/RequestMessageEvent_MsgAuditNotify.cs diff --git a/src/Senparc.Weixin.Work/Senparc.Weixin.Work/Entities/Request/Event/RequestMessageEvent_MsgAuditNotify.cs b/src/Senparc.Weixin.Work/Senparc.Weixin.Work/Entities/Request/Event/RequestMessageEvent_MsgAuditNotify.cs new file mode 100644 index 0000000000..11c419e864 --- /dev/null +++ b/src/Senparc.Weixin.Work/Senparc.Weixin.Work/Entities/Request/Event/RequestMessageEvent_MsgAuditNotify.cs @@ -0,0 +1,24 @@ +/*---------------------------------------------------------------- + Copyright (C) 2024 Senparc + + 文件名:RequestMessageEvent_MsgAuditNotify.cs + 文件功能描述:企业微信会话存档-产生会话回调事件 + + + 创建标识:IcedMango - 20240229 + +----------------------------------------------------------------*/ + +namespace Senparc.Weixin.Work.Entities +{ + /// + /// 企业微信会话存档-产生会话回调事件 + /// + public class RequestMessageEvent_MsgAuditNotify : RequestMessageEventBase, IRequestMessageEventBase + { + /// + /// 事件类型 + /// + public override Event Event => Event.MSGAUDIT_NOTIFY; + } +} diff --git a/src/Senparc.Weixin.Work/Senparc.Weixin.Work/Enums.cs b/src/Senparc.Weixin.Work/Senparc.Weixin.Work/Enums.cs index f71f6b911c..2d6b7b9394 100644 --- a/src/Senparc.Weixin.Work/Senparc.Weixin.Work/Enums.cs +++ b/src/Senparc.Weixin.Work/Senparc.Weixin.Work/Enums.cs @@ -54,6 +54,9 @@ GroupTaskSentStatus 枚举 修改标识:XiaoPoTian - 20231119 修改描述:v3.18.1 添加枚举“企业客户标签变更事件”(CHANGE_EXTERNAL_Tag) + + 修改标识:IcedMango - 20240229 + 修改描述:添加枚举“企业微信会话存档-产生会话回调事件”(MSGAUDIT_NOTIFY) ----------------------------------------------------------------*/ @@ -204,8 +207,13 @@ public enum Event /// 自建应用审批状态变化通知回调 /// /// - OPEN_APPROVAL_CHANGE + OPEN_APPROVAL_CHANGE, #endregion + + /// + /// 会话存档-产生会话回调事件 + /// + MSGAUDIT_NOTIFY } public enum TencentGender diff --git a/src/Senparc.Weixin.Work/Senparc.Weixin.Work/MessageContext/DefaultWorkMessageContext.cs b/src/Senparc.Weixin.Work/Senparc.Weixin.Work/MessageContext/DefaultWorkMessageContext.cs index 1913fc51c1..39ae31f49c 100644 --- a/src/Senparc.Weixin.Work/Senparc.Weixin.Work/MessageContext/DefaultWorkMessageContext.cs +++ b/src/Senparc.Weixin.Work/Senparc.Weixin.Work/MessageContext/DefaultWorkMessageContext.cs @@ -24,6 +24,9 @@ 修改标识:XiaoPoTian - 20231119 修改描述:v3.18.1 添加“企业客户标签变更事件回调通知”(CHANGE_EXTERNAL_Tag) + + 修改标识:IcedMango - 20240229 + 修改描述:添加: 企业微信会话存档-产生会话回调事件(MSGAUDIT_NOTIFY) ----------------------------------------------------------------*/ using Senparc.NeuChar; @@ -227,6 +230,11 @@ public override IWorkRequestMessageBase GetRequestEntityMappingResult(RequestMsg case "OPEN_APPROVAL_CHANGE": requestMessage = new RequestMessageEvent_OpenApprovalChange(); break; + // 企业微信会话存档-产生会话回调事件(msgaudit_notify) + // 文档: https://developer.work.weixin.qq.com/document/path/95039 + case "MSGAUDIT_NOTIFY": + requestMessage = new RequestMessageEvent_MsgAuditNotify(); + break; default://其他意外类型(也可以选择抛出异常) requestMessage = new RequestMessageEventBase(); break; diff --git a/src/Senparc.Weixin.Work/Senparc.Weixin.Work/MessageHandlers/Async/WorkMessageHandler.Async.cs b/src/Senparc.Weixin.Work/Senparc.Weixin.Work/MessageHandlers/Async/WorkMessageHandler.Async.cs index 8e92e46443..64f3c95a97 100644 --- a/src/Senparc.Weixin.Work/Senparc.Weixin.Work/MessageHandlers/Async/WorkMessageHandler.Async.cs +++ b/src/Senparc.Weixin.Work/Senparc.Weixin.Work/MessageHandlers/Async/WorkMessageHandler.Async.cs @@ -12,6 +12,9 @@ 修改标识:Senparc - 20230914 修改描述:v3.16.4 企业微信三方代开发处理事件: 修复 Async 方法循环调用的 Bug + + 修改标识:IcedMango - 20240229 + 修改描述:添加: 企业微信会话存档-产生会话回调事件 ----------------------------------------------------------------*/ @@ -382,6 +385,12 @@ public virtual async Task OnEventRequestAsync(IRequest OnEvent_Open_Approval_Change_Status_ChangeRequestAsync( RequestMessage as RequestMessageEvent_OpenApprovalChange); break; + + case Event.MSGAUDIT_NOTIFY: //企业微信会话存档-产生会话回调事件 + responseMessage = await + OnEvent_MsgAuditNotifyRequestAsync( + RequestMessage as RequestMessageEvent_MsgAuditNotify); + break; default: throw new UnknownRequestMsgTypeException("未知的Event下属请求信息", null); } @@ -790,6 +799,16 @@ public virtual async Task OnEvent_Open_Approval_Change } #endregion + + /// + /// 企业微信会话存档-产生会话回调事件 + /// + /// + /// + public virtual async Task OnEvent_MsgAuditNotifyRequestAsync(RequestMessageEvent_MsgAuditNotify requestMessage) + { + return await Task.Run(() => OnEvent_MsgAuditNotifyRequest(requestMessage)).ConfigureAwait(false); + } #endregion //Event 下属分类 diff --git a/src/Senparc.Weixin.Work/Senparc.Weixin.Work/MessageHandlers/WorkMessageHandler.cs b/src/Senparc.Weixin.Work/Senparc.Weixin.Work/MessageHandlers/WorkMessageHandler.cs index 749b92235e..e7ab01a6b1 100644 --- a/src/Senparc.Weixin.Work/Senparc.Weixin.Work/MessageHandlers/WorkMessageHandler.cs +++ b/src/Senparc.Weixin.Work/Senparc.Weixin.Work/MessageHandlers/WorkMessageHandler.cs @@ -68,6 +68,9 @@ OnThirdPartyEvent_Contact_Sync 改名为 OnThirdPartyEvent_Change_Contact() 修改标识:XiaoPoTian - 20231119 修改描述:v3.18.1 添加 RequestMessageEvent_Change_External_Tag_Base 事件中 ChangeType 的判断 + + 修改标识:IcedMango - 20240229 + 修改描述:添加: 企业微信会话存档-产生会话回调事件 ----------------------------------------------------------------*/ using System; @@ -883,6 +886,16 @@ public virtual IWorkResponseMessageBase OnEvent_Open_Approval_Change_Status_Chan return DefaultResponseMessage(requestMessage); } #endregion + + /// + /// 企业微信会话存档-产生会话回调事件 + /// + /// + /// + public virtual IWorkResponseMessageBase OnEvent_MsgAuditNotifyRequest(RequestMessageEvent_MsgAuditNotify requestMessage) + { + return DefaultResponseMessage(requestMessage); + } #endregion //Event 下属分类 #endregion diff --git a/src/Senparc.Weixin.Work/Senparc.Weixin.Work/RequestMessageFactory.cs b/src/Senparc.Weixin.Work/Senparc.Weixin.Work/RequestMessageFactory.cs index 2298973005..659ae70289 100644 --- a/src/Senparc.Weixin.Work/Senparc.Weixin.Work/RequestMessageFactory.cs +++ b/src/Senparc.Weixin.Work/Senparc.Weixin.Work/RequestMessageFactory.cs @@ -27,6 +27,9 @@ 修改标识:Senparc - 20231026 修改描述:v3.17.0 成员对外联系 > 客户消息通知处理 + + 修改标识:IcedMango - 20240229 + 修改描述:添加: 企业微信会话存档-产生会话回调事件(MSGAUDIT_NOTIFY) ----------------------------------------------------------------*/ @@ -134,6 +137,9 @@ public static IWorkRequestMessageBase GetRequestEntity(TMC messageContext, case "MSG_AUDIT_APPROVED": requestMessage = new RequestMessageEvent_Change_ExternalContact_MsgAudit(); break; + case "MSGAUDIT_NOTIFY": + requestMessage = new RequestMessageEvent_MsgAuditNotify(); + break; case "CREATE": requestMessage = new RequestMessageEvent_Change_ExternalContact_Create(); break;