54 lines
1.9 KiB
Go
54 lines
1.9 KiB
Go
package model
|
||
|
||
import (
|
||
"blazing/cool"
|
||
)
|
||
|
||
// 表名常量定义:商店配置表
|
||
const (
|
||
TableNameShopConfig = "config_shop" // 商店配置表(记录商品信息、价格、库存、分类等)
|
||
)
|
||
|
||
// ShopConfig 商店商品核心配置模型
|
||
type ShopConfig struct {
|
||
*BaseConfig
|
||
// 核心字段
|
||
ProductName string `gorm:"not null;size:128;comment:'商品名称'" json:"product_name" description:"商品名称"`
|
||
//商品类型
|
||
ProductType uint32 `gorm:"not null;default:0;comment:'商品类型(0-普通商品 1-虚拟商品 2-限时商品)'" json:"product_type" description:"商品类型"`
|
||
|
||
//商品ID
|
||
ProductID int64 `gorm:"not null;uniqueIndex;comment:'商品ID'" json:"product_id" description:"商品ID"`
|
||
|
||
// 价格信息 -1代表不允许购买,0表示不支持购买
|
||
SeerdouPrice int32 `gorm:"not null;default:0;comment:'骄阳豆价格'" json:"seerdou_price" description:"骄阳豆价格"`
|
||
JindouPrice int32 `gorm:"not null;default:0;comment:'金豆价格'" json:"jindou_price" description:"金豆价格"`
|
||
|
||
// 库存信息
|
||
Stock uint32 `gorm:"not null;default:0;comment:'商品库存数量(0表示无限库存)'" json:"stock" description:"库存数量"`
|
||
|
||
// 限购信息
|
||
QuotaLimit uint32 `gorm:"not null;default:0;comment:'单位时间内的限购数量(0表示不限购)'" json:"quota_limit" description:"限购数量"`
|
||
QuotaCycle uint32 `gorm:"not null;default:0;comment:'限购周期(单位:小时,0表示不限购)'" json:"quota_cycle" description:"限购周期(小时)"`
|
||
}
|
||
|
||
// -------------------------- 核心配套方法(遵循项目规范)--------------------------
|
||
func (*ShopConfig) TableName() string {
|
||
return TableNameShopConfig
|
||
}
|
||
|
||
func (*ShopConfig) GroupName() string {
|
||
return "default"
|
||
}
|
||
|
||
func NewShopConfig() *ShopConfig {
|
||
return &ShopConfig{
|
||
BaseConfig: NewBaseConfig(),
|
||
}
|
||
}
|
||
|
||
// -------------------------- 表结构自动同步 --------------------------
|
||
func init() {
|
||
cool.CreateTable(&ShopConfig{})
|
||
}
|