github.com/chanxuehong/wechat@v0.0.0-20230222024006-36f0325263cd/mp/message/template/event.go (about)

     1  package template
     2  
     3  import (
     4  	"github.com/chanxuehong/wechat/mp/core"
     5  )
     6  
     7  const (
     8  	EventTypeTemplateSendJobFinish core.EventType = "TEMPLATESENDJOBFINISH"
     9  )
    10  
    11  const (
    12  	TemplateSendStatusSuccess            = "success"               // 送达成功时
    13  	TemplateSendStatusFailedUserBlock    = "failed:user block"     // 送达由于用户拒收(用户设置拒绝接收公众号消息)而失败
    14  	TemplateSendStatusFailedSystemFailed = "failed: system failed" // 送达由于其他原因失败
    15  )
    16  
    17  type TemplateSendJobFinishEvent struct {
    18  	XMLName struct{} `xml:"xml" json:"-"`
    19  	core.MsgHeader
    20  	EventType core.EventType `xml:"Event"  json:"Event"`  // 此处为 TEMPLATESENDJOBFINISH
    21  	MsgId     int64          `xml:"MsgId"  json:"MsgId"`  // 模板消息ID
    22  	Status    string         `xml:"Status" json:"Status"` // 发送状态
    23  }
    24  
    25  func GetTemplateSendJobFinishEvent(msg *core.MixedMsg) *TemplateSendJobFinishEvent {
    26  	return &TemplateSendJobFinishEvent{
    27  		MsgHeader: msg.MsgHeader,
    28  		EventType: msg.EventType,
    29  		MsgId:     msg.MsgID, // NOTE
    30  		Status:    msg.Status,
    31  	}
    32  }