From 06c3f71cb0054889c063e9831132b63754a53601 Mon Sep 17 00:00:00 2001 From: Tobeyw Date: Mon, 10 Jul 2023 14:41:09 +0800 Subject: [PATCH] fix sort --- neo3fura_http/biz/api/src.GetNFTByAssetSeries.go | 1 + neo3fura_http/biz/api/src.GetNFTClass.go | 11 ++++++----- neo3fura_http/biz/api/src.GetNFTList.go | 15 +++++++++++++-- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/neo3fura_http/biz/api/src.GetNFTByAssetSeries.go b/neo3fura_http/biz/api/src.GetNFTByAssetSeries.go index a7bb88e..e5379ec 100644 --- a/neo3fura_http/biz/api/src.GetNFTByAssetSeries.go +++ b/neo3fura_http/biz/api/src.GetNFTByAssetSeries.go @@ -85,6 +85,7 @@ func (me *T) GetNFTByAssetClass(args struct { }, "as": "market"}, }, + bson.M{"$sort": bson.M{"tokenid": 1}}, bson.M{"$skip": args.Skip}, bson.M{"$limit": args.Limit}, }, diff --git a/neo3fura_http/biz/api/src.GetNFTClass.go b/neo3fura_http/biz/api/src.GetNFTClass.go index 0c8a7bb..f997d9d 100644 --- a/neo3fura_http/biz/api/src.GetNFTClass.go +++ b/neo3fura_http/biz/api/src.GetNFTClass.go @@ -73,7 +73,7 @@ func (me *T) GetNFTClass(args struct { bson.M{"$eq": []interface{}{"$tokenid", "$$tokenid"}}, bson.M{"$eq": []interface{}{"$asset", "$$asset"}}, }}}}, - //bson.M{"$sort":bson.M{"timestamp":1}}, + bson.M{"$sort": bson.M{"timestamp": 1}}, }, "as": "marketNotification"}, }, @@ -144,7 +144,8 @@ func (me *T) GetNFTClass(args struct { count++ } } - item["claimed"] = len(groupinfo) - count + + item["claimed"] = len(groupinfo) - count // 下次给可以改成 item["left] asset := item["asset"].(string) tokenid := item["tokenid"].(string) @@ -268,13 +269,13 @@ func GetNFTState(info map[string]interface{}, primarymarket interface{}) map[str info["currentBidAmount"] = info["bidAmount"] info["currentBidAmount"] = info["auctionAsset"] - if deadline > currentTime && market != nil && market.(string) == primarymarket.(h160.T).Val() { + if deadline > currentTime && market != nil && market.(string) == primarymarket.(h160.T).Val() { //上架 if auctionType == 1 { info["state"] = "sale" // } else if auctionType == 2 { info["state"] = "auction" } - } else if deadline <= currentTime && market != nil && market.(string) == primarymarket.(h160.T).Val() { + } else if deadline <= currentTime && market != nil && market.(string) == primarymarket.(h160.T).Val() { //过期 if auctionType == 2 && bidAmount != "0" { info["state"] = "soldout" //竞拍有人出价 } else { @@ -288,7 +289,7 @@ func GetNFTState(info map[string]interface{}, primarymarket interface{}) map[str info["state"] = "" } } else { - info["state"] = "no" + info["state"] = "" } //delete(info, "bidAmount") diff --git a/neo3fura_http/biz/api/src.GetNFTList.go b/neo3fura_http/biz/api/src.GetNFTList.go index aea9d47..0d84fa8 100644 --- a/neo3fura_http/biz/api/src.GetNFTList.go +++ b/neo3fura_http/biz/api/src.GetNFTList.go @@ -39,7 +39,7 @@ func (me *T) GetNFTList(args struct { currentTime := time.Now().UnixNano() / 1e6 pipeline := []bson.M{} if args.Limit == 0 { - args.Limit = 12 + args.Limit = 50 } rt := os.ExpandEnv("${RUNTIME}") var nns, polemen, genesis string @@ -176,7 +176,7 @@ func (me *T) GetNFTList(args struct { }, "as": "properties"}, }, - {"$sort": bson.M{"bidAmount": 1, "auctionAmount": 1}}, + {"$sort": bson.M{"tokenid": 1, "bidAmount": 1, "auctionAmount": 1}}, bson.M{"$group": bson.M{"_id": bson.M{"asset": "$asset", "class": "$properties.class"}, "asset": bson.M{"$last": "$asset"}, "tokenid": bson.M{"$last": "$tokenid"}, "deadline": bson.M{"$last": "$deadline"}, "auctionAmount": bson.M{"$last": "$auctionAmount"}, "timestamp": bson.M{"$last": "$timestamp"}, "propertiesArr": bson.M{"$push": "$$ROOT"}}}, bson.M{"$project": bson.M{"_id": 1, "properties": 1, "asset": 1, "tokenid": 1, "propertiesArr": 1, "auctionAmount": 1, "deadline": 1, "timestamp": 1}}, } @@ -425,6 +425,17 @@ func isHttp(class string) bool { return false } +func isIpfs(class string) bool { + if len(class) > 4 { + str := class[:4] + if str == "ipfs" { + return true + } + } + + return false +} + func ReSetProperties(p map[string]interface{}) (map[string]interface{}, error) { asset := p["asset"].(string) tokenid := p["tokenid"].(string)