draft
This commit is contained in:
41
backend/internal/model/wechat.go
Normal file
41
backend/internal/model/wechat.go
Normal file
@@ -0,0 +1,41 @@
|
||||
package model
|
||||
|
||||
import "time"
|
||||
|
||||
// WechatBinding 商户微信公众号绑定
|
||||
type WechatBinding struct {
|
||||
ID uint64 `gorm:"column:id;primaryKey;autoIncrement"`
|
||||
AppID string `gorm:"column:app_id;size:32;not null;uniqueIndex"`
|
||||
WxAppID string `gorm:"column:wx_app_id;size:32;not null"` // 微信公众号/小程序 AppID
|
||||
WxSecret string `gorm:"column:wx_secret;type:text;not null"` // AES 加密存储
|
||||
TemplateID string `gorm:"column:template_id;size:64;not null"` // 消息模板 ID
|
||||
Status int8 `gorm:"column:status;not null;default:1"`
|
||||
CreatedAt time.Time `gorm:"column:created_at;autoCreateTime:milli"`
|
||||
UpdatedAt time.Time `gorm:"column:updated_at;autoUpdateTime:milli"`
|
||||
}
|
||||
|
||||
func (WechatBinding) TableName() string { return "wechat_binding" }
|
||||
|
||||
// WechatMessageStatus 微信消息发送状态
|
||||
type WechatMessageStatus string
|
||||
|
||||
const (
|
||||
WechatMessageStatusPending WechatMessageStatus = "PENDING"
|
||||
WechatMessageStatusSuccess WechatMessageStatus = "SUCCESS"
|
||||
WechatMessageStatusFailed WechatMessageStatus = "FAILED"
|
||||
)
|
||||
|
||||
// WechatMessageLog 微信消息发送日志
|
||||
type WechatMessageLog struct {
|
||||
ID uint64 `gorm:"column:id;primaryKey;autoIncrement"`
|
||||
AppID string `gorm:"column:app_id;size:32;not null;index"`
|
||||
TradeNo string `gorm:"column:trade_no;size:32;index"`
|
||||
OpenID string `gorm:"column:open_id;size:64;not null"`
|
||||
TemplateID string `gorm:"column:template_id;size:64;not null"`
|
||||
Status WechatMessageStatus `gorm:"column:status;size:20;not null;default:PENDING"`
|
||||
ErrMsg string `gorm:"column:err_msg;size:256"`
|
||||
SentAt *time.Time `gorm:"column:sent_at"`
|
||||
CreatedAt time.Time `gorm:"column:created_at;autoCreateTime:milli"`
|
||||
}
|
||||
|
||||
func (WechatMessageLog) TableName() string { return "wechat_message_log" }
|
||||
Reference in New Issue
Block a user