package models import "github.com/mhaya/game/game_cluster/internal/data" type InviteReward struct { IsClaim int `json:"isClaim" bson:"isClaim"` Reward []data.ItemReward `json:"reward" bson:"reward"` RewardTime int64 `json:"rewardTime" bson:"rewardTime"` } type Invite map[int]*InviteModel type InviteModel struct { Type int `json:"type" bson:"type"` //2普通3会员 Num int `json:"num" bson:"num"` Reward map[int]*data.ItemReward `json:"reward" bson:"reward"` } func NewInvite() map[int]*InviteModel { var invite = make(map[int]*InviteModel) invite[InvitePlayer] = &InviteModel{ Type: InvitePlayer, Num: 0, } invite[InvitePlayer].Reward = make(map[int]*data.ItemReward) invite[InviteVipPlayer] = &InviteModel{ Type: InviteVipPlayer, Num: 0, } invite[InviteVipPlayer].Reward = make(map[int]*data.ItemReward) return invite } func (i Invite) Set(tp int, reward []data.ItemReward) { if _, ok := i[tp]; ok { i[tp].Num += 1 for _, v := range reward { if _, ok := i[tp].Reward[v.ItemID]; ok { i[tp].Reward[v.ItemID].Amount = v.Amount } else { i[tp].Reward[v.ItemID] = &v } } } }