记得上下班打卡 | git大法好,push需谨慎

Commit 93f8b47d authored by anjiabin's avatar anjiabin

实现百度链转让

parent 673fea01
package com.liquidnet.service.galaxy.dto; package com.liquidnet.service.galaxy.dto;
import com.liquidnet.service.galaxy.dto.param.GalaxyQueryUserTradeAllListRespDto;
import lombok.Data; import lombok.Data;
/** /**
...@@ -61,4 +62,14 @@ public class TradeInfoDto { ...@@ -61,4 +62,14 @@ public class TradeInfoDto {
* 交易类别, 1:发行 2:购买 3:转移 4:设置价格 5:设置状态 * 交易类别, 1:发行 2:购买 3:转移 4:设置价格 5:设置状态
*/ */
private Integer txType; private Integer txType;
private static final TradeInfoDto obj = new TradeInfoDto();
public static TradeInfoDto getNew() {
try {
return (TradeInfoDto) obj.clone();
} catch (CloneNotSupportedException e) {
return new TradeInfoDto();
}
}
} }
...@@ -24,6 +24,10 @@ public class GalaxyQueryUserTradeAllListReqDto extends GalaxyBaseReqDto implemen ...@@ -24,6 +24,10 @@ public class GalaxyQueryUserTradeAllListReqDto extends GalaxyBaseReqDto implemen
@NotBlank(message = "区块链地址不能为空!") @NotBlank(message = "区块链地址不能为空!")
private String blockChainAddress; private String blockChainAddress;
@ApiModelProperty(position = 1, required = true, value = "nftId")
@NotBlank(message = "nftId不能为空!")
private String nftId;
@Override @Override
public String toString(){ public String toString(){
return JsonUtils.toJson(this); return JsonUtils.toJson(this);
......
...@@ -14,6 +14,7 @@ import com.liquidnet.service.galaxy.dto.param.*; ...@@ -14,6 +14,7 @@ import com.liquidnet.service.galaxy.dto.param.*;
*/ */
public interface IGalaxyTradeQueryService { public interface IGalaxyTradeQueryService {
ResponseDto<GalaxyQueryNftInfoRespDto> queryNftInfo(GalaxyQueryNftInfoReqDto reqDto); ResponseDto<GalaxyQueryNftInfoRespDto> queryNftInfo(GalaxyQueryNftInfoReqDto reqDto);
ResponseDto<GalaxyQueryNftInfoRespDto> queryTransNftInfo(GalaxyQueryNftInfoReqDto reqDto);
ResponseDto<GalaxyQueryNftTradeListRespDto> queryNftTradeList(GalaxyQueryNftTradeListReqDto reqDto); ResponseDto<GalaxyQueryNftTradeListRespDto> queryNftTradeList(GalaxyQueryNftTradeListReqDto reqDto);
ResponseDto<GalaxyQuerySeriesInfoRespDto> querySeriesInfo(GalaxyQuerySeriesInfoReqDto reqDto); ResponseDto<GalaxyQuerySeriesInfoRespDto> querySeriesInfo(GalaxyQuerySeriesInfoReqDto reqDto);
ResponseDto<GalaxyQueryUserSeriesNftListRespDto> queryUserSeriesNftList(GalaxyQueryUserSeriesNftListReqDto reqDto); ResponseDto<GalaxyQueryUserSeriesNftListRespDto> queryUserSeriesNftList(GalaxyQueryUserSeriesNftListReqDto reqDto);
......
...@@ -43,10 +43,18 @@ public class GalaxyTradeQueryController { ...@@ -43,10 +43,18 @@ public class GalaxyTradeQueryController {
return galaxyTradeQueryService.queryNftInfo(reqDto); return galaxyTradeQueryService.queryNftInfo(reqDto);
} }
@ControllerLog(description = "NFT转让信息查询")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "NFT转让信息查询(xuper)")
@PostMapping(value = {"queryTransNftInfo"})
public ResponseDto<GalaxyQueryNftInfoRespDto> queryTransNftInfo(@Valid @RequestBody GalaxyQueryNftInfoReqDto reqDto){
return galaxyTradeQueryService.queryTransNftInfo(reqDto);
}
@ControllerLog(description = "单个NFT交易信息查询") @ControllerLog(description = "单个NFT交易信息查询")
@ApiOperationSupport(order = 1) @ApiOperationSupport(order = 1)
@ApiOperation(value = "单个NFT交易信息查询") @ApiOperation(value = "单个NFT交易信息查询(zxinchain)")
@PostMapping(value = {"queryNftTradeList"}) @PostMapping(value = {"queryNftTradeList"})
ResponseDto<GalaxyQueryNftTradeListRespDto> queryNftTradeList(@Valid @RequestBody GalaxyQueryNftTradeListReqDto reqDto){ ResponseDto<GalaxyQueryNftTradeListRespDto> queryNftTradeList(@Valid @RequestBody GalaxyQueryNftTradeListReqDto reqDto){
return galaxyTradeQueryService.queryNftTradeList(reqDto); return galaxyTradeQueryService.queryNftTradeList(reqDto);
...@@ -62,7 +70,7 @@ public class GalaxyTradeQueryController { ...@@ -62,7 +70,7 @@ public class GalaxyTradeQueryController {
@ControllerLog(description = "用户系列NFT查询") @ControllerLog(description = "用户系列NFT查询")
@ApiOperationSupport(order = 1) @ApiOperationSupport(order = 1)
@ApiOperation(value = "用户系列NFT查询") @ApiOperation(value = "用户系列NFT查询(zxinchain)")
@PostMapping(value = {"queryUserSeriesNftList"}) @PostMapping(value = {"queryUserSeriesNftList"})
ResponseDto<GalaxyQueryUserSeriesNftListRespDto> queryUserSeriesNftList(@Valid @RequestBody GalaxyQueryUserSeriesNftListReqDto reqDto){ ResponseDto<GalaxyQueryUserSeriesNftListRespDto> queryUserSeriesNftList(@Valid @RequestBody GalaxyQueryUserSeriesNftListReqDto reqDto){
return galaxyTradeQueryService.queryUserSeriesNftList(reqDto); return galaxyTradeQueryService.queryUserSeriesNftList(reqDto);
...@@ -78,7 +86,7 @@ public class GalaxyTradeQueryController { ...@@ -78,7 +86,7 @@ public class GalaxyTradeQueryController {
@ControllerLog(description = "用户所有进NFT信息查询") @ControllerLog(description = "用户所有进NFT信息查询")
@ApiOperationSupport(order = 1) @ApiOperationSupport(order = 1)
@ApiOperation(value = "用户所有进NFT信息查询") @ApiOperation(value = "用户所有进NFT信息查询(zxinchain)")
@PostMapping(value = {"queryUserTradeInList"}) @PostMapping(value = {"queryUserTradeInList"})
ResponseDto<GalaxyQueryUserTradeInListRespDto> queryUserTradeInList(@Valid @RequestBody GalaxyQueryUserTradeInListReqDto reqDto){ ResponseDto<GalaxyQueryUserTradeInListRespDto> queryUserTradeInList(@Valid @RequestBody GalaxyQueryUserTradeInListReqDto reqDto){
return galaxyTradeQueryService.queryUserTradeInList(reqDto); return galaxyTradeQueryService.queryUserTradeInList(reqDto);
...@@ -86,7 +94,7 @@ public class GalaxyTradeQueryController { ...@@ -86,7 +94,7 @@ public class GalaxyTradeQueryController {
@ControllerLog(description = "用户所有出NFT信息查询") @ControllerLog(description = "用户所有出NFT信息查询")
@ApiOperationSupport(order = 1) @ApiOperationSupport(order = 1)
@ApiOperation(value = "用户所有出NFT信息查询") @ApiOperation(value = "用户所有出NFT信息查询(zxinchain)")
@PostMapping(value = {"queryUserTradeOutList"}) @PostMapping(value = {"queryUserTradeOutList"})
ResponseDto<GalaxyQueryUserTradeOutListRespDto> queryUserTradeOutList(@Valid @RequestBody GalaxyQueryUserTradeOutListReqDto reqDto){ ResponseDto<GalaxyQueryUserTradeOutListRespDto> queryUserTradeOutList(@Valid @RequestBody GalaxyQueryUserTradeOutListReqDto reqDto){
return galaxyTradeQueryService.queryUserTradeOutList(reqDto); return galaxyTradeQueryService.queryUserTradeOutList(reqDto);
......
...@@ -10,14 +10,20 @@ import com.liquidnet.commons.lang.util.JsonUtils; ...@@ -10,14 +10,20 @@ import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.commons.lang.util.StringUtil; import com.liquidnet.commons.lang.util.StringUtil;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.galaxy.constant.GalaxyErrorEnum; import com.liquidnet.service.galaxy.constant.GalaxyErrorEnum;
import com.liquidnet.service.galaxy.dto.TradeInfoDto;
import com.liquidnet.service.galaxy.dto.bo.GalaxyNftOrderBo; import com.liquidnet.service.galaxy.dto.bo.GalaxyNftOrderBo;
import com.liquidnet.service.galaxy.dto.bo.GalaxySeriesNftInfoBo; import com.liquidnet.service.galaxy.dto.bo.GalaxySeriesNftInfoBo;
import com.liquidnet.service.galaxy.dto.bo.GalaxyTransferNftInfoBo;
import com.liquidnet.service.galaxy.dto.param.*; import com.liquidnet.service.galaxy.dto.param.*;
import com.liquidnet.service.galaxy.router.strategy.IGalaxyRouterStrategyTradeQuery;
import com.liquidnet.service.galaxy.utils.GalaxyDataUtils; import com.liquidnet.service.galaxy.utils.GalaxyDataUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
/** /**
* @author AnJiabin <anjiabin@zhengzai.tv> * @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0 * @version V1.0
...@@ -29,7 +35,7 @@ import org.springframework.stereotype.Component; ...@@ -29,7 +35,7 @@ import org.springframework.stereotype.Component;
*/ */
@Slf4j @Slf4j
@Component @Component
public class XuperTradeQueryBiz { public class XuperTradeQueryBiz implements IGalaxyRouterStrategyTradeQuery {
@Autowired @Autowired
private XuperSdkUtil xuperSdkUtil; private XuperSdkUtil xuperSdkUtil;
@Autowired @Autowired
...@@ -112,6 +118,79 @@ public class XuperTradeQueryBiz { ...@@ -112,6 +118,79 @@ public class XuperTradeQueryBiz {
} }
} }
public ResponseDto<GalaxyQueryNftInfoRespDto> queryTransNftInfo(GalaxyQueryNftInfoReqDto reqDto) {
//获取订单信息
GalaxyTransferNftInfoBo transferNftInfoBo = dataUtils.getGalaxyTransferNftInfoBo(reqDto.getRouterType(),reqDto.getNftOrderPayId());
if(StringUtil.isNull(transferNftInfoBo)){
return ResponseDto.failure(GalaxyErrorEnum.NFT_QUERY_FAIL_ORDER_NOT_EXIST.getCode(),GalaxyErrorEnum.NFT_QUERY_FAIL_ORDER_NOT_EXIST.getMessage());
}
if(StringUtil.isEmpty(transferNftInfoBo.getNftId())){
return ResponseDto.failure(GalaxyErrorEnum.NFT_QUERY_FAIL_NFT_NOT_EXIST.getCode(),GalaxyErrorEnum.NFT_QUERY_FAIL_NFT_NOT_EXIST.getMessage());
}
//执行资产碎片授予查询
Xuper010QuerySdsReqDto xuper010QuerySdsReqDto = Xuper010QuerySdsReqDto.getNew();
// 定义返回结果对象
Xuper010QuerySdsRespDto xuper010QuerySdsRespDto = null;
try {
//资产id
Long assetId = null;
//碎片id
Long shardId = null;
String nftId = transferNftInfoBo.getNftId();
if(StringUtil.isNotEmpty(nftId)){
assetId = Long.parseLong(nftId.substring(0,nftId.lastIndexOf("_")));
shardId = Long.parseLong(nftId.substring(nftId.lastIndexOf("_")+1,nftId.length()));
}
xuper010QuerySdsReqDto.setAssetId(assetId);
xuper010QuerySdsReqDto.setShardId(shardId);
XuperResponseDto<Xuper010QuerySdsRespDto> xuperResponseDto = xuperSdkUtil.xuper010QuerySds(xuper010QuerySdsReqDto);
if(xuperResponseDto.isSuccess()){
xuper010QuerySdsRespDto = xuperResponseDto.getParseData(Xuper010QuerySdsRespDto.class);
}else{
return ResponseDto.failure(GalaxyErrorEnum.NFT_TRANSFER_QUERY_ERROR.getCode(),GalaxyErrorEnum.NFT_TRANSFER_QUERY_ERROR.getMessage()+"nftId:"+nftId);
}
}catch (XupterException e) {
log.error("biz error msg "+e.getMessage(),e);
}catch (Exception e) {
log.error("sys error msg "+e.getMessage(),e);
}
log.info("xuper010QuerySds resp : "+ JsonUtils.toJson(xuper010QuerySdsRespDto));
if(String.valueOf(xuper010QuerySdsRespDto.getErrNo()).equalsIgnoreCase(ErrorCode.SUCCESS.getCode())){
Xuper010QuerySdsRespDto.ShardMeta shardMeta = xuper010QuerySdsRespDto.getMeta();
Xuper010QuerySdsRespDto.ShardAssetInfo assetInfo = shardMeta.getAssetInfo();
//返回结果
GalaxyQueryNftInfoRespDto respDto = GalaxyQueryNftInfoRespDto.getNew();
respDto.setNftId(shardMeta.getAssetId()+"_"+shardMeta.getShardId());
respDto.setOwnerAddr(shardMeta.getOwnerAddr());
respDto.setAuthor(null);
respDto.setName(assetInfo.getTitle());
if(assetInfo.getThumb()[0]!=null&&assetInfo.getThumb()[0].getUrls().getUrl3()!=null){
respDto.setUrl(assetInfo.getThumb()[0].getUrls().getUrl3());
respDto.setDisplayUrl(assetInfo.getThumb()[0].getUrls().getUrl3());
}
//这里设置为转让hash
respDto.setHash(shardMeta.getTxId());
respDto.setOwnerGainedTime(shardMeta.getCtime());
respDto.setDesc(assetInfo.getShortDesc());
respDto.setFlag("");
respDto.setSeriesName(null);
respDto.setSeriesId(String.valueOf(shardMeta.getAssetId()));
respDto.setSeriesTotalNum(null);
respDto.setMetaData("");
respDto.setPublisherAddr(assetInfo.getCreateAddr());
respDto.setPublishPlatformAddr(assetInfo.getCreateAddr());
return ResponseDto.success(respDto);
}else{
return ResponseDto.failure(GalaxyErrorEnum.NFT_TRANSFER_QUERY_ERROR.getCode(),GalaxyErrorEnum.NFT_TRANSFER_QUERY_ERROR.getMessage());
}
}
public ResponseDto<GalaxyQueryNftTradeListRespDto> queryNftTradeList(GalaxyQueryNftTradeListReqDto reqDto) { public ResponseDto<GalaxyQueryNftTradeListRespDto> queryNftTradeList(GalaxyQueryNftTradeListReqDto reqDto) {
// //获取订单信息 // //获取订单信息
// GalaxyNftOrderBo nftOrderBo = dataUtils.getNftOrderBo(reqDto.getRouterType(),reqDto.getNftOrderPayId()); // GalaxyNftOrderBo nftOrderBo = dataUtils.getNftOrderBo(reqDto.getRouterType(),reqDto.getNftOrderPayId());
...@@ -213,18 +292,53 @@ public class XuperTradeQueryBiz { ...@@ -213,18 +292,53 @@ public class XuperTradeQueryBiz {
} }
public ResponseDto<GalaxyQueryUserTradeAllListRespDto> queryUserTradeAllList(GalaxyQueryUserTradeAllListReqDto reqDto) { public ResponseDto<GalaxyQueryUserTradeAllListRespDto> queryUserTradeAllList(GalaxyQueryUserTradeAllListReqDto reqDto) {
// Nft042TradeAllListReqDto nft042TradeAllListReqDto = Nft042TradeAllListReqDto.getNew(); //要查询的区块链账户地址
// nft042TradeAllListReqDto.setAddr(reqDto.getBlockChainAddress()); String addr = reqDto.getBlockChainAddress();
// nft042TradeAllListReqDto.setLimit(1000l); Xuper011ListSdsByAddrReqDto xuper011ListSdsByAddrReqDto = Xuper011ListSdsByAddrReqDto.getNew();
// ZxlnftResponseDto<Nft042TradeAllListRespDto> zxlnftResponseDto = zxlnftSdkUtil.nft042TradeAllList(nft042TradeAllListReqDto); // 定义返回结果对象
// Xuper011ListSdsByAddrRespDto respDto = null;
// GalaxyQueryUserTradeAllListRespDto queryUserTradeAllListRespDto = GalaxyQueryUserTradeAllListRespDto.getNew(); try {
// if(zxlnftResponseDto.isSuccess()){ //资产id
// BeanUtil.copy(zxlnftResponseDto.getData(),queryUserTradeAllListRespDto); Long assetId = null;
// }else{ //碎片id
// return ResponseDto.failure(); Long shardId = null;
// } String nftId = reqDto.getNftId();
// return ResponseDto.success(queryUserTradeAllListRespDto);
if(StringUtil.isNotEmpty(nftId)){
assetId = Long.parseLong(nftId.substring(0,nftId.lastIndexOf("_")));
shardId = Long.parseLong(nftId.substring(nftId.lastIndexOf("_")+1,nftId.length()));
}
xuper011ListSdsByAddrReqDto.setAddr(addr);
xuper011ListSdsByAddrReqDto.setPage(1);
xuper011ListSdsByAddrReqDto.setLimit(50);
xuper011ListSdsByAddrReqDto.setAssetId(assetId);
XuperResponseDto<Xuper011ListSdsByAddrRespDto> xuperResponseDto = xuperSdkUtil.xuper011ListSdsByAddr(xuper011ListSdsByAddrReqDto);
if(xuperResponseDto.isSuccess()){
respDto = xuperResponseDto.getParseData(Xuper011ListSdsByAddrRespDto.class);
GalaxyQueryUserTradeAllListRespDto tradeAllListRespDto = GalaxyQueryUserTradeAllListRespDto.getNew();
if(respDto.getList().size()>0){
List<TradeInfoDto> tradeList = new ArrayList<>();
tradeAllListRespDto.setTradeList(tradeList);
tradeAllListRespDto.setTotal(Long.parseLong(String.valueOf(respDto.getList().size())));
for(Xuper011ListSdsByAddrRespDto.ShardMeta shardMeta:respDto.getList()){
TradeInfoDto tradeInfoDto = TradeInfoDto.getNew();
tradeInfoDto.setNftId(shardMeta.getAssetId()+"_"+shardMeta.getShardId());
tradeInfoDto.setToAddr(shardMeta.getOwnerAddr());
tradeInfoDto.setHash(shardMeta.getTxId());
tradeAllListRespDto.getTradeList().add(tradeInfoDto);
}
}
return ResponseDto.success(tradeAllListRespDto);
}
}catch (XupterException e) {
log.error("biz error msg "+e.getMessage(),e);
}catch (Exception e) {
log.error("sys error msg "+e.getMessage(),e);
}
log.info("testXuper011ListSdsByAddr resp : "+ JsonUtils.toJson(respDto));
return ResponseDto.failure(); return ResponseDto.failure();
} }
......
...@@ -31,6 +31,11 @@ public class GalaxyRouterStrategyXuperTradeQueryImpl implements IGalaxyRouterStr ...@@ -31,6 +31,11 @@ public class GalaxyRouterStrategyXuperTradeQueryImpl implements IGalaxyRouterStr
return xuperTradeQueryBiz.queryNftInfo(reqDto); return xuperTradeQueryBiz.queryNftInfo(reqDto);
} }
@Override
public ResponseDto<GalaxyQueryNftInfoRespDto> queryTransNftInfo(GalaxyQueryNftInfoReqDto reqDto) {
return xuperTradeQueryBiz.queryTransNftInfo(reqDto);
}
@Override @Override
public ResponseDto<GalaxyQueryNftTradeListRespDto> queryNftTradeList(GalaxyQueryNftTradeListReqDto reqDto) { public ResponseDto<GalaxyQueryNftTradeListRespDto> queryNftTradeList(GalaxyQueryNftTradeListReqDto reqDto) {
return xuperTradeQueryBiz.queryNftTradeList(reqDto); return xuperTradeQueryBiz.queryNftTradeList(reqDto);
......
...@@ -66,6 +66,11 @@ public class ZxinTradeQueryBiz implements IGalaxyRouterStrategyTradeQuery { ...@@ -66,6 +66,11 @@ public class ZxinTradeQueryBiz implements IGalaxyRouterStrategyTradeQuery {
return ResponseDto.failure(); return ResponseDto.failure();
} }
@Override
public ResponseDto<GalaxyQueryNftInfoRespDto> queryTransNftInfo(GalaxyQueryNftInfoReqDto reqDto) {
return null;
}
@Override @Override
public ResponseDto<GalaxyQueryNftTradeListRespDto> queryNftTradeList(GalaxyQueryNftTradeListReqDto reqDto) { public ResponseDto<GalaxyQueryNftTradeListRespDto> queryNftTradeList(GalaxyQueryNftTradeListReqDto reqDto) {
//获取订单信息 //获取订单信息
......
...@@ -31,6 +31,11 @@ public class GalaxyRouterStrategyZxlTradeQueryImpl implements IGalaxyRouterStrat ...@@ -31,6 +31,11 @@ public class GalaxyRouterStrategyZxlTradeQueryImpl implements IGalaxyRouterStrat
return zxinTradeQueryBiz.queryNftInfo(reqDto); return zxinTradeQueryBiz.queryNftInfo(reqDto);
} }
@Override
public ResponseDto<GalaxyQueryNftInfoRespDto> queryTransNftInfo(GalaxyQueryNftInfoReqDto reqDto) {
return null;
}
@Override @Override
public ResponseDto<GalaxyQueryNftTradeListRespDto> queryNftTradeList(GalaxyQueryNftTradeListReqDto reqDto) { public ResponseDto<GalaxyQueryNftTradeListRespDto> queryNftTradeList(GalaxyQueryNftTradeListReqDto reqDto) {
return zxinTradeQueryBiz.queryNftTradeList(reqDto); return zxinTradeQueryBiz.queryNftTradeList(reqDto);
......
...@@ -28,6 +28,11 @@ public class GalaxyTradeQueryServiceImpl implements IGalaxyTradeQueryService { ...@@ -28,6 +28,11 @@ public class GalaxyTradeQueryServiceImpl implements IGalaxyTradeQueryService {
return galaxyRouterStrategyContext.getTradeQueryStrategy(reqDto.getRouterType()).queryNftInfo(reqDto); return galaxyRouterStrategyContext.getTradeQueryStrategy(reqDto.getRouterType()).queryNftInfo(reqDto);
} }
@Override
public ResponseDto<GalaxyQueryNftInfoRespDto> queryTransNftInfo(GalaxyQueryNftInfoReqDto reqDto) {
return galaxyRouterStrategyContext.getTradeQueryStrategy(reqDto.getRouterType()).queryTransNftInfo(reqDto);
}
@Override @Override
public ResponseDto<GalaxyQueryNftTradeListRespDto> queryNftTradeList(GalaxyQueryNftTradeListReqDto reqDto) { public ResponseDto<GalaxyQueryNftTradeListRespDto> queryNftTradeList(GalaxyQueryNftTradeListReqDto reqDto) {
return galaxyRouterStrategyContext.getTradeQueryStrategy(reqDto.getRouterType()).queryNftTradeList(reqDto); return galaxyRouterStrategyContext.getTradeQueryStrategy(reqDto.getRouterType()).queryNftTradeList(reqDto);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment