diff --git a/server/light_backtask/service/nftutils.go b/server/light_backtask/service/nftutils.go index f0d35e54..918c24c7 100644 --- a/server/light_backtask/service/nftutils.go +++ b/server/light_backtask/service/nftutils.go @@ -218,7 +218,39 @@ func RepiarHeroQuality() error { }) } } - if resultErr == nil { + procBatchFunc := func(batch [][]string) { + if len(batch) <= 0 { + return + } + sql := "SELECT * FROM t_hero WHERE token_id IN (" + params := []string{} + tokenIdQualityHash := map[string]int32{} + for _, val := range batch { + sql += "?" + q5.AppendSlice(¶ms, val[0]) + tokenIdQualityHash[val[0]] = q5.ToInt32(val[1]) + } + f5.GetGoStyleDb().RawQuery( + constant.GAME_DB, + sql, + params, + func (err error, ds *f5.DataSet) { + + }) + } + if resultErr == nil && len(nftQuality) > 0 { + batchNftQuality := [][]string{} + for _, val := range nftQuality { + if len(batchNftQuality) < 100 { + q5.AppendSlice(&batchNftQuality, val) + } else { + procBatchFunc(batchNftQuality) + batchNftQuality = [][]string{} + } + } + if len(batchNftQuality) > 0 { + procBatchFunc(batchNftQuality) + } } return resultErr }