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

Commit c9a39193 authored by anjiabin's avatar anjiabin

调试至信链NFt购买接口

parent 62aaa2b3
......@@ -172,17 +172,76 @@ public class WalletSdkServiceImpl implements WalletSdkService {
@Override
public PriKey2PubKeyResp priKey2PubKey(PriKey2PubKeyReq req) {
return null;
JSONObject json = new JSONObject();
json.put("pri", req.getPri());
String requestUrl = zxlnftConfig.getWalletSdkUrl() + ZxlnftConstant.WALLET_SDK_07_PRI_KEY_2_PUB_KEY;
log.info("priKey2PubKey--->>> request url : {} body : {} ",requestUrl, json.toString());
String response = null;
try {
response = HttpUtil.postJson(requestUrl,json.toString(),commonHeader);
} catch(HttpClientErrorException e) {
log.error("priKey2PubKey error", e);
}catch (Exception e) {
log.error("priKey2PubKey error",e);
}
log.info("priKey2PubKey--->>> response : {} ",response);
if (StringUtils.isEmpty(response)) {
return null;
}
PriKey2PubKeyResp resp = JsonUtils.fromJson(response,PriKey2PubKeyResp.class);
return resp;
}
@Override
public PubKey2AddressResp pubKey2Address(PubKey2AddressReq req) {
return null;
JSONObject json = new JSONObject();
json.put("pubKey", req.getPubKey());
String requestUrl = zxlnftConfig.getWalletSdkUrl() + ZxlnftConstant.WALLET_SDK_08_PUB_KEY_2_ADDRESS;
log.info("pubKey2Address--->>> request url : {} body : {} ",requestUrl, json.toString());
String response = null;
try {
response = HttpUtil.postJson(requestUrl,json.toString(),commonHeader);
} catch(HttpClientErrorException e) {
log.error("pubKey2Address error", e);
}catch (Exception e) {
log.error("pubKey2Address error",e);
}
log.info("pubKey2Address--->>> response : {} ",response);
if (StringUtils.isEmpty(response)) {
return null;
}
PubKey2AddressResp resp = JsonUtils.fromJson(response,PubKey2AddressResp.class);
return resp;
}
@Override
public PriKey2AddressResp priKey2Address(PriKey2AddressReq req) {
return null;
JSONObject json = new JSONObject();
json.put("priKey", req.getPriKey());
String requestUrl = zxlnftConfig.getWalletSdkUrl() + ZxlnftConstant.WALLET_SDK_09_PRI_KEY_2_ADDRESS;
log.info("priKey2Address--->>> request url : {} body : {} ",requestUrl, json.toString());
String response = null;
try {
response = HttpUtil.postJson(requestUrl,json.toString(),commonHeader);
} catch(HttpClientErrorException e) {
log.error("priKey2Address error", e);
}catch (Exception e) {
log.error("priKey2Address error",e);
}
log.info("priKey2Address--->>> response : {} ",response);
if (StringUtils.isEmpty(response)) {
return null;
}
PriKey2AddressResp resp = JsonUtils.fromJson(response,PriKey2AddressResp.class);
return resp;
}
@Override
......
......@@ -127,6 +127,36 @@ public class ZxlWalletSdkUtil {
return resp;
}
/**
* 7、私钥生成对应公钥
* @param req
* @return
*/
public PriKey2PubKeyResp priKey2PubKey(PriKey2PubKeyReq req){
PriKey2PubKeyResp resp = walletSdkService.priKey2PubKey(req);
return resp;
}
/**
* 8、公钥生成对应地址
* @param req
* @return
*/
public PubKey2AddressResp pubKey2Address(PubKey2AddressReq req){
PubKey2AddressResp resp = walletSdkService.pubKey2Address(req);
return resp;
}
/**
* 9、私钥生成对应地址
* @param req
* @return
*/
public PriKey2AddressResp priKey2Address(PriKey2AddressReq req){
PriKey2AddressResp resp = walletSdkService.priKey2Address(req);
return resp;
}
/**
* 10、SDK验签
* @param req
......
......@@ -25,6 +25,15 @@ import java.nio.charset.StandardCharsets;
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest
public class TestZxlWalletSdkUtil {
private static String platFormPubKey1 = "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAE+h73KDgGzZznkP02tXTc0DU3mfXp\nvr7KWAlB63p8J2SU9FtusK5ApcbjoqgPunIkpChvRHQuVKyQpZtBDza3lQ==\n-----END PUBLIC KEY-----\n";
private static String zhouhuanPubKey1 = "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAERAYCoqlcb1/C+b085HO4RWbIFx/n\nw6zkU3tvIYhBi1Xjj7GMdE/dR6D2fCQGWHqdYwQUb6/kS67Yjx47prxREg==\n-----END PUBLIC KEY-----\n";
private static String zhouhuanPriKey1 = "-----BEGIN PRIVATE KEY-----\nMIGTAgEAMBMGByqGSM49AgEGCCqBHM9VAYItBHkwdwIBAQQgjSDapAU4gujWk9mM\nCE1tOokocdKrHMkfvZ0vfaWM+MOgCgYIKoEcz1UBgi2hRANCAAREBgKiqVxvX8L5\nvTzkc7hFZsgXH+fDrORTe28hiEGLVeOPsYx0T91HoPZ8JAZYep1jBBRvr+RLrtiP\nHjumvFES\n-----END PRIVATE KEY-----\n";
private static String zhouhuanPubKey2 = "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAELZtnP30dbtdFrvherJxfpPEQP+q3\nRyrtECAuEwZg3o8/RLJva0O6unNLHGavkwd77l5UgvX4cPNoX/OV6n/3xQ==\n-----END PUBLIC KEY-----\n";
private static String zhouhuanPriKey2 = "-----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";
@Autowired
private ZxlWalletSdkUtil zxlWalletSdkUtil;
......@@ -90,14 +99,16 @@ public class TestZxlWalletSdkUtil {
public void deriveKeyPair(){
DeriveKeyPairReq req = DeriveKeyPairReq.getNew();
// req.setPriKey(zxlnftConfig.getNftPlatformPriKey());
// req.setMnemonic("stuff");
// req.setIndex(0l);
//stuff name goat health siren dumb gorilla antique board tenant buffalo present
req.setMnemonic("stuff name goat health siren dumb gorilla antique board tenant buffalo present");
req.setIndex(1l);
// req.setMnemonic("region");
// req.setIndex(0l);
req.setMnemonic("use");
req.setIndex(2l);
//
// req.setMnemonic("use");
// req.setIndex(2l);
//3045022072ba19d02f43ae883764ffa43d111ab62fd0bcd6ace31bc91356e7ce38756cbb022100deb5f7666f4768f297ccdf386a867d2a0d71227548f2595a62130e5016fb1d54
zxlWalletSdkUtil.deriveKeyPair(req);
......@@ -116,6 +127,38 @@ public class TestZxlWalletSdkUtil {
zxlWalletSdkUtil.signByPriKey(req);
}
/**
* 7、私钥生成对应公钥
*/
@Test
public void priKey2PubKey(){
PriKey2PubKeyReq req = PriKey2PubKeyReq.getNew();
req.setPri(zhouhuanPriKey1);
zxlWalletSdkUtil.priKey2PubKey(req);
}
/**
* 8、公钥生成对应地址
*/
@Test
public void pubKey2Address(){
PubKey2AddressReq req = PubKey2AddressReq.getNew();
req.setPubKey(zxlnftConfig.getNftPlatformPubKey());
// req.setPubKey(zhouhuanPubKey1);
zxlWalletSdkUtil.pubKey2Address(req);
}
/**
* 9、私钥生成对应地址
*/
@Test
public void priKey2Address(){
PriKey2AddressReq req = PriKey2AddressReq.getNew();
req.setPriKey(zhouhuanPriKey1);
zxlWalletSdkUtil.priKey2Address(req);
}
/**
* 10、SDK验签
*/
......
......@@ -77,15 +77,17 @@ public class TestZxlnftSdkUtil {
@Test
public void nft003RegisterPersonPlatform(){
Nft003RegisterPersonPlatformReqDto reqDto = Nft003RegisterPersonPlatformReqDto.getNew();
// reqDto.setPersonName("安家宾");
//// reqDto.setEmail("");
// reqDto.setMobile("15711300982");
// reqDto.setIdCard("142323198302062216");
reqDto.setPersonName("周焕");
// userIdentification 68c8e0af922c450e35316977548971a1e5c335b1f5a4e21133257f0749b5c0a2
// 68c8e0af922c450e35316977548971a1e5c335b1f5a4e21133257f0749b5c0a2
reqDto.setPersonName("安家宾");
// reqDto.setEmail("");
reqDto.setMobile("18548596019");
reqDto.setIdCard("150422199805206019");
reqDto.setMobile("13811314082");
reqDto.setIdCard("142323198302062216");
// reqDto.setPersonName("周焕");
//// reqDto.setEmail("");
// reqDto.setMobile("18548596019");
// reqDto.setIdCard("150422199805206019");
reqDto.setCardType(Integer.valueOf(ZxlnftEnum.CardTypeEnum.ID_CARD.getCode()));
ZxlnftResponseDto<Nft003RegisterPersonPlatformRespDto> resp = zxlnftSdkUtil.nft003RegisterPersonPlatform(reqDto);
......@@ -186,14 +188,14 @@ public class TestZxlnftSdkUtil {
public void nft011UserQueryVerifyCode(){
Nft011UserQueryVerifyCodeReqDto reqDto = Nft011UserQueryVerifyCodeReqDto.getNew();
//查询用户信息 发送手机验证码
// reqDto.setType(1);
// reqDto.setCardNo("142323198302062216");
// reqDto.setScene(1);
//nft平台绑定地址 发送邮箱验证码
reqDto.setType(1);
reqDto.setCardNo("142323198302062216");
reqDto.setScene(2);
reqDto.setScene(1);
//nft平台绑定地址 发送邮箱验证码
// reqDto.setType(1);
// reqDto.setCardNo("142323198302062216");
// reqDto.setScene(2);
ZxlnftResponseDto<Nft011UserQueryVerifyCodeRespDto> resp = zxlnftSdkUtil.nft011UserQueryVerifyCode(reqDto);
System.out.println(resp.toJson());
}
......@@ -203,7 +205,7 @@ public class TestZxlnftSdkUtil {
Nft012UserQueryReqDto reqDto = Nft012UserQueryReqDto.getNew();
reqDto.setType(2);
reqDto.setCardNo("142323198302062216");
reqDto.setVerifyCode("676291");
reqDto.setVerifyCode("011851");
ZxlnftResponseDto<Nft012UserQueryRespDto> resp = zxlnftSdkUtil.nft012UserQuery(reqDto);
System.out.println(resp.toJson());
}
......@@ -506,12 +508,13 @@ public class TestZxlnftSdkUtil {
}
/**
* 查询账户NFT列表
* 37 查询账户NFT列表
*/
@Test
public void nft037AddressList(){
Nft037AddressListReqDto reqDto = Nft037AddressListReqDto.getNew();
reqDto.setAddr(zhouhuanAddress2);
reqDto.setAddr(zxlnftConfig.getNftPlatformAddress());
// reqDto.setAddr(zhouhuanAddress2);
//系列001
reqDto.setSeriesId("4e40d5f6f65aa8ec9bc33ab424e0167e68783bbe95d4d265086314d749808eef_ca49b5ebadd5f73ab057fe869bf897cbcc0f31e0b89db71cc3ec78bca2d16ed6");
// reqDto.setOffset(0l);
......@@ -526,7 +529,8 @@ public class TestZxlnftSdkUtil {
@Test
public void nft038AddressWithoutSeriesList(){
Nft038AddressWithoutSeriesListReqDto reqDto = Nft038AddressWithoutSeriesListReqDto.getNew();
reqDto.setAddr(zhouhuanAddress2);
reqDto.setAddr(zxlnftConfig.getNftPlatformAddress());
// reqDto.setAddr(zhouhuanAddress1);
// reqDto.setOffset(0l);
reqDto.setLimit(1000l);
ZxlnftResponseDto<Nft038AddressWithoutSeriesListRespDto> resp = zxlnftSdkUtil.nft038AddressWithoutSeriesList(reqDto);
......
package com.liquidnet.service.zxlnft;
import com.liquidnet.common.third.zxlnft.biz.ZxlnftBiz;
import com.liquidnet.common.third.zxlnft.constant.ZxlnftEnum;
import com.liquidnet.common.third.zxlnft.dto.*;
import com.liquidnet.common.third.zxlnft.dto.wallet.CreateMnemonicReq;
import com.liquidnet.common.third.zxlnft.dto.wallet.CreateMnemonicResp;
import com.liquidnet.common.third.zxlnft.dto.wallet.DeriveKeyPairReq;
import com.liquidnet.common.third.zxlnft.dto.wallet.DeriveKeyPairResp;
import com.liquidnet.common.third.zxlnft.util.ZxlWalletSdkUtil;
import com.liquidnet.common.third.zxlnft.util.ZxlnftSdkUtil;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @Description: TODO
* @class: TestZxlnftService
* @Package com.liquidnet.service.zxlnft
* @Copyright: LightNet @ Copyright (c) 2021
* @date 2022/3/3 16:55
*/
@Slf4j
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest
public class TestZxlnftService {
@Autowired
private ZxlnftSdkUtil zxlnftSdkUtil;
@Autowired
private ZxlWalletSdkUtil zxlWalletSdkUtil;
private ZxlnftBiz zxlnftBiz;
/**
* 1、NFT平台在至信链的注册、审核
*/
@Test
public void platformRegister(){
// 1.1.2调用下发查询用户信息验证码接口
// 1.1.3调用查询用户信息接口
// 1.1.4调用下发用户信息查询验证码接口
// 1.1.5调用NFT平台自身地址绑定接口
// 1.1.6调用绑定状态批量查询接口
}
/**
* 2、自然人用户通过NFT平台注册绑定
*/
@Test
public void personRegisterBind(){
//生成助记词
CreateMnemonicReq req = CreateMnemonicReq.getNew();
CreateMnemonicResp createMnemonicResp = zxlWalletSdkUtil.createMnemonic(req);
//生成公私钥
DeriveKeyPairReq deriveKeyPairReq = DeriveKeyPairReq.getNew();
deriveKeyPairReq.setMnemonic(createMnemonicResp.getMnemonic());
deriveKeyPairReq.setIndex(0l);
DeriveKeyPairResp deriveKeyPairResp = zxlWalletSdkUtil.deriveKeyPair(deriveKeyPairReq);
// 1.2.1调用自然人注册实名(使用NFT平台签名)接口
Nft003RegisterPersonPlatformReqDto nft003ReqDto = Nft003RegisterPersonPlatformReqDto.getNew();
nft003ReqDto.setPersonName("周焕");
// reqDto.setEmail("");
nft003ReqDto.setMobile("18548596019");
nft003ReqDto.setIdCard("150422199805206019");
nft003ReqDto.setCardType(Integer.valueOf(ZxlnftEnum.CardTypeEnum.ID_CARD.getCode()));
ZxlnftResponseDto<Nft003RegisterPersonPlatformRespDto> nft003Resp = zxlnftSdkUtil.nft003RegisterPersonPlatform(nft003ReqDto);
// 1.2.2调用授信平台NFT地址绑定接口
Nft014IdentityBindSubmitByTrustedReqDto nft004ReqDto = Nft014IdentityBindSubmitByTrustedReqDto.getNew();
//周焕
nft004ReqDto.setUserPubKey(deriveKeyPairResp.getPubKey());
nft004ReqDto.setUserIdentification(nft003Resp.getData().getUserIdentification());
String signature = zxlnftBiz.createSign(deriveKeyPairResp.getPriKey(),nft004ReqDto.getUserIdentification());
nft004ReqDto.setUserSignData(signature);
ZxlnftResponseDto<Nft014IdentityBindSubmitByTrustedRespDto> nft004Resp = zxlnftSdkUtil.nft014IdentityBindSubmitByTrusted(nft004ReqDto);
// 1.2.3调用绑定状态批量查询
Nft016IdentityBindQueryReqDto nft016ReqDto = Nft016IdentityBindQueryReqDto.getNew();
nft016ReqDto.setAddressList(nft004Resp.getData().getAddress());
ZxlnftResponseDto<Nft016IdentityBindQueryRespDto> nft016Resp = zxlnftSdkUtil.nft016IdentityBindQuery(nft016ReqDto);
}
/**
* 3、素材上传操作
*/
@Test
public void nftUpload(){
// 1.4.1调用图片内容检测接口
// 1.4.2调用生成素材上传临时密钥接口
// 1.4.3调用sdk接口-上传cos接口
// 1.4.4调用查询素材地址接口 -- 非必需
}
/**
* 4、发行NFT
*/
@Test
public void nftPublish(){
// 3.1.1调用系列声明
// 3.1.2调用NFT发行接口
// 3.1.3调用NFT查询接口
// 3.1.4查询 NFT发行结果
}
/**
* 5、购买NFT
*/
@Test
public void nftBuy(){
// 3.2.1调用积分申请接口
// 3.2.2调用购买NFT接口
// 3.2.3调用NFT查询接口
// 3.2.4查询NFT购买支付结果
}
/**
* 6、查询NFT相关信息
*/
@Test
public void nftQuery(){
}
}
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