dto.go 1.46 KB
package svdto

import (
	"apigame/util/utdto"
	"apigame/util/util-lx/lxalilog"
)

func InitTable(tb IDtoData, gameId string) {
	rule := tb.GetRule(gameId)
	utdto.InitTable(rule.DbMysql, tb, rule.TableName)
}

func Insert(data IDtoData, gameId string) (err error) {
	rule := data.GetRule(gameId)
	result := utdto.Insert(rule.DbMysql, data, rule.TableName)
	err = result.Error
	if err != nil {
		lxalilog.Errors(err, gameId)
		return
	}
	return
}

func Update(data IDtoData, gameId string) (err error) {
	rule := data.GetRule(gameId)
	result := utdto.Update(rule.DbMysql, data, rule.TableName)
	err = result.Error
	if err != nil {
		lxalilog.Errors(err, gameId)
		return
	}
	return
}

func Save(data IDtoData, gameId string) (err error) {
	rule := data.GetRule(gameId)
	result := utdto.Save(rule.DbMysql, data, rule.TableName)
	err = result.Error
	if err != nil {
		lxalilog.Errors(err, gameId)
		return
	}
	return
}

func First(data IDtoData, gameId string) (has bool, err error) {
	rule := data.GetRule(gameId)
	result := utdto.First(rule.DbMysql, data, rule.TableName)
	has = result.RowsAffected != 0
	err = result.Error
	if err != nil {
		lxalilog.Errors(err, gameId)
		return
	}
	return
}

func Find(data any, dataTemp IDtoData, gameId string) (has bool, err error) {
	rule := dataTemp.GetRule(gameId)
	result := utdto.Find(rule.DbMysql, data, rule.TableName)
	has = result.RowsAffected != 0
	err = result.Error
	if err != nil {
		lxalilog.Errors(err, rule.TableName)
		return
	}
	return
}