dto-record.go 1.9 KB
package roomrank

import (
	"apigame/service-common/svconst"
	"apigame/service-common/svmysql"
	"apigame/util/util-lx/lxtime"
	"fmt"
)

// RecordBase 日志公共
type RecordBase struct {
	Id         int64 `gorm:"primaryKey;comment:日志ID"`
	Uid        int64 `gorm:"comment:玩家唯一ID"`
	ActivityId int64 `gorm:"comment:当前活动ID"`
	CreateTime int64 `gorm:"comment:创建时间戳"`
	UpdateTime int64 `gorm:"comment:修改时间戳"`
}

func NewRecordBase(uid int64, activityId int64) RecordBase {
	secNow := lxtime.NowUninx()
	return RecordBase{
		CreateTime: secNow,
		UpdateTime: secNow,
		Uid:        uid,
		ActivityId: activityId,
	}
}

// RecordGetSettleAward 领取上期结算奖励
type RecordGetSettleAward struct {
	RecordBase
	Award string `gorm:"type:varchar(255);comment:奖励内容"`
}

func (d *RecordGetSettleAward) MysqlInfo(suffix string) *svmysql.MysqlInfo {
	tableName := svconst.MYSQL_TABLE_S_ROOMRANK_RECORD_SETTLEAWARD
	return &svmysql.MysqlInfo{
		DbMysql:   svconst.DbCommon,
		TableName: fmt.Sprintf("%s_%s", tableName, suffix),
	}
}

func NewRecordGetSettleAward(recordBase RecordBase,
	award string) *RecordGetSettleAward {
	return &RecordGetSettleAward{
		RecordBase: recordBase,
		Award:      award,
	}
}

// RecordAddScore 房间排行增加积分
type RecordAddScore struct {
	RecordBase
	AddScore int64 `gorm:"comment:增加积分"`
	OldScore int64 `gorm:"comment:旧积分"`
	NewScore int64 `gorm:"comment:新积分"`
}

func (d *RecordAddScore) MysqlInfo(suffix string) *svmysql.MysqlInfo {
	tableName := svconst.MYSQL_TABLE_S_ROOMRANK_RECORD_ADDSCORE
	return &svmysql.MysqlInfo{
		DbMysql:   svconst.DbCommon,
		TableName: fmt.Sprintf("%s_%s", tableName, suffix),
	}
}

func NewRecordAddScore(recordBase RecordBase,
	addScore, oldScore, newScore int64) *RecordAddScore {
	return &RecordAddScore{
		RecordBase: recordBase,
		AddScore:   addScore,
		OldScore:   oldScore,
		NewScore:   newScore,
	}
}