package svmysql import ( "apigame/util/util-lx/lxalilog" "gorm.io/gorm" "strings" ) func Insert(obj IMysqlData, gameId string) (err error) { info := obj.MysqlInfo(gameId) db := info.DbMysql stmt := db.Session(&gorm.Session{DryRun: true}).Create(obj).Statement stmtSQL := stmt.SQL.String() sql := strings.Replace(stmtSQL, stmt.Table, info.TableName, -1) result := db.Exec(sql, stmt.Vars...) err = result.Error if err != nil { lxalilog.Errors(err, gameId) return } return } func Updates(obj IMysqlData, gameId string) (err error) { info := obj.MysqlInfo(gameId) db := info.DbMysql stmt := db.Session(&gorm.Session{DryRun: true}).Updates(obj).Statement stmtSQL := stmt.SQL.String() sql := strings.Replace(stmtSQL, stmt.Table, info.TableName, -1) result := db.Exec(sql, stmt.Vars...) err = result.Error if err != nil { lxalilog.Errors(err, gameId) return } return } func Save(obj IMysqlData, gameId string) (err error) { info := obj.MysqlInfo(gameId) db := info.DbMysql stmt := db.Session(&gorm.Session{DryRun: true}).Save(obj).Statement stmtSQL := stmt.SQL.String() sql := strings.Replace(stmtSQL, stmt.Table, info.TableName, -1) result := db.Exec(sql, stmt.Vars...) err = result.Error if err != nil { lxalilog.Errors(err, gameId) return } return } func First(obj IMysqlData, gameId string) (has bool, err error) { info := obj.MysqlInfo(gameId) db := info.DbMysql stmt := db.Session(&gorm.Session{DryRun: true}).First(obj).Statement stmtSQL := stmt.SQL.String() sql := strings.Replace(stmtSQL, stmt.Table, info.TableName, -1) result := db.Raw(sql, stmt.Vars...).Scan(obj) has = result.RowsAffected != 0 err = result.Error if err != nil { lxalilog.Errors(err, gameId) return } return } func Find(obj IMysqlData, gameId string) (has bool, err error) { info := obj.MysqlInfo(gameId) db := info.DbMysql stmt := db.Session(&gorm.Session{DryRun: true}).Find(obj).Statement stmtSQL := stmt.SQL.String() sql := strings.Replace(stmtSQL, stmt.Table, info.TableName, -1) result := db.Raw(sql, stmt.Vars...).Scan(obj) has = result.RowsAffected != 0 err = result.Error if err != nil { lxalilog.Errors(err, gameId) return } return }