package model

import (
	"blazing/cool"
)

const TableNamePlayerBagItem = "player_bag_item"

// PlayerBagItem mapped from table <player_bag_item>
type Item struct {
	*cool.Model
	PlayerID uint64 `gorm:"not null;index:idx_player_bag_item_by_player_id;comment:'所属玩家ID'" json:"player_id"`
	Data     string ` gorm:"type:text;not null;comment:'全部数据'" json:"data"`
}
type ItemEX struct {
	Item
	Data map[uint32]SingleItemInfo `orm:"data" json:"data"`
}

type SingleItemInfo struct {
	// 物品Id，
	ItemId uint32 `json:"itemId"`
	// 物品数量，
	ItemCnt uint32 `json:"itemCnt"`
	// 固定值360000，
	LeftTime uint32 `json:"leftTime"`
	// 固定值0，
	ItemLevel uint32 `json:"itemLevel"`
}

// TableName PlayerBagItem's table name
func (*Item) TableName() string {
	return TableNamePlayerBagItem
}

// GroupName PlayerBagItem's table group
func (*Item) GroupName() string {
	return "default"
}

// NewPlayerBagItem create a new PlayerBagItem
func NewPlayerBag() *Item {
	return &Item{
		Model: cool.NewModel(),
	}
}

// init 创建表
func init() {
	cool.CreateTable(&Item{})
}
