You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

66 lines
3.3 KiB

4 weeks ago
package model
import (
"database/sql/driver"
"encoding/json"
"github.com/shopspring/decimal"
)
type BannedWords struct {
Id int64 `gorm:"primary_key;column:id" json:"id"` // 违禁词ID`
Word string `gorm:"column:word" json:"word"` // 违禁词内容`
Category string `gorm:"column:category" json:"category"` // 违禁词分类`
Description string `gorm:"column:description" json:"description"` // 违禁词描述(可选)`
UserId int64 `gorm:"column:user_id" json:"userId"` // 用户IDNULL 表示系统默认违禁词`
CreateTime int64 `gorm:"column:create_time" json:"createTime"` // 创建时间戳`
}
func (BannedWords) TableName() string {
return "banned_words"
}
type UserConfig struct {
Id int64 `gorm:"primary_key;column:id" json:"id"` // 用户配置ID`
Uid int64 `gorm:"column:uid" json:"uid"` // 用户ID关联用户表`
ExchangeRates UserConfigChild `gorm:"column:exchange_rates" json:"exchangeRates"` // 汇率配置,存储不同货币的汇率`
PriceMultiplier decimal.Decimal `gorm:"column:price_multiplier;default:4.00" json:"priceMultiplier"` // 上品价格上浮倍率`
MinStock int64 `gorm:"column:min_stock;default:30" json:"minStock"` // 最小库存,低于该库存不允许上品`
FixedStock int64 `gorm:"column:fixed_stock" json:"fixedStock"` // 固定库存值NULL 表示未设置`
EnableDeduplication string `gorm:"column:enable_deduplication;default:'0'" json:"enableDeduplication"` // 是否启用去重检查`
DefaultSize UserConfigChild `gorm:"column:default_size" json:"defaultSize"` // 默认尺寸配置,存储长、宽、高、重量等`
EnableBlacklistFilter string `gorm:"column:enable_blacklist_filter;default:'0'" json:"enableBlacklistFilter"` // 是否启用违禁词过滤`
ImportSource string `gorm:"column:import_source;default:'system'" json:"importSource"` // 导入方式`
ExtraConfig ExtraConfig `gorm:"column:extra_config" json:"extraConfig"` // 额外的扩展配置`
CreateTime int64 `gorm:"column:create_time" json:"createTime"` // 创建时间戳`
UpdateTime int64 `gorm:"column:update_time" json:"updateTime"` // 更新时间戳`
}
func (UserConfig) TableName() string {
return "user_config"
}
type ExtraConfig struct {
}
func (j *ExtraConfig) Scan(value interface{}) error {
return json.Unmarshal(value.([]byte), &j)
}
func (j ExtraConfig) Value() (driver.Value, error) {
return json.Marshal(j)
}
type UserConfigChild struct {
Data []struct {
Code string `json:"code"`
Num decimal.Decimal `json:"num"`
Unit string `json:"unit"`
} `json:"data"`
}
func (j *UserConfigChild) Scan(value interface{}) error {
return json.Unmarshal(value.([]byte), &j)
}
func (j UserConfigChild) Value() (driver.Value, error) {
return json.Marshal(j)
}