2025-12-21 18:13:54 +00:00
|
|
|
|
package model
|
|
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
|
"blazing/cool"
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
// 表名常量定义:金豆消费记录表
|
|
|
|
|
|
const (
|
2026-01-19 18:51:56 +08:00
|
|
|
|
TableNameGoldBeanConsume = "player_gold_log" // 金豆消费记录表(记录用户金豆消耗的明细、类型、关联业务等信息)
|
2025-12-21 18:13:54 +00:00
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
// 通过金豆消费时间来确认金豆物品的购买重置周期
|
|
|
|
|
|
// GoldBeanConsume 金豆消费核心模型(与数据库表字段一一对应,存储消费明细)
|
|
|
|
|
|
type GoldBeanConsume struct {
|
2026-01-08 03:30:18 +08:00
|
|
|
|
Base
|
2025-12-21 18:13:54 +00:00
|
|
|
|
|
|
|
|
|
|
UID uint32 `gorm:"not null;default:0;index;comment:'玩家唯一ID,关联玩家表主键'" json:"uid" description:"玩家ID"`
|
|
|
|
|
|
ConsumeNum uint32 `gorm:"not null;default:0;comment:'金豆消费数量(非负数)'" json:"consume_num" description:"消费金豆数量"`
|
|
|
|
|
|
BizID uint32 `gorm:"not null;default:0;comment:'关联业务ID(如道具ID/扭蛋池ID,无则填0)'" json:"biz_id" description:"关联业务ID"`
|
|
|
|
|
|
BeforeBalance uint32 `gorm:"not null;default:0;comment:'消费前金豆余额'" json:"before_balance" description:"消费前余额"`
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// -------------------------- 核心配套方法 --------------------------
|
|
|
|
|
|
|
|
|
|
|
|
// TableName 指定GoldBeanConsume对应的数据库表名(遵循项目规范)
|
|
|
|
|
|
func (*GoldBeanConsume) TableName() string {
|
|
|
|
|
|
return TableNameGoldBeanConsume
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// GroupName 指定表所属分组(与其他精灵/玩家相关表保持一致)
|
|
|
|
|
|
func (*GoldBeanConsume) GroupName() string {
|
|
|
|
|
|
return "default"
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// NewGoldBeanConsume 创建金豆消费记录实例(初始化通用Model及默认值)
|
|
|
|
|
|
func NewGoldBeanConsume() *GoldBeanConsume {
|
|
|
|
|
|
return &GoldBeanConsume{
|
2026-01-08 03:30:18 +08:00
|
|
|
|
Base: *NewBase(),
|
2025-12-21 18:13:54 +00:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// -------------------------- 表结构自动同步 --------------------------
|
|
|
|
|
|
func init() {
|
|
|
|
|
|
// 程序启动时自动创建/同步金豆消费记录表
|
|
|
|
|
|
cool.CreateTable(&GoldBeanConsume{})
|
|
|
|
|
|
}
|