feat(cache): 添加复合键缓存操作支持 添加了基于 uint32+string 组合键的缓存操作方法,包括 GetByCompoundKey、SetByCompoundKey、DelByCompoundKey 和 ContainsByCompoundKey 方法,用于处理用户ID和会话ID的组合缓存场景 fix(vscode): 添加 cSpell 配置支持 struc 词汇 refactor(session): 移除过时的会话管理方法 移除了基于单一字符串键的会话管理方法,因为已迁移到使用 复合键的缓存操作方式 ```
47 lines
1.8 KiB
Go
47 lines
1.8 KiB
Go
package model
|
||
|
||
import (
|
||
"blazing/cool"
|
||
)
|
||
|
||
// 表名常量定义:金豆消费记录表
|
||
const (
|
||
TableNameGoldBeanConsume = "player_gold_log" // 金豆消费记录表(记录用户金豆消耗的明细、类型、关联业务等信息)
|
||
)
|
||
|
||
// 通过金豆消费时间来确认金豆物品的购买重置周期
|
||
// GoldBeanConsume 金豆消费核心模型(与数据库表字段一一对应,存储消费明细)
|
||
type GoldBeanConsume struct {
|
||
Base
|
||
|
||
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{
|
||
Base: *NewBase(),
|
||
}
|
||
}
|
||
|
||
// -------------------------- 表结构自动同步 --------------------------
|
||
func init() {
|
||
// 程序启动时自动创建/同步金豆消费记录表
|
||
cool.CreateTable(&GoldBeanConsume{})
|
||
}
|