handle.go 1.25 KB
package ht_cardholder

import (
	"apigame/dto"
	"apigame/lx-util/lxalilog"
	"apigame/models"
	"apigame/service/constd"
	"github.com/astaxie/beego/orm"
)

func HandleInfo(req *dto.ReqHtCardHolderInfo) dto.RspHtCardHolderInfo {
	// 尝试更新配置
	TryUpdateConfigs()

	//// 测试存档
	//userData := models.NewHtCardHolderData(req.UID)
	//userData.ActivityId = Registry.Config.Id
	//userData.DetailsData.Cards[101] = 1
	//userData.DetailsData.Cards[102] = 3
	//SaveData(userData)
	//
	//// 测试读档
	//lData := LoadData(req.UID)
	//logs.Debug(lData)

	rsp := dto.RspHtCardHolderInfo{
		HtCardHolderInfo: dto.HtCardHolderInfo{
			BagList: make(map[int]int),
		},
	}

	rsp.BagList[1] = 2
	rsp.BagList[2] = 5

	return rsp
}

func SaveData(d *models.HtCardHolderData) {
	d.Encode()

	o := orm.NewOrm()
	o.Using(constd.MYSQL_DEFAULT)
	if _, err := o.InsertOrUpdate(d); err != nil {
		lxalilog.Errors(err, "ht_cardholder SaveData Error", d.Uid)
	}
}

func LoadData(uid int64) (d *models.HtCardHolderData) {
	d = models.NewHtCardHolderData(uid)
	o := orm.NewOrm()
	o.Using(constd.MYSQL_DEFAULT)
	if err := o.QueryTable(d).One(d); err != nil {
		lxalilog.Errors(err, "ht_cardholder LoadData Error", d.Uid)
	}
	d.DetailsData = models.NewHtCardHolderDataDetails()
	d.Decode()
	return
}