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

Commit 9d55c9cc authored by anjiabin's avatar anjiabin

提交galaxy查询相关功能

parent d4b401d3
...@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModel; ...@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable; import java.io.Serializable;
/** /**
...@@ -19,8 +20,9 @@ import java.io.Serializable; ...@@ -19,8 +20,9 @@ import java.io.Serializable;
@ApiModel(value = "GalaxyQueryNftTradeListReqDto", description = "单个NFT交易信息查询") @ApiModel(value = "GalaxyQueryNftTradeListReqDto", description = "单个NFT交易信息查询")
@Data @Data
public class GalaxyQueryNftTradeListReqDto extends GalaxyBaseReqDto implements Serializable,Cloneable{ public class GalaxyQueryNftTradeListReqDto extends GalaxyBaseReqDto implements Serializable,Cloneable{
@ApiModelProperty(position = 1, required = true, value = "skuId") @ApiModelProperty(position = 1, required = true, value = "nftOrderPayId")
private String skuId; @NotBlank
private String nftOrderPayId;
@Override @Override
public String toString(){ public String toString(){
......
...@@ -2,10 +2,10 @@ package com.liquidnet.service.galaxy.dto.param; ...@@ -2,10 +2,10 @@ package com.liquidnet.service.galaxy.dto.param;
import com.liquidnet.commons.lang.util.JsonUtils; import com.liquidnet.commons.lang.util.JsonUtils;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.List;
/** /**
* @author AnJiabin <anjiabin@zhengzai.tv> * @author AnJiabin <anjiabin@zhengzai.tv>
...@@ -19,36 +19,46 @@ import java.io.Serializable; ...@@ -19,36 +19,46 @@ import java.io.Serializable;
@ApiModel(value = "GalaxyQueryNftTradeListRespDto", description = "单个NFT交易信息查询") @ApiModel(value = "GalaxyQueryNftTradeListRespDto", description = "单个NFT交易信息查询")
@Data @Data
public class GalaxyQueryNftTradeListRespDto implements Serializable,Cloneable { public class GalaxyQueryNftTradeListRespDto implements Serializable,Cloneable {
@ApiModelProperty(position = 1, required = true, value = "skuId") /**
private String skuId; * * 交易信息总数
*/
@ApiModelProperty(position = 1, required = true, value = "seriesId") private Long total;
private String seriesId; /**
* 交易信息列表
@ApiModelProperty(position = 1, required = true, value = "name") */
private String name; private List<TransInfoDto> transList;
@ApiModelProperty(position = 1, required = true, value = "creatorAddr") @Data
private String creatorAddr; public static class TransInfoDto{
/**
@ApiModelProperty(position = 2, required = true, value = "totalCount") * 持有者地址
private Long totalCount; */
private String fromAddr;
@ApiModelProperty(position = 3, required = true, value = "seriesBeginFromZero") /**
private Boolean seriesBeginFromZero; * 接收方地址
*/
@ApiModelProperty(position = 3, required = true, value = "crtCount") private String toAddr;
private Long crtCount; /**
* 成交积分
@ApiModelProperty(position = 3, required = true, value = "coverUrl") */
private String coverUrl; private Long dealCount;
/**
@ApiModelProperty(position = 3, required = true, value = "desc") * 链上交易hash
private String desc; */
private String txHash;
@ApiModelProperty(position = 3, required = true, value = "createTimeStamp") /**
private String createTimeStamp; * 积分接收地址
*/
private String pointReceiverAddr;
/**
* 链上成交时间
*/
private Long dealTimestamp;
/**
* 交易类别, 1:发行 2:购买 3:转移 4:设置价格 5:设置状态
*/
private Integer txType;
}
@Override @Override
public String toString(){ public String toString(){
......
...@@ -19,46 +19,6 @@ import java.io.Serializable; ...@@ -19,46 +19,6 @@ import java.io.Serializable;
public class Nft032SeriesRespDto implements Serializable { public class Nft032SeriesRespDto implements Serializable {
private Nft032SeriesResp.SeriesInfo seriesInfo; private Nft032SeriesResp.SeriesInfo seriesInfo;
@Data
public class SeriesInfo{
/**
* 系列ID
*/
private String seriesId;
/**
* 系列名字
*/
private String name;
/**
* 创建者地址
*/
private String creatorAddr;
/**
* 总数
*/
private String totalCount;
/**
* 系列下的nftId后缀,是否从0开始,true就是从0开始,默认为false,从1开始
*/
private String seriesBeginFromZero;
/**
* 当前个数(当前已发行此系列的个数)
*/
private String crtCount;
/**
* 封面图
*/
private String coverUrl;
/**
* 描述
*/
private String desc;
/**
* 创建时间戳
*/
private String createTimeStamp;
}
private static final Nft032SeriesRespDto obj = new Nft032SeriesRespDto(); private static final Nft032SeriesRespDto obj = new Nft032SeriesRespDto();
public static Nft032SeriesRespDto getNew() { public static Nft032SeriesRespDto getNew() {
try { try {
......
...@@ -56,6 +56,78 @@ public class Nft032SeriesResp implements Serializable { ...@@ -56,6 +56,78 @@ public class Nft032SeriesResp implements Serializable {
* 创建时间戳 * 创建时间戳
*/ */
private Long createTimeStamp; private Long createTimeStamp;
public String getSeriesId() {
return seriesId;
}
public void setSeriesId(String seriesId) {
this.seriesId = seriesId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCreatorAddr() {
return creatorAddr;
}
public void setCreatorAddr(String creatorAddr) {
this.creatorAddr = creatorAddr;
}
public Long getTotalCount() {
return totalCount;
}
public void setTotalCount(Long totalCount) {
this.totalCount = totalCount;
}
public boolean isSeriesBeginFromZero() {
return seriesBeginFromZero;
}
public void setSeriesBeginFromZero(boolean seriesBeginFromZero) {
this.seriesBeginFromZero = seriesBeginFromZero;
}
public Long getCrtCount() {
return crtCount;
}
public void setCrtCount(Long crtCount) {
this.crtCount = crtCount;
}
public String getCoverUrl() {
return coverUrl;
}
public void setCoverUrl(String coverUrl) {
this.coverUrl = coverUrl;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public Long getCreateTimeStamp() {
return createTimeStamp;
}
public void setCreateTimeStamp(Long createTimeStamp) {
this.createTimeStamp = createTimeStamp;
}
} }
private static final Nft032SeriesResp obj = new Nft032SeriesResp(); private static final Nft032SeriesResp obj = new Nft032SeriesResp();
......
...@@ -88,12 +88,6 @@ public class ZxinTradeCommonBiz { ...@@ -88,12 +88,6 @@ public class ZxinTradeCommonBiz {
} }
} }
//初始化订单数据
if(nftOrderBo==null){
nftOrderBo = galaxyBeanTransferBiz.buildNftOrderBo(reqDto.getNftOrderPayId(),userInfoBo,seriesNftInfoBo);
dataUtils.setNftOrderBo(reqDto.getRouterType(),reqDto.getNftOrderPayId(),nftOrderBo);
}
String author = seriesNftInfoBo.getAuthor(); String author = seriesNftInfoBo.getAuthor();
String nftName = seriesNftInfoBo.getNftName(); String nftName = seriesNftInfoBo.getNftName();
String nftUrl = seriesNftInfoBo.getNftUrl(); String nftUrl = seriesNftInfoBo.getNftUrl();
...@@ -128,7 +122,11 @@ public class ZxinTradeCommonBiz { ...@@ -128,7 +122,11 @@ public class ZxinTradeCommonBiz {
if(StringUtil.isNull(nftOrderBindBo)){ if(StringUtil.isNull(nftOrderBindBo)){
//获取发行索引 //获取发行索引
long nftIdNo = dataUtils.incrNftIdNo(reqDto.getRouterType(),reqDto.getSkuId()); long nftIdNo = dataUtils.incrNftIdNo(reqDto.getRouterType(),reqDto.getSkuId());
//如果发行数大于最大发行数量
if(nftIdNo > seriesNftInfoBo.getNftTotalCount()){
//发行失败
throw new GalaxyNftPublishException(GalaxyErrorEnum.NFT_PUBLISH_ERROR.getCode(),"该sku:"+reqDto.getSkuId()+" 总共"+seriesNftInfoBo.getNftTotalCount()+"个NFT已经发行完毕,没有剩余库存!");
}
nftOrderBindBo = GalaxyNftOrderBindBo.getNew(); nftOrderBindBo = GalaxyNftOrderBindBo.getNew();
nftOrderBindBo.setNftOrderPayId(reqDto.getNftOrderPayId()); nftOrderBindBo.setNftOrderPayId(reqDto.getNftOrderPayId());
nftOrderBindBo.setSeriesId(seriesNftInfoBo.getSeriesId()); nftOrderBindBo.setSeriesId(seriesNftInfoBo.getSeriesId());
...@@ -141,6 +139,12 @@ public class ZxinTradeCommonBiz { ...@@ -141,6 +139,12 @@ public class ZxinTradeCommonBiz {
} }
seriesBeginIndex = nftOrderBindBo.getNftIdIndex(); seriesBeginIndex = nftOrderBindBo.getNftIdIndex();
//初始化订单数据
if(nftOrderBo==null){
nftOrderBo = galaxyBeanTransferBiz.buildNftOrderBo(reqDto.getNftOrderPayId(),userInfoBo,seriesNftInfoBo);
dataUtils.setNftOrderBo(reqDto.getRouterType(),reqDto.getNftOrderPayId(),nftOrderBo);
}
// //查询系列信息(暂时不通过系列查询获取发行序列号) // //查询系列信息(暂时不通过系列查询获取发行序列号)
// Nft032SeriesReqDto nft032ReqDto = Nft032SeriesReqDto.getNew(); // Nft032SeriesReqDto nft032ReqDto = Nft032SeriesReqDto.getNew();
// nft032ReqDto.setSeriesId(seriesId); // nft032ReqDto.setSeriesId(seriesId);
...@@ -252,25 +256,27 @@ public class ZxinTradeCommonBiz { ...@@ -252,25 +256,27 @@ public class ZxinTradeCommonBiz {
}catch(Exception e){ }catch(Exception e){
log.error(reqDto.getNftOrderPayId()+"发行setNftOrderFailLogVo记录异常:"+e.getMessage(),e); log.error(reqDto.getNftOrderPayId()+"发行setNftOrderFailLogVo记录异常:"+e.getMessage(),e);
} }
return ResponseDto.failure(GalaxyErrorEnum.PUBLISH_FAIL.getCode(), GalaxyErrorEnum.PUBLISH_FAIL.getMessage());
} }
//更新订单缓存数据状态 //更新订单缓存数据状态
nftOrderBo.setNftId(nftId); if(StringUtil.isNotEmpty(nftId)){
if(StringUtil.isNotNull(nftPublishChainTimestamp)){ nftOrderBo.setNftId(nftId);
//设置时间 if(StringUtil.isNotNull(nftPublishChainTimestamp)){
String nftPublishChainTimestampStr = DateUtil.format(new Date(nftPublishChainTimestamp*1000),DateUtil.Formatter.yyyyMMddHHmmss); //设置时间
nftOrderBo.setNftPublishChainTimestamp(nftPublishChainTimestampStr); String nftPublishChainTimestampStr = DateUtil.format(new Date(nftPublishChainTimestamp*1000),DateUtil.Formatter.yyyyMMddHHmmss);
} nftOrderBo.setNftPublishChainTimestamp(nftPublishChainTimestampStr);
if(StringUtil.isNotNull(nftPublishStatus)){ }
//转换任务状态 if(StringUtil.isNotNull(nftPublishStatus)){
String nftPublishStatusStr = GalaxyEnumBiz.getTaskStatusEnum(reqDto.getRouterType(),nftPublishStatus.toString()).getCode(); //转换任务状态
nftOrderBo.setNftPublishStatus(nftPublishStatusStr); String nftPublishStatusStr = GalaxyEnumBiz.getTaskStatusEnum(reqDto.getRouterType(),nftPublishStatus.toString()).getCode();
nftOrderBo.setNftPublishStatus(nftPublishStatusStr);
}
nftOrderBo.setNftPublishTradeHash(nftPublishTradeHash);
nftOrderBo.setUpdatedAt(LocalDateTime.now());
//先更新nft发行数据
dataUtils.updateNftOrderPublishInfo(reqDto.getRouterType(),reqDto.getNftOrderPayId(),nftOrderBo);
} }
nftOrderBo.setNftPublishTradeHash(nftPublishTradeHash);
nftOrderBo.setUpdatedAt(LocalDateTime.now());
//先更新nft发行数据
dataUtils.updateNftOrderPublishInfo(reqDto.getRouterType(),reqDto.getNftOrderPayId(),nftOrderBo);
//第二步:执行购买逻辑 //第二步:执行购买逻辑
if(StringUtil.isNotEmpty(nftId)){ if(StringUtil.isNotEmpty(nftId)){
......
...@@ -456,6 +456,7 @@ public abstract class AbstractDataUtils { ...@@ -456,6 +456,7 @@ public abstract class AbstractDataUtils {
/** /**
* 入库mongo * 入库mongo
*/ */
nftOrderFailLogVo.setCreatedAt(LocalDateTime.now());
this.getMongoTemplate().save(nftOrderFailLogVo,GalaxyNftOrderFailLogVo.class.getSimpleName()); this.getMongoTemplate().save(nftOrderFailLogVo,GalaxyNftOrderFailLogVo.class.getSimpleName());
// insert into galaxy_nft_order_fail_log (nft_order_pay_id, user_id, nft_id, nft_name, series_name, // insert into galaxy_nft_order_fail_log (nft_order_pay_id, user_id, nft_id, nft_name, series_name,
......
...@@ -2,6 +2,7 @@ package com.liquidnet.service.galaxy.router.zxin.biz; ...@@ -2,6 +2,7 @@ package com.liquidnet.service.galaxy.router.zxin.biz;
import com.liquidnet.common.third.zxlnft.biz.ZxlnftBiz; import com.liquidnet.common.third.zxlnft.biz.ZxlnftBiz;
import com.liquidnet.common.third.zxlnft.dto.*; import com.liquidnet.common.third.zxlnft.dto.*;
import com.liquidnet.common.third.zxlnft.dto.nft.Nft032SeriesResp;
import com.liquidnet.common.third.zxlnft.util.ZxlWalletSdkUtil; import com.liquidnet.common.third.zxlnft.util.ZxlWalletSdkUtil;
import com.liquidnet.common.third.zxlnft.util.ZxlnftSdkUtil; import com.liquidnet.common.third.zxlnft.util.ZxlnftSdkUtil;
import com.liquidnet.commons.lang.util.BeanUtil; import com.liquidnet.commons.lang.util.BeanUtil;
...@@ -59,7 +60,7 @@ public class ZxinTradeQueryBiz implements IGalaxyRouterStrategyTradeQuery { ...@@ -59,7 +60,7 @@ public class ZxinTradeQueryBiz implements IGalaxyRouterStrategyTradeQuery {
//查询结果 //查询结果
GalaxyQueryNftInfoRespDto queryNftInfoRespDto = GalaxyQueryNftInfoRespDto.getNew(); GalaxyQueryNftInfoRespDto queryNftInfoRespDto = GalaxyQueryNftInfoRespDto.getNew();
if(zxlnftResponseDto.isSuccess()){ if(zxlnftResponseDto.isSuccess()){
BeanUtil.copy(zxlnftResponseDto.getData(),queryNftInfoRespDto); BeanUtil.copy(zxlnftResponseDto.getData().getNftInfo(),queryNftInfoRespDto);
return ResponseDto.success(queryNftInfoRespDto); return ResponseDto.success(queryNftInfoRespDto);
} }
return ResponseDto.failure(); return ResponseDto.failure();
...@@ -67,12 +68,51 @@ public class ZxinTradeQueryBiz implements IGalaxyRouterStrategyTradeQuery { ...@@ -67,12 +68,51 @@ public class ZxinTradeQueryBiz implements IGalaxyRouterStrategyTradeQuery {
@Override @Override
public ResponseDto<GalaxyQueryNftTradeListRespDto> queryNftTradeList(GalaxyQueryNftTradeListReqDto reqDto) { public ResponseDto<GalaxyQueryNftTradeListRespDto> queryNftTradeList(GalaxyQueryNftTradeListReqDto reqDto) {
return null; //获取订单信息
GalaxyNftOrderBo nftOrderBo = dataUtils.getNftOrderBo(reqDto.getRouterType(),reqDto.getNftOrderPayId());
if(StringUtil.isNull(nftOrderBo)){
return ResponseDto.failure(GalaxyErrorEnum.NFT_QUERY_FAIL_ORDER_NOT_EXIST.getCode(),GalaxyErrorEnum.NFT_QUERY_FAIL_ORDER_NOT_EXIST.getMessage());
}
if(StringUtil.isEmpty(nftOrderBo.getNftId())){
return ResponseDto.failure(GalaxyErrorEnum.NFT_QUERY_FAIL_NFT_NOT_EXIST.getCode(),GalaxyErrorEnum.NFT_QUERY_FAIL_NFT_NOT_EXIST.getMessage());
}
Nft039TradeListReqDto nft039TradeListReqDto = Nft039TradeListReqDto.getNew();
nft039TradeListReqDto.setNftId(nftOrderBo.getNftId());
nft039TradeListReqDto.setLimit(1000l);
ZxlnftResponseDto<Nft039TradeListRespDto> zxlnftResponseDto = zxlnftSdkUtil.nft039TradeList(nft039TradeListReqDto);
//查询结果
GalaxyQueryNftTradeListRespDto queryNftTradeListRespDto = GalaxyQueryNftTradeListRespDto.getNew();
if(zxlnftResponseDto.isSuccess()){
BeanUtil.copy(zxlnftResponseDto.getData(),queryNftTradeListRespDto);
return ResponseDto.success(queryNftTradeListRespDto);
}
return ResponseDto.failure();
} }
@Override @Override
public ResponseDto<GalaxyQuerySeriesInfoRespDto> querySeriesInfo(GalaxyQuerySeriesInfoReqDto reqDto) { public ResponseDto<GalaxyQuerySeriesInfoRespDto> querySeriesInfo(GalaxyQuerySeriesInfoReqDto reqDto) {
return null; //获取sku信息
GalaxySeriesNftInfoBo seriesNftInfoBo = dataUtils.getSeriesNftInfoBo(reqDto.getRouterType(),reqDto.getSkuId());
if(StringUtil.isNull(seriesNftInfoBo)){
return ResponseDto.failure(GalaxyErrorEnum.SERIES_NFT_INFO_NOT_EXIST.getCode(), GalaxyErrorEnum.SERIES_NFT_INFO_NOT_EXIST.getMessage());
}
Nft032SeriesReqDto nft032SeriesReqDto = Nft032SeriesReqDto.getNew();
nft032SeriesReqDto.setSeriesId(seriesNftInfoBo.getSeriesId());
ZxlnftResponseDto<Nft032SeriesRespDto> zxlnftResponseDto = zxlnftSdkUtil.nft032Series(nft032SeriesReqDto);
//查询结果
GalaxyQuerySeriesInfoRespDto querySeriesInfoRespDto = GalaxyQuerySeriesInfoRespDto.getNew();
if(zxlnftResponseDto.isSuccess()){
Nft032SeriesResp.SeriesInfo seriesInfo = zxlnftResponseDto.getData().getSeriesInfo();
BeanUtil.copy(seriesInfo,querySeriesInfoRespDto);
querySeriesInfoRespDto.setTotalCount(seriesInfo.getTotalCount().toString());
querySeriesInfoRespDto.setSeriesBeginFromZero(Boolean.toString(seriesInfo.isSeriesBeginFromZero()));
querySeriesInfoRespDto.setCrtCount(seriesInfo.getCrtCount().toString());
querySeriesInfoRespDto.setCreateTimeStamp(seriesInfo.getCreateTimeStamp().toString());
return ResponseDto.success(querySeriesInfoRespDto);
}
return ResponseDto.failure();
} }
@Override @Override
...@@ -106,16 +146,49 @@ public class ZxinTradeQueryBiz implements IGalaxyRouterStrategyTradeQuery { ...@@ -106,16 +146,49 @@ public class ZxinTradeQueryBiz implements IGalaxyRouterStrategyTradeQuery {
@Override @Override
public ResponseDto<GalaxyQueryUserTradeAllListRespDto> queryUserTradeAllList(GalaxyQueryUserTradeAllListReqDto reqDto) { public ResponseDto<GalaxyQueryUserTradeAllListRespDto> queryUserTradeAllList(GalaxyQueryUserTradeAllListReqDto reqDto) {
return null; Nft042TradeAllListReqDto nft042TradeAllListReqDto = Nft042TradeAllListReqDto.getNew();
nft042TradeAllListReqDto.setAddr(reqDto.getBlockChainAddress());
nft042TradeAllListReqDto.setLimit(1000l);
ZxlnftResponseDto<Nft042TradeAllListRespDto> zxlnftResponseDto = zxlnftSdkUtil.nft042TradeAllList(nft042TradeAllListReqDto);
GalaxyQueryUserTradeAllListRespDto queryUserTradeAllListRespDto = GalaxyQueryUserTradeAllListRespDto.getNew();
if(zxlnftResponseDto.isSuccess()){
BeanUtil.copy(zxlnftResponseDto.getData(),queryUserTradeAllListRespDto);
}else{
return ResponseDto.failure();
}
return ResponseDto.success(queryUserTradeAllListRespDto);
} }
@Override @Override
public ResponseDto<GalaxyQueryUserTradeInListRespDto> queryUserTradeInList(GalaxyQueryUserTradeInListReqDto reqDto) { public ResponseDto<GalaxyQueryUserTradeInListRespDto> queryUserTradeInList(GalaxyQueryUserTradeInListReqDto reqDto) {
return null; Nft040TradeInListReqDto nft040TradeInListReqDto = Nft040TradeInListReqDto.getNew();
nft040TradeInListReqDto.setAddr(reqDto.getBlockChainAddress());
nft040TradeInListReqDto.setLimit(1000l);
ZxlnftResponseDto<Nft040TradeInListRespDto> zxlnftResponseDto = zxlnftSdkUtil.nft040TradeInList(nft040TradeInListReqDto);
GalaxyQueryUserTradeInListRespDto queryUserTradeInListRespDto = GalaxyQueryUserTradeInListRespDto.getNew();
if(zxlnftResponseDto.isSuccess()){
BeanUtil.copy(zxlnftResponseDto.getData(),queryUserTradeInListRespDto);
}else{
return ResponseDto.failure();
}
return ResponseDto.success(queryUserTradeInListRespDto);
} }
@Override @Override
public ResponseDto<GalaxyQueryUserTradeOutListRespDto> queryUserTradeOutList(GalaxyQueryUserTradeOutListReqDto reqDto) { public ResponseDto<GalaxyQueryUserTradeOutListRespDto> queryUserTradeOutList(GalaxyQueryUserTradeOutListReqDto reqDto) {
return null; Nft041TradeOutListReqDto nft041TradeOutListReqDto = Nft041TradeOutListReqDto.getNew();
nft041TradeOutListReqDto.setAddr(reqDto.getBlockChainAddress());
nft041TradeOutListReqDto.setLimit(1000l);
ZxlnftResponseDto<Nft041TradeOutListRespDto> zxlnftResponseDto = zxlnftSdkUtil.nft041TradeOutList(nft041TradeOutListReqDto);
GalaxyQueryUserTradeOutListRespDto queryUserTradeOutListRespDto = GalaxyQueryUserTradeOutListRespDto.getNew();
if(zxlnftResponseDto.isSuccess()){
BeanUtil.copy(zxlnftResponseDto.getData(),queryUserTradeOutListRespDto);
}else{
return ResponseDto.failure();
}
return ResponseDto.success(queryUserTradeOutListRespDto);
} }
} }
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