diff --git a/srvdata/gamedropmgr.go b/srvdata/gamedropmgr.go index 557d4a3..915270c 100644 --- a/srvdata/gamedropmgr.go +++ b/srvdata/gamedropmgr.go @@ -76,9 +76,9 @@ func (this *GameDropMgr) GetDropInfoByBaseScore(gameId, baseCoin int32) []*GameD i := sort.Search(len(arr), func(i int) bool { return arr[i].BaseCoin > int64(baseCoin) }) - if i < len(arr) && i > 0 { - n := arr[i-1].BaseCoin - for i := i - 1; i >= 0; i-- { + + f := func(n int64, i int) { + for ; i >= 0; i-- { if arr[i].BaseCoin == n { ret = append(ret, arr[i]) } else { @@ -86,5 +86,21 @@ func (this *GameDropMgr) GetDropInfoByBaseScore(gameId, baseCoin int32) []*GameD } } } + + // 找到 + if i < len(arr) && i > 0 { + n := arr[i-1].BaseCoin + f(n, i-1) + } + + if len(ret) == 0 { + // 没找到,最大底注是否可用 + i = len(arr) - 1 + n := arr[i].BaseCoin + if n <= int64(baseCoin) { + f(n, i) + } + } + return ret }