package gmodel

import (
	"gorm.io/gorm"
	"time"
)

// fs_message_log 消息记录表
type FsMessageLog struct {
	Id         int64      `gorm:"primary_key;default:0;auto_increment;" json:"id"` // ID
	Type       *string    `gorm:"default:'';" json:"type"`                         //
	Channel    *string    `gorm:"default:'';" json:"channel"`                      // 发送途径:sm=短信 email=邮件 feishu=飞书
	Module     *string    `gorm:"default:'';" json:"module"`                       //
	Source     *string    `gorm:"default:'';" json:"source"`                       //
	Sender     *string    `gorm:"default:'';" json:"sender"`                       //
	Receiver   *string    `gorm:"default:'';" json:"receiver"`                     //
	TemplateSn *string    `gorm:"default:'';" json:"template_sn"`                  //
	Title      *string    `gorm:"default:'';" json:"title"`                        //
	Content    *[]byte    `gorm:"default:'';" json:"content"`                      //
	Status     *int64     `gorm:"default:0;" json:"status"`                        // 状态:0=未发送 1=已发送
	Metadata   *[]byte    `gorm:"default:'';" json:"metadata"`                     //
	IsDel      *int64     `gorm:"default:0;" json:"is_del"`                        // 是否删除
	Ctime      *time.Time `gorm:"default:'0000-00-00 00:00:00';" json:"ctime"`     //
	Utime      *time.Time `gorm:"default:'0000-00-00 00:00:00';" json:"utime"`     //
}
type FsMessageLogModel struct {
	db   *gorm.DB
	name string
}

func NewFsMessageLogModel(db *gorm.DB) *FsMessageLogModel {
	return &FsMessageLogModel{db: db, name: "fs_message_log"}
}