Files
bl/modules/config/model/shop.go
昔念 43bec155e1 ```
feat(config): 添加服务器登录配置字段和商店商品ID字段

- 在ServerList模型中新增LoginAddr、Account、Password字段用于服务器登录配置
- 在Shiny模型中新增VoteCount字段用于记录投票次数
- 在ShopConfig模型中新增ProductID字段作为商品唯一标识
- 移除ShopConfig中不必要的CategoryID、IconURL、时间验证相关字段
- 删除ShopConfig的Validate和时间验证相关方法,简化模型
2026-01-05 01:04:52 +08:00

61 lines
2.3 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package model
import (
"blazing/cool"
)
// 表名常量定义:商店配置表
const (
TableNameShopConfig = "shop_config" // 商店配置表(记录商品信息、价格、库存、分类等)
)
// ShopConfig 商店商品核心配置模型
type ShopConfig struct {
*cool.Model `json:"-" gorm:"embedded"` // 嵌入通用ModelID/创建时间/更新时间不参与json序列化
// 核心字段
ProductName string `gorm:"not null;size:128;comment:'商品名称'" json:"product_name" description:"商品名称"`
//商品ID
ProductID uint32 `gorm:"not null;uniqueIndex;comment:'商品ID'" json:"product_id" description:"商品ID"`
Description string `gorm:"not null;size:512;comment:'商品描述'" json:"description" description:"商品描述"`
// 价格信息 -1代表不允许购买,0免费赠送
SeerdouPrice uint32 `gorm:"not null;default:0;comment:'骄阳豆价格'" json:"seerdou_price" description:"骄阳豆价格"`
JindouPrice uint32 `gorm:"not null;default:0;comment:'价格'" json:"jindou_price" description:"金豆价格"`
// 库存信息
Stock uint32 `gorm:"not null;default:0;comment:'商品库存数量0表示无限库存'" json:"stock" description:"库存数量"`
Category uint32 `gorm:"not null;size:64;comment:'商品分类名称'" json:"category" description:"分类名称"`
// 状态信息
IsOnSale uint32 `gorm:"not null;default:1;comment:'是否上架0-下架 1-上架)'" json:"is_on_sale" 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:"限购周期(小时)"`
// 备注信息
Remark string `gorm:"size:512;default:'';comment:'商品备注'" json:"remark" description:"备注信息"`
}
// -------------------------- 核心配套方法(遵循项目规范)--------------------------
func (*ShopConfig) TableName() string {
return TableNameShopConfig
}
func (*ShopConfig) GroupName() string {
return "default"
}
func NewShopConfig() *ShopConfig {
return &ShopConfig{
Model: cool.NewModel(),
}
}
// -------------------------- 表结构自动同步 --------------------------
func init() {
cool.CreateTable(&ShopConfig{})
}