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

Commit 3e8e99b1 authored by anjiabin's avatar anjiabin

调试至信链NFt购买接口

parent b93c122c
package com.liquidnet.common.third.zxlnft.dto;
import com.liquidnet.common.third.zxlnft.dto.nft.Nft032SeriesResp;
import com.liquidnet.commons.lang.util.JsonUtils;
import lombok.Data;
......@@ -16,42 +17,47 @@ import java.io.Serializable;
*/
@Data
public class Nft032SeriesRespDto implements Serializable {
/**
* 系列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 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();
public static Nft032SeriesRespDto getNew() {
......
......@@ -16,42 +16,47 @@ import java.io.Serializable;
*/
@Data
public class Nft032SeriesResp implements Serializable {
/**
* 系列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 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 Nft032SeriesResp obj = new Nft032SeriesResp();
public static Nft032SeriesResp getNew() {
......
......@@ -49,7 +49,7 @@ public class Nft043BuyReq implements Serializable {
*/
private String signature;
/**
* 要购买的nftId
* 平台方的私钥签名
*/
private String platformSignature;
private static final Nft043BuyReq obj = new Nft043BuyReq();
......
......@@ -891,6 +891,24 @@ public class ZxlnftSdkUtil {
Nft043BuyReq req = Nft043BuyReq.getNew();
BeanUtil.copy(reqDto,req);
//设置平台公钥
req.setPlatformPubKey(zxlnftConfig.getNftPlatformPubKey());
/**
* 接收人的私钥签名,签名对象是(platformPubKey_receiverPubKey_pointReceiverAddr_applyScore_接口名_nftId_offerCount_operateId)
* 接口名:buy_nft
*/
String signMetaData = req.getPlatformPubKey()
.concat("_").concat(req.getReceiverPubKey())
.concat("_").concat(req.getPointReceiverAddr())
.concat("_").concat(req.getApplyScore().toString())
.concat("_").concat("buy_nft")
.concat("_").concat(req.getNftId())
.concat("_").concat(req.getOfferCount().toString())
.concat("_").concat(req.getOperateId());
String signature = zxlnftBiz.createSign(zxlnftConfig.getNftPlatformPriKey(),signMetaData);
req.setPlatformSignature(signature);
Nft043BuyRespDto respDto = Nft043BuyRespDto.getNew();
try{
Nft043BuyResp resp = zxlnftSdkService.nft043Buy(req);
......@@ -908,6 +926,9 @@ public class ZxlnftSdkUtil {
Nft044BuyResultReq req = Nft044BuyResultReq.getNew();
BeanUtil.copy(reqDto,req);
//设置平台公钥
req.setPlatformPubKey(zxlnftConfig.getNftPlatformPubKey());
Nft044BuyResultRespDto respDto = Nft044BuyResultRespDto.getNew();
try{
Nft044BuyResultResp resp = zxlnftSdkService.nft044BuyResult(req);
......@@ -925,6 +946,9 @@ public class ZxlnftSdkUtil {
Nft045BuyPayResultReq req = Nft045BuyPayResultReq.getNew();
BeanUtil.copy(reqDto,req);
//设置平台公钥
req.setPlatformPubKey(zxlnftConfig.getNftPlatformPubKey());
Nft045BuyPayResultRespDto respDto = Nft045BuyPayResultRespDto.getNew();
try{
Nft045BuyPayResultResp resp = zxlnftSdkService.nft045BuyPayResult(req);
......
......@@ -47,6 +47,8 @@ public class TestZxlnftSdkUtil {
private static String zhouhuanPubKey = "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAELZtnP30dbtdFrvherJxfpPEQP+q3\nRyrtECAuEwZg3o8/RLJva0O6unNLHGavkwd77l5UgvX4cPNoX/OV6n/3xQ==\n-----END PUBLIC KEY-----\n";
private static String zhouhuanPriKey = "-----BEGIN PRIVATE KEY-----\nMIGTAgEAMBMGByqGSM49AgEGCCqBHM9VAYItBHkwdwIBAQQgNBYWsObyiuXLIZZZ\nPa0P/aNSrlf3//TLkdhZsDroRNugCgYIKoEcz1UBgi2hRANCAAQtm2c/fR1u10Wu\n+F6snF+k8RA/6rdHKu0QIC4TBmDejz9Esm9rQ7q6c0scZq+TB3vuXlSC9fhw82hf\n85Xqf/fF\n-----END PRIVATE KEY-----\n";
private static String zhouhuanAddress1 = "ZXf8dcce2b5374610631735ad4d606372ff199d89e";
private static String zhouhuanAddress2 = "ZX26ff9db9cf1e981e3028b7e133d54b28eb859f97";
@Test
......@@ -331,9 +333,9 @@ public class TestZxlnftSdkUtil {
@Test
public void nft029PointQuery(){
Nft029PointQueryReqDto reqDto = Nft029PointQueryReqDto.getNew();
reqDto.setAddr("ZXa66c8a684727d0f9aaa434044362aa8a18b61bb4");
// reqDto.setAddr("ZXa66c8a684727d0f9aaa434044362aa8a18b61bb4");
//周焕1
// reqDto.setAddr("ZXf8dcce2b5374610631735ad4d606372ff199d89e");
reqDto.setAddr("ZXf8dcce2b5374610631735ad4d606372ff199d89e");
//周焕2
// reqDto.setAddr("ZX26ff9db9cf1e981e3028b7e133d54b28eb859f97");
ZxlnftResponseDto<Nft029PointQueryRespDto> resp = zxlnftSdkUtil.nft029PointQuery(reqDto);
......@@ -346,10 +348,21 @@ public class TestZxlnftSdkUtil {
@Test
public void nft030SeriesClaim(){
// Nft030SeriesClaimReqDto reqDto = Nft030SeriesClaimReqDto.getNew();
// reqDto.setPubKey(zxlnftConfig.getNftPlatformPubKey());
// reqDto.setSeriesName("北京草莓音乐节2022主题模型-系列002");
// reqDto.setTotalCount(10l);
// reqDto.setOperateId(IDGenerator.get32UUID());
// reqDto.setCoverUrl("https://zhixinliantest-1302317679.cos.ap-guangzhou.myqcloud.com/nft/4e40d5f6f65aa8ec9bc33ab424e0167e68783bbe95d4d265086314d749808eef/ZXLNFTIMAGE202202241512003609141721.jpg");
// reqDto.setDesc("系列描述信息不超过500字符");
// reqDto.setMaxPublishCount(0);
// reqDto.setSeriesBeginFromZero(false);
//无限制系列
Nft030SeriesClaimReqDto reqDto = Nft030SeriesClaimReqDto.getNew();
reqDto.setPubKey(zxlnftConfig.getNftPlatformPubKey());
reqDto.setSeriesName("北京草莓音乐节2022主题模型-系列002");
reqDto.setTotalCount(10l);
reqDto.setSeriesName("北京草莓音乐节2022主题模型-系列000");
reqDto.setTotalCount(0l);
reqDto.setOperateId(IDGenerator.get32UUID());
reqDto.setCoverUrl("https://zhixinliantest-1302317679.cos.ap-guangzhou.myqcloud.com/nft/4e40d5f6f65aa8ec9bc33ab424e0167e68783bbe95d4d265086314d749808eef/ZXLNFTIMAGE202202241512003609141721.jpg");
reqDto.setDesc("系列描述信息不超过500字符");
......@@ -363,12 +376,13 @@ public class TestZxlnftSdkUtil {
@Test
public void nft031SeriesClaimResult(){
Nft031SeriesClaimResultReqDto reqDto = Nft031SeriesClaimResultReqDto.getNew();
//第零个系列 无限制系列
reqDto.setTaskId("e1788c18-f72b-4dc3-8394-1c5f90d8aea6_nft-series-claim_1");
//第一个系列 北京草莓音乐节2022主题模型-系列001
// reqDto.setTaskId("ac760fac-8992-41e2-93d9-7f3bc2108714_nft-series-claim_1");
reqDto.setTaskId("dc92bbd6-eb95-4452-99f8-0726001367be_nft-series-claim_1");
// reqDto.setTaskId("dc92bbd6-eb95-4452-99f8-0726001367be_nft-series-claim_1");
//第二个系列 北京草莓音乐节2022主题模型-系列002
// reqDto.setTaskId("05b33c4b-c1e2-49c1-99bb-7ca05397c528_nft-series-claim_1");
reqDto.setTaskId("0d951a6b-0697-4ede-83f2-e31485f380ce_nft-series-claim_1");
// reqDto.setTaskId("0d951a6b-0697-4ede-83f2-e31485f380ce_nft-series-claim_1");
ZxlnftResponseDto<Nft031SeriesClaimResultRespDto> resp = zxlnftSdkUtil.nft031SeriesClaimResult(reqDto);
System.out.println(resp.toJson());
}
......@@ -376,7 +390,11 @@ public class TestZxlnftSdkUtil {
@Test
public void nft032Series(){
Nft032SeriesReqDto reqDto = Nft032SeriesReqDto.getNew();
//第零个系列 无限制系列查询
// reqDto.setSeriesId("4e40d5f6f65aa8ec9bc33ab424e0167e68783bbe95d4d265086314d749808eef_8a827e181b695fb8d9b081d3855d2895ced1d003ee186622a005cec37ea77e59");
//第一个系列
reqDto.setSeriesId("4e40d5f6f65aa8ec9bc33ab424e0167e68783bbe95d4d265086314d749808eef_ca49b5ebadd5f73ab057fe869bf897cbcc0f31e0b89db71cc3ec78bca2d16ed6");
//第二个系列
// reqDto.setSeriesId("4e40d5f6f65aa8ec9bc33ab424e0167e68783bbe95d4d265086314d749808eef_31ff9f7d4c33c98518e095fec6cecdab8d337751602cf6e651eb7d131cff5b61");
ZxlnftResponseDto<Nft032SeriesRespDto> resp = zxlnftSdkUtil.nft032Series(reqDto);
System.out.println(resp.toJson());
......@@ -393,16 +411,39 @@ public class TestZxlnftSdkUtil {
@Test
public void nft034Publish(){
// Nft034PublishReqDto reqDto = Nft034PublishReqDto.getNew();
// reqDto.setAuthor("正在现场创作者001");
// reqDto.setName("北京2022草莓音乐节2022");
// reqDto.setUrl("https://zhixinliantest-1302317679.cos.ap-guangzhou.myqcloud.com/nft/4e40d5f6f65aa8ec9bc33ab424e0167e68783bbe95d4d265086314d749808eef/ZXLNFTIMAGE202202241512003609141721.jpg");
// reqDto.setDisplayUrl("https://zhixinliantest-1302317679.cos.ap-guangzhou.myqcloud.com/nft/4e40d5f6f65aa8ec9bc33ab424e0167e68783bbe95d4d265086314d749808eef/ZXLNFTIMAGE202202241512003609141721.jpg");
// reqDto.setDesc("NFT描述信息");
// reqDto.setFlag("文创");
// reqDto.setPublishCount(1l);
//// reqDto.setSeriesId("");
// reqDto.setSeriesBeginIndex(1);
// reqDto.setSellStatus(Integer.parseInt(ZxlnftEnum.SellStatusEnum.CAN_SELL.getCode()));
// reqDto.setSellCount(1000l);
// reqDto.setOperateId(IDGenerator.get32UUID());
// reqDto.setMetaData("");
/**
* 发行无限制系列
*/
Nft034PublishReqDto reqDto = Nft034PublishReqDto.getNew();
reqDto.setAuthor("正在现场创作者001");
reqDto.setName("北京2022草莓音乐节2022");
reqDto.setName("上海草莓音乐节2022");
reqDto.setUrl("https://zhixinliantest-1302317679.cos.ap-guangzhou.myqcloud.com/nft/4e40d5f6f65aa8ec9bc33ab424e0167e68783bbe95d4d265086314d749808eef/ZXLNFTIMAGE202202241512003609141721.jpg");
reqDto.setDisplayUrl("https://zhixinliantest-1302317679.cos.ap-guangzhou.myqcloud.com/nft/4e40d5f6f65aa8ec9bc33ab424e0167e68783bbe95d4d265086314d749808eef/ZXLNFTIMAGE202202241512003609141721.jpg");
reqDto.setDesc("NFT描述信息");
reqDto.setFlag("文创");
reqDto.setPublishCount(1l);
// reqDto.setSeriesId("");
reqDto.setSeriesBeginIndex(1);
reqDto.setPublishCount(6l);
//无限制零系列
// reqDto.setSeriesId("4e40d5f6f65aa8ec9bc33ab424e0167e68783bbe95d4d265086314d749808eef_8a827e181b695fb8d9b081d3855d2895ced1d003ee186622a005cec37ea77e59");
// //系列001
reqDto.setSeriesId("4e40d5f6f65aa8ec9bc33ab424e0167e68783bbe95d4d265086314d749808eef_ca49b5ebadd5f73ab057fe869bf897cbcc0f31e0b89db71cc3ec78bca2d16ed6");
// //系列002
// reqDto.setSeriesId("4e40d5f6f65aa8ec9bc33ab424e0167e68783bbe95d4d265086314d749808eef_31ff9f7d4c33c98518e095fec6cecdab8d337751602cf6e651eb7d131cff5b61");
reqDto.setSeriesBeginIndex(6);
reqDto.setSellStatus(Integer.parseInt(ZxlnftEnum.SellStatusEnum.CAN_SELL.getCode()));
reqDto.setSellCount(1000l);
reqDto.setOperateId(IDGenerator.get32UUID());
......@@ -420,7 +461,25 @@ public class TestZxlnftSdkUtil {
Nft035PublishResultReqDto reqDto = Nft035PublishResultReqDto.getNew();
// reqDto.setTaskId("5d23ed47-dcb2-4672-99eb-060c04727a20_nft-publish_3");
// reqDto.setTaskId("15ba80bb-a5f9-41db-b708-20bf4df34c14_nft-publish_3");
reqDto.setTaskId("1b8b94c0-e9d1-4885-97a5-ae1b82302e17_nft-publish_3");
// reqDto.setTaskId("1b8b94c0-e9d1-4885-97a5-ae1b82302e17_nft-publish_3");
//无限制系列发行 1
reqDto.setTaskId("5a53f3ea-64a5-45a2-828b-196887990696_nft-publish_3");
//无限制系列发行 2
reqDto.setTaskId("f87f687f-0b3c-46fa-b23b-d1bbf6c2594f_nft-publish_3");
//北京草莓无限制系列发行 4
reqDto.setTaskId("ee26ee9c-7005-48ca-bbc0-3e367c641dce_nft-publish_3");
//上海草莓无限制系列发行 4 发行失败 已经存在
reqDto.setTaskId("76087122-b417-49ce-bed6-54a106375293_nft-publish_3");
//上海草莓无限制系列发行 5
reqDto.setTaskId("4d208028-36af-463b-b8ce-d1ca784df7b7_nft-publish_3");
//上海草莓无限制系列发行 6 共5个
reqDto.setTaskId("7bb78a44-aebe-460e-9624-7914cfc6854b_nft-publish_3");
//上海草莓无限制系列发行 11 共5个
reqDto.setTaskId("eee6ca98-e497-43bd-969d-cdc599d0f2bd_nft-publish_3");
//系列001 发行ID1 共5个
reqDto.setTaskId("45ebcf2a-5d71-44fc-a7f3-f88f3c92cfe6_nft-publish_3");
//系列001 发行ID6 共6个
reqDto.setTaskId("2f1eae08-6b52-42ff-ac69-78cca7bf6913_nft-publish_3");
ZxlnftResponseDto<Nft035PublishResultRespDto> resp = zxlnftSdkUtil.nft035PublishResult(reqDto);
System.out.println(resp.toJson());
}
......@@ -435,4 +494,56 @@ public class TestZxlnftSdkUtil {
ZxlnftResponseDto<Nft036InfoRespDto> resp = zxlnftSdkUtil.nft036Info(reqDto);
System.out.println(resp.toJson());
}
@Test
public void nft043Buy(){
Nft043BuyReqDto reqDto = Nft043BuyReqDto.getNew();
// reqDto.setNftId("7f73aca56caaf57a20f0afff59318528f0f09ffbf028fe882161d3ce599d2854_1");
reqDto.setNftId("08c152e5fa467d28b7add8e408fb3ecd1ed2ff209364adc1e394bde53929df8f_1");
reqDto.setApplyScore(100);
reqDto.setReceiverPubKey(zhouhuanPubKey);
reqDto.setPointReceiverAddr(zhouhuanAddress1);
reqDto.setOfferCount(100l);
reqDto.setOperateId(IDGenerator.get32UUID());
/**
* 接收人的私钥签名,签名对象是(platformPubKey_receiverPubKey_pointReceiverAddr_applyScore_接口名_nftId_offerCount_operateId)
* 接口名:buy_nft
*/
String signMetaData = zxlnftConfig.getNftPlatformPubKey()
.concat("_").concat(reqDto.getReceiverPubKey())
.concat("_").concat(reqDto.getPointReceiverAddr())
.concat("_").concat(reqDto.getApplyScore().toString())
.concat("_").concat("buy_nft")
.concat("_").concat(reqDto.getNftId())
.concat("_").concat(reqDto.getOfferCount().toString())
.concat("_").concat(reqDto.getOperateId());
String signature = zxlnftBiz.createSign(zhouhuanPriKey,signMetaData);
reqDto.setSignature(signature);
ZxlnftResponseDto<Nft043BuyRespDto> resp = zxlnftSdkUtil.nft043Buy(reqDto);
System.out.println(resp.toJson());
}
/**
* NFT发行
*/
@Test
public void nft044BuyResult(){
Nft044BuyResultReqDto reqDto = Nft044BuyResultReqDto.getNew();
reqDto.setTaskId("1db6d5c6-9f98-41e0-a864-7e9eb6d6d0cf_buy-nft_2");
ZxlnftResponseDto<Nft044BuyResultRespDto> resp = zxlnftSdkUtil.nft044BuyResult(reqDto);
System.out.println(resp.toJson());
}
/**
* NFT发行
*/
@Test
public void nft045BuyPayResult(){
Nft045BuyPayResultReqDto reqDto = Nft045BuyPayResultReqDto.getNew();
reqDto.setTaskId("1db6d5c6-9f98-41e0-a864-7e9eb6d6d0cf_buy-nft_2");
ZxlnftResponseDto<Nft045BuyPayResultRespDto> resp = zxlnftSdkUtil.nft045BuyPayResult(reqDto);
System.out.println(resp.toJson());
}
}
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