Files
bl/modules/config/model/user_talk.go
昔念 026689f3ed ```
feat(cache): 添加复合键缓存操作支持

添加了基于 uint32+string 组合键的缓存操作方法,包括
GetByCompoundKey、SetByCompoundKey、DelByCompoundKey 和
ContainsByCompoundKey 方法,用于处理用户ID和会话ID的组合缓存场景

fix(vscode): 添加 cSpell 配置支持 struc 词汇

refactor(session): 移除过时的会话管理方法

移除了基于单一字符串键的会话管理方法,因为已迁移到使用
复合键的缓存操作方式
```
2026-01-19 18:51:56 +08:00

57 lines
2.6 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" // 沿用你项目中已有的基础Model包
)
// 表名常量(遵循项目现有命名规范)
const TableNameMineralCollectionConfig = "config_talk"
// MineralCollectionConfig 挖矿/采集/采摘矿产配置表Model定义
// 字段完全匹配数据表结构,包含最小/最大产出核心字段
type MineralCollectionConfig struct {
*cool.Model // 嵌入基础Model包含id(主键)、createTime、updateTime等通用字段
// MapID 矿产所在地图ID
MapID uint32 `gorm:"column:map_id;not null;index:idx_mineral_collection_config_map_id;comment:矿产所在地图ID" json:"map_id"`
Type uint32 `gorm:"column:type;not null;index:idx_mineral_collection_config_type;comment:类型" json:"type"`
// DailyCollectCount 每日可采集次数
DailyCollectCount uint32 `gorm:"column:daily_collect_count;not null;comment:每日可采集次数" json:"daily_collect_count"`
// ItemID 物品编号对应道具系统ID
ItemIDS []uint32 `gorm:"column:item_ids;type:jsonb;index:idx_mineral_collection_config_item_id;comment:物品编号对应道具系统ID" json:"item_ids"`
// ItemMinCount 单次采集最小产出数量
// ItemMinCount uint32 `gorm:"column:item_min_count;not null;comment:单次采集最小产出数量" json:"item_min_count"`
// // ItemMaxCount 单次采集最大产出数量
// ItemMaxCount uint32 `gorm:"column:item_max_count;not null;comment:单次采集最大产出数量" json:"item_max_count"`
// Description 矿产描述
Description string `gorm:"column:description;type:varchar(128); comment:矿产描述" json:"description"`
// ItemGift []*ItemGift `gorm:"-" orm:"with:item_id=id"`
}
// TableName 指定数据表名(必须匹配数据库表名,遵循项目规范)
func (*MineralCollectionConfig) TableName() string {
return TableNameMineralCollectionConfig
}
// GroupName 指定表分组(与项目现有表保持一致,默认分组)
func (*MineralCollectionConfig) GroupName() string {
return "default"
}
// NewMineralCollectionConfig 创建挖矿配置表实例初始化基础Model
// 保证通用字段createTime/updateTime被正确初始化
func NewMineralCollectionConfig() *MineralCollectionConfig {
return &MineralCollectionConfig{
Model: cool.NewModel(), // 调用基础Model的初始化方法
}
}
// init 程序启动时自动创建数据表(与项目现有表初始化逻辑一致)
// 若项目有统一的表初始化入口,可将此逻辑迁移至对应位置
func init() {
// 自动创建表(不存在则创建,已存在则不操作)
cool.CreateTable(&MineralCollectionConfig{})
}