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

Commit 6eda986e authored by anjiabin's avatar anjiabin

nft修改购买逻辑

parent 62888341
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 javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.List;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @Description: 发行+购买结果查询
* @class: GalaxyNftPublishResultQueryReqDto
* @Package com.liquidnet.service.galaxy.dto.param
* @Copyright: LightNet @ Copyright (c) 2021
* @date 2022/3/28 11:22
*/
@ApiModel(value = "GalaxyNftPublishResultQueryReqDto", description = "NFT发行结果查询")
@Data
public class GalaxyNftPublishAndBuyResultBatchQueryReqDto extends GalaxyBaseReqDto implements Serializable,Cloneable {
@ApiModelProperty(position = 1, required = true, value = "用户ID[30]")
@NotBlank(message = "用户ID不能为空!")
@Size(min = 1, max = 30, message = "用户ID限制2-30位且不能包含特殊字符")
private String userId;
/**
* nftOrderPayId
*/
@ApiModelProperty(position = 1, required = true, value = "nft订单支付idList不能为空")
@NotNull(message = "nft订单支付idList不能为空")
private List<String> orderInfoList;
@Override
public String toString(){
return JsonUtils.toJson(this);
}
private static final GalaxyNftPublishAndBuyResultBatchQueryReqDto obj = new GalaxyNftPublishAndBuyResultBatchQueryReqDto();
public static GalaxyNftPublishAndBuyResultBatchQueryReqDto getNew() {
try {
return (GalaxyNftPublishAndBuyResultBatchQueryReqDto) obj.clone();
} catch (CloneNotSupportedException e) {
return new GalaxyNftPublishAndBuyResultBatchQueryReqDto();
}
}
public static class OrderInfo{
@ApiModelProperty(position = 1, required = true, value = "nft订单支付id")
private String nftOrderPayId;
}
}
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 java.io.Serializable;
import java.util.List;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @Description: 发行+购买结果查询
* @class: GalaxyNftPublishResultQueryRespDto
* @Package com.liquidnet.service.galaxy.dto.param
* @Copyright: LightNet @ Copyright (c) 2021
* @date 2022/3/28 11:22
*/
@ApiModel(value = "GalaxyNftPublishResultQueryRespDto", description = "NFT发行结果查询")
@Data
public class GalaxyNftPublishAndBuyResultBatchQueryRespDto implements Serializable,Cloneable {
@ApiModelProperty(position = 1, required = true, value = "用户ID[30]")
private String userId;
@ApiModelProperty(position = 1, required = true, value = "用户购买信息List")
private List<BuyInfo> buyInfoList;
@Override
public String toString() {
return JsonUtils.toJson(this);
}
private static final GalaxyNftPublishAndBuyResultBatchQueryRespDto obj = new GalaxyNftPublishAndBuyResultBatchQueryRespDto();
public static GalaxyNftPublishAndBuyResultBatchQueryRespDto getNew() {
try {
return (GalaxyNftPublishAndBuyResultBatchQueryRespDto) obj.clone();
} catch (CloneNotSupportedException e) {
return new GalaxyNftPublishAndBuyResultBatchQueryRespDto();
}
}
@Data
public static class BuyInfo{
@ApiModelProperty(position = 2, required = true, value = "nft订单唯一id")
private String nftOrderPayId;
@ApiModelProperty(position = 2, required = true, value = "nftId")
private String nftId;
@ApiModelProperty(position = 3, required = true, value = "nft发行时间")
private String nftPublishChainTimestamp;
@ApiModelProperty(position = 4, required = true, value = "nft发行状态")
private String nftPublishStatus;
@ApiModelProperty(position = 5, required = true, value = "nft发行交易hash")
private String nftPublishTxHash;
@ApiModelProperty(position = 6, required = true, value = "nft购买时间")
private String nftBuyChainTimestamp;
@ApiModelProperty(position = 7, required = true, value = "nft购买状态")
private String nftBuyStatus;
@ApiModelProperty(position = 8, required = true, value = "nft购买交易hash")
private String nftBuyTxHash;
}
}
...@@ -23,4 +23,6 @@ public interface IGalaxyTradeService { ...@@ -23,4 +23,6 @@ public interface IGalaxyTradeService {
ResponseDto<GalaxyNftBuyPayResultQueryRespDto> nftBuyPayResultQuery(GalaxyNftBuyPayResultQueryReqDto reqDto); ResponseDto<GalaxyNftBuyPayResultQueryRespDto> nftBuyPayResultQuery(GalaxyNftBuyPayResultQueryReqDto reqDto);
ResponseDto<GalaxyNftPublishAndBuyResultQueryRespDto> nftPublishAndBuyResultQuery(GalaxyNftPublishAndBuyResultQueryReqDto reqDto); ResponseDto<GalaxyNftPublishAndBuyResultQueryRespDto> nftPublishAndBuyResultQuery(GalaxyNftPublishAndBuyResultQueryReqDto reqDto);
ResponseDto<GalaxyNftPublishAndBuyResultBatchQueryRespDto> nftPublishAndBuyResultBatchQuery(GalaxyNftPublishAndBuyResultBatchQueryReqDto reqDto);
} }
...@@ -67,6 +67,14 @@ public class GalaxyTradeController { ...@@ -67,6 +67,14 @@ public class GalaxyTradeController {
return galaxyTradeService.nftPublishAndBuyResultQuery(reqDto); return galaxyTradeService.nftPublishAndBuyResultQuery(reqDto);
} }
@ControllerLog(description = "NFT发行购买结果批量查询")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "NFT发行购买结果批量查询")
@PostMapping(value = {"nftPublishAndBuyResultBatchQuery"})
public ResponseDto<GalaxyNftPublishAndBuyResultBatchQueryRespDto> nftPublishAndBuyResultBatchQuery(@Valid @RequestBody GalaxyNftPublishAndBuyResultBatchQueryReqDto reqDto){
return galaxyTradeService.nftPublishAndBuyResultBatchQuery(reqDto);
}
// @ControllerLog(description = "NFT购买支付结果查询") // @ControllerLog(description = "NFT购买支付结果查询")
// @ApiOperationSupport(order = 1) // @ApiOperationSupport(order = 1)
// @ApiOperation(value = "NFT购买支付结果查询") // @ApiOperation(value = "NFT购买支付结果查询")
......
...@@ -46,4 +46,9 @@ public class GalaxyRouterStrategyEthTradeImpl implements IGalaxyRouterStrategyTr ...@@ -46,4 +46,9 @@ public class GalaxyRouterStrategyEthTradeImpl implements IGalaxyRouterStrategyTr
public ResponseDto<GalaxyNftPublishAndBuyResultQueryRespDto> nftPublishAndBuyResultQuery(GalaxyNftPublishAndBuyResultQueryReqDto reqDto) { public ResponseDto<GalaxyNftPublishAndBuyResultQueryRespDto> nftPublishAndBuyResultQuery(GalaxyNftPublishAndBuyResultQueryReqDto reqDto) {
return null; return null;
} }
@Override
public ResponseDto<GalaxyNftPublishAndBuyResultBatchQueryRespDto> nftPublishAndBuyResultBatchQuery(GalaxyNftPublishAndBuyResultBatchQueryReqDto reqDto) {
return null;
}
} }
...@@ -22,7 +22,9 @@ import org.springframework.stereotype.Component; ...@@ -22,7 +22,9 @@ import org.springframework.stereotype.Component;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* @author AnJiabin <anjiabin@zhengzai.tv> * @author AnJiabin <anjiabin@zhengzai.tv>
...@@ -308,20 +310,46 @@ public class ZxinTradeBiz { ...@@ -308,20 +310,46 @@ public class ZxinTradeBiz {
/** /**
* TODO 查询订单相关信息 * TODO 查询订单相关信息
*/ */
//3.2.5查询NFT购买支付结果
// Nft045BuyPayResultReqDto nft045ReqDto = Nft045BuyPayResultReqDto.getNew();
// nft045ReqDto.setTaskId(nftOrderBo.getNftBuyPayTaskId());
// ZxlnftResponseDto<Nft045BuyPayResultRespDto> nft045RespDto = zxlnftSdkUtil.nft045BuyPayResult(nft045ReqDto);
GalaxyNftPublishAndBuyResultQueryRespDto resultQueryRespDto = GalaxyNftPublishAndBuyResultQueryRespDto.getNew(); GalaxyNftPublishAndBuyResultQueryRespDto resultQueryRespDto = GalaxyNftPublishAndBuyResultQueryRespDto.getNew();
// BeanUtil.copy(nft045RespDto.getData(),resultQueryRespDto); GalaxyNftOrderBo galaxyNftOrderBo = dataUtils.getNftOrderBo(reqDto.getRouterType(),reqDto.getNftOrderPayId());
// String nowTimeStr = DateUtil.format(new Date(nft045RespDto.getData().getChainTimestamp().longValue()*1000),DateUtil.Formatter.yyyyMMddHHmmss); /**
//转换任务状态 * TODO 如果订单信息是购买失败,则直接调用至信链查询购买结果
// Integer taskStatus = Integer.valueOf(GalaxyEnumBiz.getTaskStatusEnum(reqDto.getRouterType(),nft045RespDto.getData().getTaskStatus().toString()).getCode()); */
if(StringUtil.isNull(galaxyNftOrderBo)){
//3.2.5查询NFT购买支付结果
Nft044BuyResultReqDto nft044ReqDto = Nft044BuyResultReqDto.getNew();
nft044ReqDto.setTaskId(nftOrderBo.getNftBuyTaskId());
ZxlnftResponseDto<Nft044BuyResultRespDto> nft044RespDto = zxlnftSdkUtil.nft044BuyResult(nft044ReqDto);
}
BeanUtil.copy(galaxyNftOrderBo,resultQueryRespDto);
return ResponseDto.success(resultQueryRespDto); return ResponseDto.success(resultQueryRespDto);
} }
/**
* NFT发行和购买批量查询
* @param reqDto
* @return
*/
public ResponseDto<GalaxyNftPublishAndBuyResultBatchQueryRespDto> nftPublishAndBuyResultBatchQuery(GalaxyNftPublishAndBuyResultBatchQueryReqDto reqDto) {
List<GalaxyNftPublishAndBuyResultBatchQueryRespDto.BuyInfo> buyInfoList = new ArrayList<>();
List<String> nftOrderPayIdList = reqDto.getOrderInfoList();
nftOrderPayIdList.stream().forEach(nftOrderPayId -> {
GalaxyNftPublishAndBuyResultQueryReqDto resultQueryReqDto = GalaxyNftPublishAndBuyResultQueryReqDto.getNew();
resultQueryReqDto.setUserId(reqDto.getUserId());
resultQueryReqDto.setNftOrderPayId(nftOrderPayId);
resultQueryReqDto.setRouterType(reqDto.getRouterType());
ResponseDto<GalaxyNftPublishAndBuyResultQueryRespDto> resultQueryRespDto = this.nftPublishAndBuyResultQuery(resultQueryReqDto);
GalaxyNftPublishAndBuyResultBatchQueryRespDto.BuyInfo buyInfo = new GalaxyNftPublishAndBuyResultBatchQueryRespDto.BuyInfo();
BeanUtil.copy(resultQueryRespDto,buyInfo);
buyInfoList.add(buyInfo);
});
GalaxyNftPublishAndBuyResultBatchQueryRespDto resultBatchQueryRespDto = GalaxyNftPublishAndBuyResultBatchQueryRespDto.getNew();
resultBatchQueryRespDto.setUserId(reqDto.getUserId());
resultBatchQueryRespDto.setBuyInfoList(buyInfoList);
return ResponseDto.success(resultBatchQueryRespDto);
}
private GalaxyNftBuyRespDto nftBuyBusiness(String routerType,String nftId,GalaxyUserInfoBo userInfoBo, GalaxySeriesNftInfoBo seriesNftInfoBo,GalaxyNftOrderBo nftOrderBo){ private GalaxyNftBuyRespDto nftBuyBusiness(String routerType,String nftId,GalaxyUserInfoBo userInfoBo, GalaxySeriesNftInfoBo seriesNftInfoBo,GalaxyNftOrderBo nftOrderBo){
// 3.2.2调用购买NFT接口 // 3.2.2调用购买NFT接口
Nft043BuyReqDto nft043BuyReqDto = Nft043BuyReqDto.getNew(); Nft043BuyReqDto nft043BuyReqDto = Nft043BuyReqDto.getNew();
......
...@@ -52,6 +52,11 @@ public class GalaxyRouterStrategyZxlTradeImpl implements IGalaxyRouterStrategyTr ...@@ -52,6 +52,11 @@ public class GalaxyRouterStrategyZxlTradeImpl implements IGalaxyRouterStrategyTr
return zxinTradeBiz.nftPublishAndBuyResultQuery(reqDto); return zxinTradeBiz.nftPublishAndBuyResultQuery(reqDto);
} }
@Override
public ResponseDto<GalaxyNftPublishAndBuyResultBatchQueryRespDto> nftPublishAndBuyResultBatchQuery(GalaxyNftPublishAndBuyResultBatchQueryReqDto reqDto) {
return zxinTradeBiz.nftPublishAndBuyResultBatchQuery(reqDto);
}
@Override @Override
public ResponseDto<GalaxyNftBuyRespDto> nftBuy(GalaxyNftBuyReqDto reqDto) { public ResponseDto<GalaxyNftBuyRespDto> nftBuy(GalaxyNftBuyReqDto reqDto) {
return zxinTradeBiz.nftBuy(reqDto); return zxinTradeBiz.nftBuy(reqDto);
......
...@@ -47,4 +47,9 @@ public class GalaxyTradeServiceImpl implements IGalaxyTradeService { ...@@ -47,4 +47,9 @@ public class GalaxyTradeServiceImpl implements IGalaxyTradeService {
public ResponseDto<GalaxyNftPublishAndBuyResultQueryRespDto> nftPublishAndBuyResultQuery(GalaxyNftPublishAndBuyResultQueryReqDto reqDto) { public ResponseDto<GalaxyNftPublishAndBuyResultQueryRespDto> nftPublishAndBuyResultQuery(GalaxyNftPublishAndBuyResultQueryReqDto reqDto) {
return galaxyRouterStrategyContext.getTradeStrategy(reqDto.getRouterType()).nftPublishAndBuyResultQuery(reqDto); return galaxyRouterStrategyContext.getTradeStrategy(reqDto.getRouterType()).nftPublishAndBuyResultQuery(reqDto);
} }
@Override
public ResponseDto<GalaxyNftPublishAndBuyResultBatchQueryRespDto> nftPublishAndBuyResultBatchQuery(GalaxyNftPublishAndBuyResultBatchQueryReqDto reqDto) {
return galaxyRouterStrategyContext.getTradeStrategy(reqDto.getRouterType()).nftPublishAndBuyResultBatchQuery(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