This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"github.com/flipped-aurora/gin-vue-admin/server/global"
|
||||
)
|
||||
|
||||
// MpAutoReply 微信公众号自动回复表
|
||||
type MpAutoReply struct {
|
||||
global.GVA_MODEL
|
||||
Type int `json:"type" gorm:"not null;index;comment:回复类型 1关注回复 2消息回复 3关键字回复"`
|
||||
RequestKeyword *string `json:"requestKeyword" gorm:"type:varchar(255);index;comment:请求的关键字"`
|
||||
RequestMatch *int `json:"requestMatch" gorm:"comment:请求的关键字的匹配 1完全匹配 2半匹配"`
|
||||
RequestMessageType *string `json:"requestMessageType" gorm:"type:varchar(32);index;comment:请求的消息类型"`
|
||||
ResponseMessageType string `json:"responseMessageType" gorm:"type:varchar(32);not null;comment:回复的消息类型"`
|
||||
ResponseContent *string `json:"responseContent" gorm:"type:varchar(1024);comment:回复的消息内容"`
|
||||
ResponseMediaID *string `json:"responseMediaId" gorm:"type:varchar(128);comment:回复的媒体文件 id"`
|
||||
ResponseMediaURL *string `json:"responseMediaUrl" gorm:"type:varchar(1024);comment:回复的媒体文件 URL"`
|
||||
ResponseTitle *string `json:"responseTitle" gorm:"type:varchar(128);comment:回复的标题"`
|
||||
ResponseDescription *string `json:"responseDescription" gorm:"type:varchar(256);comment:回复的描述"`
|
||||
ResponseThumbMediaID *string `json:"responseThumbMediaId" gorm:"type:varchar(128);comment:回复的缩略图的媒体 id"`
|
||||
ResponseThumbMediaURL *string `json:"responseThumbMediaUrl" gorm:"type:varchar(1024);comment:回复的缩略图的媒体 URL"`
|
||||
ResponseArticles *string `json:"responseArticles" gorm:"type:varchar(1024);comment:回复的图文消息数组"`
|
||||
ResponseMusicURL *string `json:"responseMusicUrl" gorm:"type:varchar(1024);comment:回复的音乐链接"`
|
||||
ResponseHqMusicURL *string `json:"responseHqMusicUrl" gorm:"type:varchar(1024);comment:回复的高质量音乐链接"`
|
||||
}
|
||||
|
||||
// TableName 指定表名
|
||||
func (MpAutoReply) TableName() string {
|
||||
return "mp_auto_reply"
|
||||
}
|
||||
|
||||
// AutoReplyType 自动回复类型常量
|
||||
const (
|
||||
AutoReplyTypeSubscribe = 1 // 关注回复
|
||||
AutoReplyTypeMessage = 2 // 消息回复
|
||||
AutoReplyTypeKeyword = 3 // 关键字回复
|
||||
)
|
||||
|
||||
// MatchType 匹配类型常量
|
||||
const (
|
||||
MatchTypeExact = 1 // 完全匹配
|
||||
MatchTypePartial = 2 // 半匹配
|
||||
)
|
||||
|
||||
// IsSubscribeReply 是否为关注回复
|
||||
func (m *MpAutoReply) IsSubscribeReply() bool {
|
||||
return m.Type == AutoReplyTypeSubscribe
|
||||
}
|
||||
|
||||
// IsMessageReply 是否为消息回复
|
||||
func (m *MpAutoReply) IsMessageReply() bool {
|
||||
return m.Type == AutoReplyTypeMessage
|
||||
}
|
||||
|
||||
// IsKeywordReply 是否为关键字回复
|
||||
func (m *MpAutoReply) IsKeywordReply() bool {
|
||||
return m.Type == AutoReplyTypeKeyword
|
||||
}
|
||||
|
||||
// IsExactMatch 是否为完全匹配
|
||||
func (m *MpAutoReply) IsExactMatch() bool {
|
||||
return m.RequestMatch != nil && *m.RequestMatch == MatchTypeExact
|
||||
}
|
||||
|
||||
// IsPartialMatch 是否为部分匹配
|
||||
func (m *MpAutoReply) IsPartialMatch() bool {
|
||||
return m.RequestMatch != nil && *m.RequestMatch == MatchTypePartial
|
||||
}
|
||||
Reference in New Issue
Block a user