diff --git a/server/marketserver/api/v1/market/marketsecondary.go b/server/marketserver/api/v1/market/marketsecondary.go index 4360af97..ea3dc576 100644 --- a/server/marketserver/api/v1/market/marketsecondary.go +++ b/server/marketserver/api/v1/market/marketsecondary.go @@ -40,7 +40,7 @@ func (this *MarketApi) LockList(c *gin.Context) { pageSize := q5.AdjustRangeValue(q5.SafeToInt32(reqJson.PageSize), 1, 20) cursor := q5.SafeToInt64(reqJson.Cursor) sql := fmt.Sprintf(` -SELECT A.idx, A.net_id, A.token_type, A.token_id, A.contract_address, B.status, B.event_data FROM t_nft A LEFT JOIN t_order B +SELECT A.idx, A.net_id, A.token_type, A.token_id, A.contract_address, A.last_lock_time, B.status, B.event_data FROM t_nft A LEFT JOIN t_order B ON A.net_id = B.net_id AND A.contract_address = B.contract_address AND A.token_id = B.token_id WHERE A.idx > %d AND A.net_id = %d AND A.last_owner_address= '%s' AND A.owner_address != '%[3]s' AND A.last_owner_address = A.last_lock_address`, cursor, netId, owner) @@ -80,7 +80,7 @@ WHERE A.idx > %d AND A.net_id = %d AND A.last_owner_address= '%s' AND A.owner_ad }{} q5.NewSlice(&rspObj.Rows, 0, 10) nfts := []*common.NftDto{} - orderBy := "" + orderBy := " ORDER BY A.last_lock_time DESC " f5.GetGoStyleDb().StreamPageQuery( constant.BCNFT_DB, pageSize, @@ -99,6 +99,7 @@ WHERE A.idx > %d AND A.net_id = %d AND A.last_owner_address= '%s' AND A.owner_ad p.ContractAddress = ds.GetByName("contract_address") p.TokenId = ds.GetByName("token_id") p.Payload = map[string]interface{}{} + p.LockTime = q5.ToInt32(ds.GetByName("last_lock_time")) q5.DecodeJson(ds.GetByName("event_data"), &p.Payload) q5.AppendSlice(&nfts, p) }) @@ -107,7 +108,15 @@ WHERE A.idx > %d AND A.net_id = %d AND A.last_owner_address= '%s' AND A.owner_ad for _, val := range nfts { p := q5.NewSliceElement(&rspObj.Rows) p.Event = val.Payload - p.Nft = val.NftCache.GetJsonData() + jsonData := val.NftCache.GetJsonData() + if jsonData != nil { + if v, ok := jsonData.(map[string]interface{}); ok { + v := q5.MapClone(v) + v["last_lock_time"] = val.LockTime + jsonData = v + } + } + p.Nft = jsonData } } c.JSON(200, rspObj) diff --git a/server/marketserver/common/types.go b/server/marketserver/common/types.go index 06cebd29..ce4840ea 100644 --- a/server/marketserver/common/types.go +++ b/server/marketserver/common/types.go @@ -1,10 +1,10 @@ package common import ( - "q5" "f5" "fmt" "main/constant" + "q5" ) type NftHomeMeta struct { @@ -50,6 +50,7 @@ type NftDto struct { Price string Payload interface{} Param1 int64 + LockTime int32 } type App interface {