// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.

package model

import (
	"time"
)

const TableNameProduct = "product"

// Product mapped from table <product>
type Product struct {
	ID              int32      `gorm:"column:id;primaryKey;autoIncrement:true" json:"id"`
	Name            string     `gorm:"column:name;not null;comment:商品名称" json:"name"`                      // 商品名称
	ProductNo       string     `gorm:"column:product_no;not null;comment:商品编号" json:"product_no"`          // 商品编号
	BatchName       string     `gorm:"column:batch_name;not null;comment:批次名称" json:"batch_name"`          // 批次名称
	BatchNo         string     `gorm:"column:batch_no;not null;comment:立减金批次号" json:"batch_no"`            // 立减金批次号
	ActivityId      string     `gorm:"column:activity_id;not null;comment:activity_id" json:"activity_id"` // activity_id
	MchId           string     `gorm:"column:mch_id;not null;comment:商户号，创建批次的商户号" json:"mch_id"`          // 商户号，创建批次的商户号
	Channel         uint8      `gorm:"column:channel;not null;comment:1:微信 2:支付宝" json:"channel"`          // 1:微信 2:支付宝
	AvailableType   uint8      `gorm:"column:available_type;not null;comment:1:固定有效期 2:动态有效期" json:"available_type"`
	AvailableDays   uint32     `gorm:"column:available_days;not null;comment:领取后多少天内" json:"available_days"`
	Amount          int64      `gorm:"column:amount;not null;default:0" json:"amount"`
	AllBudget       int64      `gorm:"column:all_budget;not null;default:0" json:"all_budget"`
	AvailableBudget int64      `gorm:"column:available_budget;not null;default:0" json:"available_budget"`
	WarningBudget   int64      `gorm:"column:warning_budget;not null;default:0" json:"warning_budget"` // 预警预算=0不做预警
	WarningPerson   string     `gorm:"column:warning_person" json:"warning_person"`
	StartTime       *time.Time `gorm:"column:start_time;not null" json:"start_time"`
	EndTime         *time.Time `gorm:"column:end_time;not null" json:"end_time"`
	CreateTime      *time.Time `gorm:"column:create_time;not null" json:"create_time"`
	UpdateTime      *time.Time `gorm:"column:update_time" json:"update_time"`
}

// TableName Product's table name
func (*Product) TableName() string {
	return TableNameProduct
}
