diff --git a/aspnet-core/framework/wechat/LINGYUN.Abp.WeChat.Work.Common/LINGYUN/Abp/WeChat/Work/Common/AbpWeChatWorkCommonModule.cs b/aspnet-core/framework/wechat/LINGYUN.Abp.WeChat.Work.Common/LINGYUN/Abp/WeChat/Work/Common/AbpWeChatWorkCommonModule.cs index 6e2d64ae6..c011747a5 100644 --- a/aspnet-core/framework/wechat/LINGYUN.Abp.WeChat.Work.Common/LINGYUN/Abp/WeChat/Work/Common/AbpWeChatWorkCommonModule.cs +++ b/aspnet-core/framework/wechat/LINGYUN.Abp.WeChat.Work.Common/LINGYUN/Abp/WeChat/Work/Common/AbpWeChatWorkCommonModule.cs @@ -29,6 +29,7 @@ public class AbpWeChatWorkCommonModule : AbpModule options.MapEvent("location_select", context => context.GetWeChatMessage()); options.MapEvent("batch_job_result", context => context.GetWeChatMessage()); options.MapEvent("open_approval_change", context => context.GetWeChatMessage()); + options.MapEvent("sys_approval_change", context => context.GetWeChatMessage()); options.MapEvent("share_agent_change", context => context.GetWeChatMessage()); options.MapEvent("share_chain_change", context => context.GetWeChatMessage()); options.MapEvent("template_card_event", context => context.GetWeChatMessage()); diff --git a/aspnet-core/framework/wechat/LINGYUN.Abp.WeChat.Work.Common/LINGYUN/Abp/WeChat/Work/Common/Messages/Models/SysApprovalStatusChangeEvent.cs b/aspnet-core/framework/wechat/LINGYUN.Abp.WeChat.Work.Common/LINGYUN/Abp/WeChat/Work/Common/Messages/Models/SysApprovalStatusChangeEvent.cs new file mode 100644 index 000000000..a08fa5988 --- /dev/null +++ b/aspnet-core/framework/wechat/LINGYUN.Abp.WeChat.Work.Common/LINGYUN/Abp/WeChat/Work/Common/Messages/Models/SysApprovalStatusChangeEvent.cs @@ -0,0 +1,272 @@ +using LINGYUN.Abp.WeChat.Common.Messages; +using System; +using System.Collections.Generic; +using System.Xml.Serialization; +using Volo.Abp.EventBus; + +namespace LINGYUN.Abp.WeChat.Work.Common.Messages.Models; +/// +/// 企业微信“审批应用”审批状态通知事件 +/// +[EventName("sys_approval_change")] +public class SysApprovalStatusChangeEvent : WeChatWorkEventMessage +{ + /// + /// 审批信息 + /// + [XmlElement("ApprovalInfo")] + public SysApprovalInfo ApprovalInfo { get; set; } + + public override WeChatMessageEto ToEto() + { + return new WeChatWorkEventMessageEto(this); + } +} + +public class SysApprovalInfo +{ + /// + /// 审批编号(字符串类型) + /// + [XmlElement("SpNoStr")] + public string SpNoStr { get; set; } + /// + /// 审批申请类型名称(审批模板名称) + /// + [XmlElement("SpName")] + public string SpName { get; set; } + /// + /// 申请单状态:1-审批中;2-已通过;3-已驳回;4-已撤销;6-通过后撤销;7-已删除;10-已支付 + /// + [XmlElement("SpStatus")] + public byte SpStatus { get; set; } + /// + /// 审批模板id。可在“获取审批申请详情”、“审批状态变化回调通知”中获得,也可在审批模板的模板编辑页面链接中获得。 + /// + [XmlElement("TemplateId")] + public string TemplateId { get; set; } + /// + /// 审批申请提交时间,Unix时间戳 + /// + [XmlElement("ApplyTime")] + public int ApplyTime { get; set; } + /// + /// 申请人信息 + /// + [XmlElement("Applyer")] + public SysApprovalApplyer Applyer { get; set; } + /// + /// 审批流程信息,可能有多个审批节点。 + /// + [XmlElement("SpRecord")] + public List SpRecord { get; set; } + /// + /// 抄送信息,可能有多个抄送节点 + /// + [XmlElement("Notifyer")] + public List Notifyer { get; set; } + /// + /// 审批申请备注信息,可能有多个备注节点 + /// + [XmlElement("Comments")] + public List Comments { get; set; } + /// + /// 审批流程列表 + /// + [XmlElement("ProcessList")] + public List ProcessList { get; set; } + /// + /// 审批申请状态变化类型:1-提单;2-同意;3-驳回;4-转审;5-催办;6-撤销;8-通过后撤销;10-添加备注;11-回退给指定审批人;12-添加审批人;13-加签并同意; 14-已办理; 15-已转交 + /// + [XmlElement("StatuChangeEvent")] + public byte StatuChangeEvent { get; set; } + /// + /// 审批编号 + /// + /// + /// 局校审批单不返回此字段,其他类型审批单会返回此字段,不推荐使用此字段 + /// + [XmlElement("SpNo")] + [Obsolete("局校审批单不返回此字段,其他类型审批单会返回此字段,不推荐使用此字段")] + public string SpNo { get; set; } +} + +public class SysApprovalApplyer +{ + /// + /// 申请人userid + /// + [XmlElement("UserId")] + public string UserId { get; set; } + /// + /// 申请人所在部门pid + /// + [XmlElement("Party")] + public string Party { get; set; } +} + +public class SysApprovalRecord +{ + /// + /// 审批节点状态:1-审批中;2-已同意;3-已驳回;4-已转审 + /// + [XmlElement("SpStatus")] + public byte SpStatus { get; set; } + /// + /// 节点审批方式:1-或签;2-会签 + /// + [XmlElement("ApproverAttr")] + public byte ApproverAttr { get; set; } + /// + /// 节点审批方式:1-或签;2-会签 + /// + [XmlElement("Details")] + public List Details { get; set; } +} + +public class SysApprovalRecordDetail +{ + /// + /// 分支审批人 + /// + [XmlElement("Approver")] + public SysApprovalApplyer Approver { get; set; } + /// + /// 审批意见字段 + /// + [XmlElement("Speech")] + public string Speech { get; set; } + /// + /// 分支审批人审批状态:1-审批中;2-已同意;3-已驳回;4-已转审 + /// + [XmlElement("SpStatus")] + public byte SpStatus { get; set; } + /// + /// 节点分支审批人审批操作时间,0为尚未操作 + /// + [XmlElement("SpTime")] + public int SpTime { get; set; } + /// + /// 节点分支审批人审批意见附件,赋值为media_id具体使用请参考:文档-获取临时素材 + /// + [XmlElement("Attach")] + public string Attach { get; set; } +} + +public class SysApprovalNotifyer +{ + /// + /// 节点抄送人userid + /// + [XmlElement("UserId")] + public string UserId { get; set; } +} + +public class SysApprovalComment +{ + /// + /// 备注人信息 + /// + [XmlElement("CommentUserInfo")] + public SysApprovalCommenter CommentUserInfo { get; set; } + /// + /// 备注提交时间 + /// + [XmlElement("CommentTime")] + public int CommentTime { get; set; } + /// + /// 备注文本内容 + /// + [XmlElement("CommentContent")] + public string CommentContent { get; set; } + /// + /// 备注id + /// + [XmlElement("CommentId")] + public string CommentId { get; set; } + /// + /// 备注意见附件,值是附件media_id + /// + [XmlElement("Attach")] + public string Attach { get; set; } +} + +public class SysApprovalCommenter +{ + /// + /// 节点抄送人userid + /// + [XmlElement("UserId")] + public string UserId { get; set; } +} + +public class SysApprovalProcess +{ + /// + /// 流程节点 + /// + [XmlElement("NodeList")] + public List NodeList { get; set; } +} + +public class SysApprovalProcessNode +{ + /// + /// 节点类型 1 审批人 2 抄送人 3办理人 + /// + [XmlElement("NodeType")] + public byte NodeType { get; set; } + /// + /// 节点状态 1-审批中;2-同意;3-驳回;4-转审;11-退回给指定审批人;12-加签;13-同意并加签;14-办理;15-转交 + /// + [XmlElement("SpStatus")] + public byte SpStatus { get; set; } + /// + /// 多人办理方式 1-会签;2-或签 3-依次审批 + /// + [XmlElement("ApvRel")] + public byte ApvRel { get; set; } + /// + /// 子节点列表 + /// + [XmlElement("SubNodeList")] + public List SubNodeList { get; set; } +} + +public class SysApprovalProcessSubNode +{ + /// + /// 处理人信息 + /// + [XmlElement("UserInfo")] + public SysApprovalProcesser UserInfo { get; set; } + /// + /// 审批/办理意见 + /// + [XmlElement("Speech")] + public string Speech { get; set; } + /// + /// 子节点状态 1-审批中;2-同意;3-驳回;4-转审;11-退回给指定审批人;12-加签;13-同意并加签;14-办理;15-转交 + /// + [XmlElement("SpYj")] + public byte SpYj { get; set; } + /// + /// 操作时间 + /// + [XmlElement("Sptime")] + public int Sptime { get; set; } + /// + /// 备注意见附件,值是附件media_id + /// + [XmlElement("MediaIds")] + public string MediaIds { get; set; } +} + +public class SysApprovalProcesser +{ + /// + /// 处理人userid + /// + [XmlElement("UserId")] + public string UserId { get; set; } +} \ No newline at end of file