package base

//import (
//	"encoding/json"
//	"fmt"
//
//	"mongo.games.com/goserver/core/logger"
//	"mongo.games.com/goserver/core/module"
//
//	"mongo.games.com/game/common"
//	"mongo.games.com/game/model"
//)
//
//var XSlotsPoolMgr = &XSlotsPoolManager{
//	//SlotsPoolData: make(map[string]interface{}),
//	SlotsPoolStr: make(map[string]string),
//}
//
//type XSlotsPoolManager struct {
//	//SlotsPoolData  map[string]interface{}
//	SlotsPoolStr   map[string]string
//	SlotsPoolDBKey string
//}
//
//func (this *XSlotsPoolManager) GetPool(gamefreeId int32, platform string) string {
//	key := fmt.Sprintf("%v-%v", gamefreeId, platform)
//	if str, exist := this.SlotsPoolStr[key]; exist {
//		return str
//	}
//	return ""
//}
//
////func (this *XSlotsPoolManager) SetPool(gamefreeId int32, platform string, pool interface{}) {
////	key := fmt.Sprintf("%v-%v", gamefreeId, platform)
////	this.SlotsPoolData[key] = pool
////}
//
////func (this *XSlotsPoolManager) GetPoolByPlatform(platform string) map[string]interface{} {
////	slots := make(map[string]interface{})
////	for k, v := range this.SlotsPoolData {
////		str := strings.Split(k, "-")
////		if len(str) == 2 && str[1] == platform {
////			idStr := str[0] // gamefreeid
////			slots[idStr] = v
////		}
////	}
////	return slots
////}
//
//// //////////////////////////////////////////////////////////////////
//// / Module Implement [beg]
//// //////////////////////////////////////////////////////////////////
//func (this *XSlotsPoolManager) ModuleName() string {
//	return "XSlotsPoolManager"
//}
//
//func (this *XSlotsPoolManager) Init() {
//	this.SlotsPoolDBKey = fmt.Sprintf("XSlotsPoolManager_Srv%v", common.GetSelfSrvId())
//	data := model.GetStrKVGameData(this.SlotsPoolDBKey)
//	err := json.Unmarshal([]byte(data), &this.SlotsPoolStr)
//	if err != nil {
//		logger.Logger.Error("Unmarshal slots pool error:", err)
//	}
//}
//
//func (this *XSlotsPoolManager) Update() {
//	this.Save()
//}
//
//func (this *XSlotsPoolManager) Shutdown() {
//	this.Save()
//	module.UnregisteModule(this)
//}
//
//func (this *XSlotsPoolManager) Save() {
//	//数据先整合
//	//for k, v := range this.SlotsPoolData {
//	//	data, err := json.Marshal(v)
//	//	if err == nil {
//	//		this.SlotsPoolStr[k] = string(data)
//	//	}
//	//}
//	//再保存
//	buff, err := json.Marshal(this.SlotsPoolStr)
//	if err == nil {
//		model.UptStrKVGameData(this.SlotsPoolDBKey, string(buff))
//	} else {
//		logger.Logger.Error("Marshal coin pool error:", err)
//	}
//}
//
//func init() {
//	//module.RegisteModule(XSlotsPoolMgr, time.Minute, 0)
//}
