package model

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

// ApprovalWork 审批绑定画作表
type ApprovalWork struct {
	ID            uint64                `gorm:"primaryKey;column:id" json:"id"`             // ID
	DeletedAt     soft_delete.DeletedAt `gorm:"column:deleted_at" json:"deletedAt"`         // 删除时间
	CreatedAt     time.Time             `gorm:"column:created_at" json:"createdAt"`         // 创建时间
	UpdatedAt     time.Time             `gorm:"column:updated_at" json:"updatedAt"`         // 更新时间
	ApprovalID    uint64                `gorm:"column:approval_id" json:"approvalId"`       // 申请的id
	WorkID        uint64                `gorm:"column:work_id" json:"workId"`               // 作品类型id
	ArtworkID     uint64                `gorm:"column:artwork_id" json:"artworkId"`         // 作品id
	ArtworkName   string                `gorm:"column:artwork_name" json:"artworkName"`     // 作品名称
	ArtistName    string                `gorm:"column:artist_name" json:"artistName"`       // 作家名称
	ArtworkCover  string                `gorm:"column:artwork_cover" json:"artworkCover"`   // 作品封面
	ArtworkNumber uint64                `gorm:"column:artwork_number" json:"artworkNumber"` // 作品序号

	ArtistUID string `gorm:"type:varchar(50);column:artist_uid;default:'';comment:作家id" json:"artistUID"` // 作品封面
	ShowSeq   string `gorm:"type:varchar(50);column:show_seq;default:'';comment:序号" json:"showSeq"`       // 作品封面
}

// TableName get sql table name.获取数据库表名
func (m *ApprovalWork) TableName() string {
	return "approval_work"
}

// ApprovalWorkColumns get sql column name.获取数据库列名
var ApprovalWorkColumns = struct {
	ID            string
	DeletedAt     string
	CreatedAt     string
	UpdatedAt     string
	ApprovalID    string
	WorkID        string
	ArtworkID     string
	ArtworkName   string
	ArtistName    string
	ArtworkCover  string
	ArtworkNumber string
}{
	ID:            "id",
	DeletedAt:     "deleted_at",
	CreatedAt:     "created_at",
	UpdatedAt:     "updated_at",
	ApprovalID:    "approval_id",
	WorkID:        "work_id",
	ArtworkID:     "artwork_id",
	ArtworkName:   "artwork_name",
	ArtistName:    "artist_name",
	ArtworkCover:  "artwork_cover",
	ArtworkNumber: "artwork_number",
}