dto.go 923 Bytes
package dto

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

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

func Insert(db *gorm.DB, gameId string, data IDtoData) {
	utdto.Insert(db, data, data.GetTableName(gameId))
}

func Update(db *gorm.DB, gameId string, data IDtoData) {
	utdto.Update(db, data, data.GetTableName(gameId))
}

func Save(db *gorm.DB, gameId string, data IDtoData) {
	utdto.Save(db, data, data.GetTableName(gameId))
}

func First(db *gorm.DB, gameId string, data IDtoData) (has bool, err error) {
	result := utdto.First(db, data, data.GetTableName(gameId))
	err = result.Error
	if err == nil {
		has = true
	} else {
		has = false
		if strings.Contains(err.Error(), "record not found") {
			err = nil
		} else {
			lxalilog.Errors(err, gameId)
			return
		}
	}
	return
}