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

Commit 6285b7e8 authored by 张国柄's avatar 张国柄

Merge remote-tracking branch 'origin/ajb_dev_xuper_transfer' into ajb_dev_xuper_transfer

parents a59f4e82 7c6313a9
package com.liquidnet.service.galaxy.dto.param;
import com.liquidnet.commons.lang.util.JsonUtils;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @Description: nft转让信息查询
* @class: GalaxyQueryNftInfoReqDto
* @Package com.liquidnet.service.galaxy.dto.param
* @Copyright: LightNet @ Copyright (c) 2022
* @date 2022/4/8 16:27
*/
@ApiModel(value = "GalaxyQueryTransNftInfoReqDto", description = "nft转让信息查询")
@Data
public class GalaxyQueryTransNftInfoReqDto extends GalaxyBaseReqDto implements Serializable,Cloneable{
@ApiModelProperty(position = 1, required = true, value = "NFTId")
@NotBlank
private String nftId;
@Override
public String toString(){
return JsonUtils.toJson(this);
}
private static final GalaxyQueryTransNftInfoReqDto obj = new GalaxyQueryTransNftInfoReqDto();
public static GalaxyQueryTransNftInfoReqDto getNew() {
try {
return (GalaxyQueryTransNftInfoReqDto) obj.clone();
} catch (CloneNotSupportedException e) {
return new GalaxyQueryTransNftInfoReqDto();
}
}
}
package com.liquidnet.service.galaxy.dto.param;
import com.liquidnet.commons.lang.util.JsonUtils;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @Description: TODO
* @class: GalaxyQueryNftInfoRespDto
* @Package com.liquidnet.service.galaxy.dto.param
* @Copyright: LightNet @ Copyright (c) 2022
* @date 2022/4/8 16:27
*/
@ApiModel(value = "GalaxyQueryTransNftInfoRespDto", description = "NFT信息查询")
@Data
public class GalaxyQueryTransNftInfoRespDto{
/**
* nftId
*/
@ApiModelProperty(position = 1, required = true, value = "nftId")
private String nftId;
/**
* 所有者地址
*/
@ApiModelProperty(position = 1, required = true, value = "所有者地址")
private String ownerAddr;
/**
* 发行地址
*/
@ApiModelProperty(position = 1, required = true, value = "发行地址")
private String publishAddr;
/**
* 作品名字,中英文数字均可,不超过256个字符
*/
@ApiModelProperty(position = 1, required = true, value = "作品名字")
private String name;
/**
* 作品简介,500个字符以内
*/
@ApiModelProperty(position = 1, required = true, value = "作品简介")
private String desc;
/**
* 作品url,不超过2048个字符 疑问:应该是发行的1024吧?
*/
@ApiModelProperty(position = 1, required = true, value = "作品url")
private String url;
/**
* 预览图url
*/
@ApiModelProperty(position = 1, required = true, value = "预览图url")
private String displayUrl;
/**
* 交易时间
*/
@ApiModelProperty(position = 1, required = true, value = "交易时间")
private String tradeTime;
/**
* 交易hash
*/
@ApiModelProperty(position = 1, required = true, value = "交易hash")
private String tradeHash;
/**
* 转让状态(-1初始化 0转让中 1转让成功 2转让失败 )
*/
@ApiModelProperty(position = 1, required = true, value = "-1初始化 0转让中 1转让成功 2转让失败")
private String tradeStatus;
@Override
public String toString(){
return JsonUtils.toJson(this);
}
private static final GalaxyQueryTransNftInfoRespDto obj = new GalaxyQueryTransNftInfoRespDto();
public static GalaxyQueryTransNftInfoRespDto getNew() {
try {
return (GalaxyQueryTransNftInfoRespDto) obj.clone();
} catch (CloneNotSupportedException e) {
return new GalaxyQueryTransNftInfoRespDto();
}
}
}
\ No newline at end of file
......@@ -24,9 +24,8 @@ public class GalaxyQueryUserTradeAllListReqDto extends GalaxyBaseReqDto implemen
@NotBlank(message = "区块链地址不能为空!")
private String blockChainAddress;
@ApiModelProperty(position = 1, required = true, value = "nftId")
@NotBlank(message = "nftId不能为空!")
private String nftId;
@ApiModelProperty(position = 1, required = true, value = "seriesId(可选,默认为0查询全部)")
private String seriesId = "0";
@Override
public String toString(){
......
......@@ -14,7 +14,7 @@ import com.liquidnet.service.galaxy.dto.param.*;
*/
public interface IGalaxyTradeQueryService {
ResponseDto<GalaxyQueryNftInfoRespDto> queryNftInfo(GalaxyQueryNftInfoReqDto reqDto);
ResponseDto<GalaxyQueryNftInfoRespDto> queryTransNftInfo(GalaxyQueryNftInfoReqDto reqDto);
ResponseDto<GalaxyQueryTransNftInfoRespDto> queryTransNftInfo(GalaxyQueryTransNftInfoReqDto reqDto);
ResponseDto<GalaxyQueryNftTradeListRespDto> queryNftTradeList(GalaxyQueryNftTradeListReqDto reqDto);
ResponseDto<GalaxyQuerySeriesInfoRespDto> querySeriesInfo(GalaxyQuerySeriesInfoReqDto reqDto);
ResponseDto<GalaxyQueryUserSeriesNftListRespDto> queryUserSeriesNftList(GalaxyQueryUserSeriesNftListReqDto reqDto);
......
......@@ -179,4 +179,53 @@ public class GalaxyEnumBiz {
}
return taskStatusEnum;
}
/**
* 资产转让状态转换
* @param routerType
* @param code
* @return
*/
public static GalaxyEnum.NftTransferStatusEnum getTransStatusEnum(String routerType, String code){
GalaxyEnum.NftTransferStatusEnum rsStatusEnum = null;
switch (routerType){
case "zxinchain":
if(code.equalsIgnoreCase(ZxlnftEnum.TaskStatusEnum.PROCESSING.getCode())){
rsStatusEnum = GalaxyEnum.NftTransferStatusEnum.PROCESSING;
break;
}else if(code.equalsIgnoreCase(ZxlnftEnum.TaskStatusEnum.TASK_SUCCESS.getCode())){
rsStatusEnum = GalaxyEnum.NftTransferStatusEnum.SUCCESS;
break;
}else if(code.equalsIgnoreCase(ZxlnftEnum.TaskStatusEnum.TASK_FAIL.getCode())){
rsStatusEnum = GalaxyEnum.NftTransferStatusEnum.FAIL;
break;
}
case "antchain":
if(code.equalsIgnoreCase(AntchainEnum.TaskStatusEnum.PROCESSING.getCode())){
rsStatusEnum = GalaxyEnum.NftTransferStatusEnum.PROCESSING;
break;
}else if(code.equalsIgnoreCase(AntchainEnum.TaskStatusEnum.TASK_SUCCESS.getCode())){
rsStatusEnum = GalaxyEnum.NftTransferStatusEnum.SUCCESS;
break;
}else if(code.equalsIgnoreCase(AntchainEnum.TaskStatusEnum.TASK_FAIL.getCode())){
rsStatusEnum = GalaxyEnum.NftTransferStatusEnum.FAIL;
break;
}
case "xuper":
if(code.equalsIgnoreCase(XuperEnum.AssetGrantStatusEnum.TRANSFERING.getCode())){
rsStatusEnum = GalaxyEnum.NftTransferStatusEnum.PROCESSING;
break;
}else if(code.equalsIgnoreCase(XuperEnum.AssetGrantStatusEnum.GRANT_SUCCESS.getCode())){
rsStatusEnum = GalaxyEnum.NftTransferStatusEnum.SUCCESS;
break;
}else if(code.equalsIgnoreCase(XuperEnum.AssetGrantStatusEnum.CANCELING.getCode())
||code.equalsIgnoreCase(XuperEnum.AssetGrantStatusEnum.CANCELED.getCode())
||code.equalsIgnoreCase(XuperEnum.AssetGrantStatusEnum.OTHER_ERROR.getCode())
){
rsStatusEnum = GalaxyEnum.NftTransferStatusEnum.FAIL;
break;
}
}
return rsStatusEnum;
}
}
\ No newline at end of file
......@@ -47,7 +47,7 @@ public class GalaxyTradeQueryController {
@ApiOperationSupport(order = 1)
@ApiOperation(value = "NFT转让订单查询(xuper)")
@PostMapping(value = {"queryTransNftInfo"})
public ResponseDto<GalaxyQueryNftInfoRespDto> queryTransNftInfo(@Valid @RequestBody GalaxyQueryNftInfoReqDto reqDto){
public ResponseDto<GalaxyQueryTransNftInfoRespDto> queryTransNftInfo(@Valid @RequestBody GalaxyQueryTransNftInfoReqDto reqDto){
return galaxyTradeQueryService.queryTransNftInfo(reqDto);
}
......
......@@ -9,11 +9,11 @@ import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.commons.lang.util.StringUtil;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.galaxy.biz.GalaxyEnumBiz;
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.GalaxySeriesNftInfoBo;
import com.liquidnet.service.galaxy.dto.bo.GalaxyTransferNftInfoBo;
import com.liquidnet.service.galaxy.dto.param.*;
import com.liquidnet.service.galaxy.router.strategy.IGalaxyRouterStrategyTradeQuery;
import com.liquidnet.service.galaxy.utils.GalaxyDataUtils;
......@@ -119,14 +119,8 @@ public class XuperTradeQueryBiz implements IGalaxyRouterStrategyTradeQuery {
}
}
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())){
public ResponseDto<GalaxyQueryTransNftInfoRespDto> queryTransNftInfo(GalaxyQueryTransNftInfoReqDto reqDto) {
if(StringUtil.isEmpty(reqDto.getNftId())){
return ResponseDto.failure(GalaxyErrorEnum.NFT_QUERY_FAIL_NFT_NOT_EXIST.getCode(),GalaxyErrorEnum.NFT_QUERY_FAIL_NFT_NOT_EXIST.getMessage());
}
......@@ -139,7 +133,7 @@ public class XuperTradeQueryBiz implements IGalaxyRouterStrategyTradeQuery {
Long assetId = null;
//碎片id
Long shardId = null;
String nftId = transferNftInfoBo.getNftId();
String nftId = reqDto.getNftId();
if(StringUtil.isNotEmpty(nftId)){
assetId = Long.parseLong(nftId.substring(0,nftId.lastIndexOf("_")));
......@@ -165,28 +159,21 @@ public class XuperTradeQueryBiz implements IGalaxyRouterStrategyTradeQuery {
Xuper010QuerySdsRespDto.ShardMeta shardMeta = xuper010QuerySdsRespDto.getMeta();
Xuper010QuerySdsRespDto.ShardAssetInfo assetInfo = shardMeta.getAssetInfo();
//返回结果
GalaxyQueryNftInfoRespDto respDto = GalaxyQueryNftInfoRespDto.getNew();
GalaxyQueryTransNftInfoRespDto respDto = GalaxyQueryTransNftInfoRespDto.getNew();
respDto.setNftId(shardMeta.getAssetId()+"_"+shardMeta.getShardId());
respDto.setOwnerAddr(shardMeta.getOwnerAddr());
respDto.setAuthor(null);
respDto.setPublishAddr(assetInfo.getCreateAddr());
respDto.setName(assetInfo.getTitle());
respDto.setDesc(assetInfo.getShortDesc());
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);
//获取交易时间
LocalDateTime transTime = DateUtil.ofEpochMilli(shardMeta.getCtime());
respDto.setMetaData(DateUtil.format(transTime, DateUtil.Formatter.yyyyMMddHHmmss));
respDto.setPublisherAddr(assetInfo.getCreateAddr());
respDto.setPublishPlatformAddr(assetInfo.getCreateAddr());
respDto.setTradeTime(DateUtil.format(transTime, DateUtil.Formatter.yyyyMMddHHmmss));
respDto.setTradeHash(shardMeta.getTxId());
respDto.setTradeStatus(GalaxyEnumBiz.getTransStatusEnum(reqDto.getRouterType(),String.valueOf(shardMeta.getStatus())).getCode());
return ResponseDto.success(respDto);
}else{
......@@ -345,15 +332,7 @@ public class XuperTradeQueryBiz implements IGalaxyRouterStrategyTradeQuery {
Xuper011ListSdsByAddrRespDto respDto = null;
try {
//资产id
Long assetId = null;
//碎片id
Long shardId = null;
String nftId = reqDto.getNftId();
if(StringUtil.isNotEmpty(nftId)){
assetId = Long.parseLong(nftId.substring(0,nftId.lastIndexOf("_")));
shardId = Long.parseLong(nftId.substring(nftId.lastIndexOf("_")+1,nftId.length()));
}
Long assetId = Long.parseLong(reqDto.getSeriesId());
xuper011ListSdsByAddrReqDto.setAddr(addr);
xuper011ListSdsByAddrReqDto.setPage(1);
......@@ -376,8 +355,13 @@ public class XuperTradeQueryBiz implements IGalaxyRouterStrategyTradeQuery {
tradeInfoDto.setHash(shardMeta.getTxId());
tradeAllListRespDto.getTradeList().add(tradeInfoDto);
}
}else{
tradeAllListRespDto.setTradeList(null);
tradeAllListRespDto.setTotal(Long.parseLong(String.valueOf(respDto.getList().size())));
}
return ResponseDto.success(tradeAllListRespDto);
}else{
return ResponseDto.failure(GalaxyErrorEnum.SERIES_NFT_INFO_NOT_EXIST.getCode(), GalaxyErrorEnum.SERIES_NFT_INFO_NOT_EXIST.getMessage());
}
}catch (XupterException e) {
log.error("biz error msg "+e.getMessage(),e);
......
......@@ -32,7 +32,7 @@ public class GalaxyRouterStrategyXuperTradeQueryImpl implements IGalaxyRouterStr
}
@Override
public ResponseDto<GalaxyQueryNftInfoRespDto> queryTransNftInfo(GalaxyQueryNftInfoReqDto reqDto) {
public ResponseDto<GalaxyQueryTransNftInfoRespDto> queryTransNftInfo(GalaxyQueryTransNftInfoReqDto reqDto) {
return xuperTradeQueryBiz.queryTransNftInfo(reqDto);
}
......
......@@ -67,7 +67,7 @@ public class ZxinTradeQueryBiz implements IGalaxyRouterStrategyTradeQuery {
}
@Override
public ResponseDto<GalaxyQueryNftInfoRespDto> queryTransNftInfo(GalaxyQueryNftInfoReqDto reqDto) {
public ResponseDto<GalaxyQueryTransNftInfoRespDto> queryTransNftInfo(GalaxyQueryTransNftInfoReqDto reqDto) {
return null;
}
......
......@@ -32,7 +32,7 @@ public class GalaxyRouterStrategyZxlTradeQueryImpl implements IGalaxyRouterStrat
}
@Override
public ResponseDto<GalaxyQueryNftInfoRespDto> queryTransNftInfo(GalaxyQueryNftInfoReqDto reqDto) {
public ResponseDto<GalaxyQueryTransNftInfoRespDto> queryTransNftInfo(GalaxyQueryTransNftInfoReqDto reqDto) {
return null;
}
......
......@@ -29,7 +29,7 @@ public class GalaxyTradeQueryServiceImpl implements IGalaxyTradeQueryService {
}
@Override
public ResponseDto<GalaxyQueryNftInfoRespDto> queryTransNftInfo(GalaxyQueryNftInfoReqDto reqDto) {
public ResponseDto<GalaxyQueryTransNftInfoRespDto> queryTransNftInfo(GalaxyQueryTransNftInfoReqDto reqDto) {
return galaxyRouterStrategyContext.getTradeQueryStrategy(reqDto.getRouterType()).queryTransNftInfo(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