Files
bl/modules/player/model/gold_log.go
xinian 75cfc7bcb1
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
feat: 添加金豆消费记录功能
添加金豆消费记录表和相关服务,用于记录用户金豆消耗明细
在购买逻辑中预留记录消费的注释位置
2026-02-23 07:47:06 +08:00

52 lines
2.1 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 (
TableNameGoldBeanConsume = "player_gold_log" // 金豆消费记录表(记录用户金豆消耗的明细、类型、关联业务等信息)
)
// 通过金豆消费时间来确认金豆物品的购买重置周期
// GoldBeanConsume 金豆消费核心模型(与数据库表字段一一对应,存储消费明细)
type GoldBeanConsume struct {
*cool.Model
PlayerID uint64 `gorm:"not null;uniqueIndex;index:idx_pet_by_player_id;comment:'所属玩家ID'" json:"player_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"`
///消费年份
Year uint32 `gorm:"not null;default:0;comment:'消费年份'" json:"year" description:"消费年份"`
//消费时间,由月-周-日组成,判断金豆物品的购买重置周期
Consume []uint32 `gorm:"type:jsonb; comment:'消费时间'" json:"consume" description:"消费时间"`
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{
Model: cool.NewModel(),
}
}
// -------------------------- 表结构自动同步 --------------------------
func init() {
// 程序启动时自动创建/同步金豆消费记录表
cool.CreateTable(&GoldBeanConsume{})
}