dto.go 1.36 KB
package svdto

import (
	"apigame/util/utdto"
	"apigame/util/util-lx/lxalilog"
	"gorm.io/gorm"
)

func InitTable(db *gorm.DB, tb IDtoData, gameId string) {
	tableName := tb.GetTableName(gameId)
	utdto.InitTable(db, tb, tableName)
}

func Insert(db *gorm.DB, data IDtoData, gameId string) (err error) {
	result := utdto.Insert(db, data, data.GetTableName(gameId))
	err = result.Error
	if err != nil {
		lxalilog.Errors(err, gameId)
		return
	}
	return
}

func Update(db *gorm.DB, data IDtoData, gameId string) (err error) {
	result := utdto.Update(db, data, data.GetTableName(gameId))
	err = result.Error
	if err != nil {
		lxalilog.Errors(err, gameId)
		return
	}
	return
}

func Save(db *gorm.DB, data IDtoData, gameId string) (err error) {
	result := utdto.Save(db, data, data.GetTableName(gameId))
	err = result.Error
	if err != nil {
		lxalilog.Errors(err, gameId)
		return
	}
	return
}

func First(db *gorm.DB, data IDtoData, gameId string) (has bool, err error) {
	result := utdto.First(db, data, data.GetTableName(gameId))
	has = result.RowsAffected != 0
	err = result.Error
	if err != nil {
		lxalilog.Errors(err, gameId)
		return
	}
	return
}

func Find(db *gorm.DB, data any, tableName string) (has bool, err error) {
	result := utdto.Find(db, data, tableName)
	has = result.RowsAffected != 0
	err = result.Error
	if err != nil {
		lxalilog.Errors(err, tableName)
		return
	}
	return
}