diff --git a/server/marketserver/api/v1/asset/asset.go b/server/marketserver/api/v1/asset/asset.go index 21d80241..af2faa0b 100644 --- a/server/marketserver/api/v1/asset/asset.go +++ b/server/marketserver/api/v1/asset/asset.go @@ -48,6 +48,21 @@ WHERE A.idx > %d AND A.net_id = %d AND A.owner_address=? `, } else { sql += " AND 1 <> 1 " } + } else { + lockMeta := mt.Table.Contract.GetByNetIdName(int32(netId), jccommon.CONTRACT_NAME_NFTLock) + if lockMeta != nil { + sql = fmt.Sprintf(` +SELECT A.idx, A.net_id, A.token_type, A.token_id, A.contract_address, B.status 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.owner_address=? `, + cursor, netId) + sql += " OR (A.owner_address=? AND A.last_lock_address = ? AND A.token_type <> ?))" + params = []string{ + accountAddress, + strings.ToLower(lockMeta.GetAddress()), + accountAddress, + q5.ToString(jccommon.NFT_TYPE_GOLD_BULLION)} + } } subFilters := []f5.DbQueryFilter{} {