diff --git a/server/marketserver/api/v1/market/marketsecondary.go b/server/marketserver/api/v1/market/marketsecondary.go index ea3dc576..09336a8c 100644 --- a/server/marketserver/api/v1/market/marketsecondary.go +++ b/server/marketserver/api/v1/market/marketsecondary.go @@ -23,6 +23,7 @@ func (this *MarketApi) LockList(c *gin.Context) { } `json:"search"` Filter struct { ItemIds []interface{} `json:"item_ids"` + HeroRanks []interface{} `json:"hero_ranks"` } `json:"filter"` Sort struct { Fields [] struct { @@ -67,6 +68,27 @@ WHERE A.idx > %d AND A.net_id = %d AND A.last_owner_address= '%s' AND A.owner_ad inSub += ")" q5.AppendSlice(&subFilters, f5.GetDbFilter().Custom(inSub).And()) } + } + { + heroRanks := map[int32]int32{} + for _, val := range(reqJson.Filter.HeroRanks) { + rank := q5.SafeToInt32(val) + heroRanks[rank] = 1 + } + if len(heroRanks) > 0 { + inSub := `hero_quality IN (` + i := 0 + for key, _ := range(heroRanks) { + if i == 0 { + inSub += q5.ToString(key) + } else { + inSub += "," + q5.ToString(key) + } + i += 1 + } + inSub += ")" + q5.AppendSlice(&subFilters, f5.GetDbFilter().Custom(inSub).And()) + } } rspObj := struct {