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

Commit 8079b502 authored by anjiabin's avatar anjiabin

调试素材上传接口

parent e240b611
...@@ -70,6 +70,10 @@ public class IDGenerator { ...@@ -70,6 +70,10 @@ public class IDGenerator {
return "PAY" + nextTimeId(); return "PAY" + nextTimeId();
} }
public static String getZxlNftImageCosCode() {
return "ZXLNFTIMAGE" + nextTimeId();
}
public static String refundCode() { public static String refundCode() {
return "RED" + nextTimeId(); return "RED" + nextTimeId();
} }
......
...@@ -105,6 +105,4 @@ public class ZxlnftBiz { ...@@ -105,6 +105,4 @@ public class ZxlnftBiz {
SignByPriKeyResp resp = walletSdkService.signByPriKey(req); SignByPriKeyResp resp = walletSdkService.signByPriKey(req);
return resp.getSignedData(); return resp.getSignedData();
} }
} }
...@@ -32,6 +32,9 @@ public class ZxlnftConfig { ...@@ -32,6 +32,9 @@ public class ZxlnftConfig {
@Value("${liquidnet.zxlnft.nftApiUrl:https://nfttest2.zxinchain.com}") @Value("${liquidnet.zxlnft.nftApiUrl:https://nfttest2.zxinchain.com}")
private String nftApiUrl; private String nftApiUrl;
@Value("${liquidnet.zxlnft.platformIdentification:4e40d5f6f65aa8ec9bc33ab424e0167e68783bbe95d4d265086314d749808eef}")
private String platformIdentification;
public String getAppId(){ public String getAppId(){
return appId; return appId;
} }
...@@ -44,7 +47,11 @@ public class ZxlnftConfig { ...@@ -44,7 +47,11 @@ public class ZxlnftConfig {
return nftPlatformAddress; return nftPlatformAddress;
} }
// public String getNftPlatformPubKey(){ public String getPlatformIdentification() {
return platformIdentification;
}
// public String getNftPlatformPubKey(){
// return nftPlatformPubKey; // return nftPlatformPubKey;
// } // }
// //
......
...@@ -10,12 +10,17 @@ import com.liquidnet.commons.lang.util.HttpUtil; ...@@ -10,12 +10,17 @@ import com.liquidnet.commons.lang.util.HttpUtil;
import com.liquidnet.commons.lang.util.StringUtil; import com.liquidnet.commons.lang.util.StringUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.http.NameValuePair;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.message.BasicNameValuePair;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap; import org.springframework.util.MultiValueMap;
import org.springframework.web.client.HttpClientErrorException; import org.springframework.web.client.HttpClientErrorException;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -217,9 +222,64 @@ public class ZxlnftSdkServiceImpl implements ZxlnftSdkService ...@@ -217,9 +222,64 @@ public class ZxlnftSdkServiceImpl implements ZxlnftSdkService
@Override @Override
public Nft021UploadUrlResp nft021UploadUrl(Nft021UploadUrlReq req) { public Nft021UploadUrlResp nft021UploadUrl(Nft021UploadUrlReq req) {
zxlnftBiz.buildPlatFormHeader(commonHeader);
List<NameValuePair> params = new ArrayList<NameValuePair>();
if(StringUtil.isNotEmpty(req.getSeriesName())){
params.add(new BasicNameValuePair("seriesName", req.getSeriesName()));
}
params.add(new BasicNameValuePair("platformIdentification", req.getPlatformIdentification()));
if(StringUtil.isNotEmpty(req.getUserIdentification())){
params.add(new BasicNameValuePair("userIdentification", req.getUserIdentification()));
}
String requestUrl = zxlnftConfig.getNftApiUrl() + ZxlnftConstant.ZXL_NFT_021_UPLOAD_URL_URL;
log.info("nft021UploadUrl--->>> request url : {} body : {} ",requestUrl, params.toString());
//拼接请求url
URI build = null;
try {
build = new URIBuilder(requestUrl).addParameters(params).build();
} catch (URISyntaxException e) {
e.printStackTrace();
}
requestUrl = build.toString();
String response = null;
// ObjectNode objectNode = JsonUtils.OM().createObjectNode();
try {
response = HttpUtil.get(requestUrl,null,commonHeader);
} catch(HttpClientErrorException e) {
log.error("nft021UploadUrl error", e);
}catch (Exception e) {
log.error("nft021UploadUrl error",e);
}
log.info("nft021UploadUrl--->>> response : {} ",response);
if (StringUtils.isEmpty(response)) {
return null; return null;
} }
// Nft016IdentityBindQueryResp resp = Nft016IdentityBindQueryResp.getNew();
// JSONObject json = JSONObject.parseObject(response);
// if (json.containsKey("retCode") && json.containsKey("data") && json.getInteger("retCode").intValue() == 0) {
// JSONObject data = json.getJSONObject("data");
// resp = JsonUtils.fromJson(data.toJSONString(),Nft016IdentityBindQueryResp.class);
// }else {
// if (json.containsKey("retCode") && json.getInteger("retCode").intValue() != 0) {
// throw new ZxlNftException(String.valueOf(json.getInteger("retCode")), json.getString("retMsg") + ", address:" + req.getAddressList());
// }
// throw new ZxlNftException(json.getString("retCode"), json.getString("retMsg") + ", address:" + req.getAddressList());
// }
/**
* 构造返回结果
*/
Nft021UploadUrlResp resp = zxlnftBiz.buildNftRespObj(response,Nft021UploadUrlResp.class);
log.info("nft021UploadUrl--->>> return result : {} ",resp.toString());
return resp;
}
@Override @Override
public Nft022UploadSecretResp nft022UploadSecret(Nft022UploadSecretReq req) { public Nft022UploadSecretResp nft022UploadSecret(Nft022UploadSecretReq req) {
zxlnftBiz.buildPlatFormHeader(commonHeader); zxlnftBiz.buildPlatFormHeader(commonHeader);
......
package com.liquidnet.common.third.zxlnft.util; package com.liquidnet.common.third.zxlnft.util;
import com.liquidnet.common.third.zxlnft.biz.ZxlnftBiz;
import com.liquidnet.common.third.zxlnft.config.ZxlnftConfig; import com.liquidnet.common.third.zxlnft.config.ZxlnftConfig;
import com.liquidnet.common.third.zxlnft.dto.nft.Nft022UploadSecretReq; import com.liquidnet.common.third.zxlnft.dto.nft.Nft022UploadSecretReq;
import com.liquidnet.common.third.zxlnft.dto.nft.Nft022UploadSecretResp; import com.liquidnet.common.third.zxlnft.dto.nft.Nft022UploadSecretResp;
import com.liquidnet.common.third.zxlnft.dto.wallet.*; import com.liquidnet.common.third.zxlnft.dto.wallet.*;
import com.liquidnet.common.third.zxlnft.service.WalletSdkService; import com.liquidnet.common.third.zxlnft.service.WalletSdkService;
import com.liquidnet.common.third.zxlnft.service.ZxlnftSdkService; import com.liquidnet.common.third.zxlnft.service.ZxlnftSdkService;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -29,6 +32,9 @@ public class ZxlWalletSdkUtil { ...@@ -29,6 +32,9 @@ public class ZxlWalletSdkUtil {
@Autowired @Autowired
private ZxlnftSdkService zxlnftSdkService; private ZxlnftSdkService zxlnftSdkService;
@Autowired
private ZxlnftBiz zxlnftBiz;
/** /**
* 1、生成助记词 * 1、生成助记词
* @param req * @param req
...@@ -57,9 +63,28 @@ public class ZxlWalletSdkUtil { ...@@ -57,9 +63,28 @@ public class ZxlWalletSdkUtil {
public UploadToCosResp uploadToCos(UploadToCosReq req){ public UploadToCosResp uploadToCos(UploadToCosReq req){
//获取临时密钥 //获取临时密钥
Nft022UploadSecretReq nft022Req = Nft022UploadSecretReq.getNew(); Nft022UploadSecretReq nft022Req = Nft022UploadSecretReq.getNew();
// req.setSeriesName("");
nft022Req.setTimestamp(DateUtil.getNowSeconds().toString());
nft022Req.setPubKey(zxlnftConfig.getNftPlatformPubKey());
nft022Req.setUserPubKey(zxlnftConfig.getNftPlatformPubKey());
//系列为空
String pubData = nft022Req.getTimestamp() + "_" + nft022Req.getUserPubKey();
String userData = nft022Req.getTimestamp();
//系列不为空
// String pubData = req.getTimestamp() + "_" + req.getSeriesName() + "_" + req.getUserPubKey();
// String userData = req.getTimestamp() + "_" + req.getSeriesName();
nft022Req.setPubSignedData(zxlnftBiz.createSign(zxlnftConfig.getNftPlatformPriKey(),pubData));
nft022Req.setUserSignedData(zxlnftBiz.createSign(zxlnftConfig.getNftPlatformPriKey(),userData));
Nft022UploadSecretResp nft022Resp = zxlnftSdkService.nft022UploadSecret(nft022Req); Nft022UploadSecretResp nft022Resp = zxlnftSdkService.nft022UploadSecret(nft022Req);
//执行上传 //执行上传
req.setCosPath(nft022Resp.getUploadAddress() + IDGenerator.getZxlNftImageCosCode()+".jpg");
req.setTempSecretId(nft022Resp.getTempSecretId());
req.setTempSecretKey(nft022Resp.getTempSecretKey());
req.setSessionToken(nft022Resp.getSessionToken());
req.setFilePath(req.getFilePath());
UploadToCosResp resp = walletSdkService.uploadToCos(req); UploadToCosResp resp = walletSdkService.uploadToCos(req);
return resp; return resp;
} }
......
...@@ -55,10 +55,10 @@ public class TestZxlWalletSdkUtil { ...@@ -55,10 +55,10 @@ public class TestZxlWalletSdkUtil {
@Test @Test
public void uploadToCos(){ public void uploadToCos(){
UploadToCosReq req = UploadToCosReq.getNew(); UploadToCosReq req = UploadToCosReq.getNew();
req.setCosPath("https://zhixinliantest-1302317679.cos.ap-guangzhou.myqcloud.com/nft/4e40d5f6f65aa8ec9bc33ab424e0167e68783bbe95d4d265086314d749808eef/zxl_image_test_001"); // req.setCosPath("https://zhixinliantest-1302317679.cos.ap-guangzhou.myqcloud.com/nft/4e40d5f6f65aa8ec9bc33ab424e0167e68783bbe95d4d265086314d749808eef/"+"zxl_image_test_001");
req.setTempSecretId("AKIDhVGgR7gKaVE5qUIpSPD9k6pcmUj7fobmEspHDlCjC27Te6Dmputh-fI87qvL2EDT"); // req.setTempSecretId("AKIDhVGgR7gKaVE5qUIpSPD9k6pcmUj7fobmEspHDlCjC27Te6Dmputh-fI87qvL2EDT");
req.setTempSecretKey("xuNqn+FfVjm0Ug0je9k1Mn5MQHKlWKs18uU03KIMAH0="); // req.setTempSecretKey("xuNqn+FfVjm0Ug0je9k1Mn5MQHKlWKs18uU03KIMAH0=");
req.setSessionToken("fwJfhxx5ILXFYNItgiQid1bBiTrofX5af128eb2fa96eef4d9841c98756853142d0X-nPNtZgA0AEIwJ-MAJigzB3IZOgDjLorykjfoxAHusyQ_HeAhvHSlORtPol_iqqJVolGP78H5byiZKhKxATIZiJzrTCQysR02tR1vJPkJp03VH70sSzTJ3WcyTPpBs_NCuXkYvLZaDbRKmE8Xln4uqDJDSthNNaQKBJBYJNnxmVpCRCIeIyqOvQrSKXRGkvkjQ79Enlq7iUeKSqXrpKEBliAq9hgMrXPRHapqihseRl-WerjB4BgQ261mmOuZD6oHg37EPy_JrHAJxHh9dJlFlqz3CxUL-We36RcQeDpLvL1KuzZUBBmjSb0SYMvnun7SOEDdDMF0-1ApATsyQ-bTgDiCHAoo5Xqf9CcFKop-rUeQEDKSV17raeRRcN6ZcBQ-BJ5s4R4bqRm3y1nUwePNKD1Hi2__-nPUKuI5o535wkQcqMeDhQ40Fg3jCcPPRJ-9_Egp3yTEraTkfihKDAXTZnhiQdxaDInlP1JFJKZwY5b0hinlW6yaxnaUzYyXqTVY2tEufNOu5Sn4fGOTZmyqJJ0oDsCJiby-92vKqIS9fHIzemEXfuCULNdonmEThspBA7tUAUr-fY1KCjTMolhG0XvsJ-hNVzwNbpLMLd87TwajlyqJisnn5-sR-wuj9Hx9Inoe5kTRX-0F0NeP9vcfpYZns5No5jrBM74HMgOOSplXZ3yuML42LxTtw9SWcsxqFQJpohTyijpbrwdkKlwc0qGyUIPy7WQ7Jltb7iE"); // req.setSessionToken("fwJfhxx5ILXFYNItgiQid1bBiTrofX5af128eb2fa96eef4d9841c98756853142d0X-nPNtZgA0AEIwJ-MAJigzB3IZOgDjLorykjfoxAHusyQ_HeAhvHSlORtPol_iqqJVolGP78H5byiZKhKxATIZiJzrTCQysR02tR1vJPkJp03VH70sSzTJ3WcyTPpBs_NCuXkYvLZaDbRKmE8Xln4uqDJDSthNNaQKBJBYJNnxmVpCRCIeIyqOvQrSKXRGkvkjQ79Enlq7iUeKSqXrpKEBliAq9hgMrXPRHapqihseRl-WerjB4BgQ261mmOuZD6oHg37EPy_JrHAJxHh9dJlFlqz3CxUL-We36RcQeDpLvL1KuzZUBBmjSb0SYMvnun7SOEDdDMF0-1ApATsyQ-bTgDiCHAoo5Xqf9CcFKop-rUeQEDKSV17raeRRcN6ZcBQ-BJ5s4R4bqRm3y1nUwePNKD1Hi2__-nPUKuI5o535wkQcqMeDhQ40Fg3jCcPPRJ-9_Egp3yTEraTkfihKDAXTZnhiQdxaDInlP1JFJKZwY5b0hinlW6yaxnaUzYyXqTVY2tEufNOu5Sn4fGOTZmyqJJ0oDsCJiby-92vKqIS9fHIzemEXfuCULNdonmEThspBA7tUAUr-fY1KCjTMolhG0XvsJ-hNVzwNbpLMLd87TwajlyqJisnn5-sR-wuj9Hx9Inoe5kTRX-0F0NeP9vcfpYZns5No5jrBM74HMgOOSplXZ3yuML42LxTtw9SWcsxqFQJpohTyijpbrwdkKlwc0qGyUIPy7WQ7Jltb7iE");
req.setFilePath("/Users/anjiabin/Downloads/zxl_image_test_001.jpg"); req.setFilePath("/Users/anjiabin/Downloads/zxl_image_test_001.jpg");
zxlWalletSdkUtil.uploadToCos(req); zxlWalletSdkUtil.uploadToCos(req);
} }
...@@ -69,11 +69,12 @@ public class TestZxlWalletSdkUtil { ...@@ -69,11 +69,12 @@ public class TestZxlWalletSdkUtil {
@Test @Test
public void uploadFileToCos(){ public void uploadFileToCos(){
UploadFileToCosReq req = UploadFileToCosReq.getNew(); UploadFileToCosReq req = UploadFileToCosReq.getNew();
req.setCosPath("https://zhixinliantest-1302317679.cos.ap-guangzhou.myqcloud.com/nft/4e40d5f6f65aa8ec9bc33ab424e0167e68783bbe95d4d265086314d749808eef/zxl_image_test_001"); // req.setCosPath("https://zhixinliantest-1302317679.cos.ap-guangzhou.myqcloud.com/nft/4e40d5f6f65aa8ec9bc33ab424e0167e68783bbe95d4d265086314d749808eef/zxl_image_test_001");
req.setTempSecretId("AKIDhVGgR7gKaVE5qUIpSPD9k6pcmUj7fobmEspHDlCjC27Te6Dmputh-fI87qvL2EDT"); // req.setTempSecretId("AKIDhVGgR7gKaVE5qUIpSPD9k6pcmUj7fobmEspHDlCjC27Te6Dmputh-fI87qvL2EDT");
req.setTempSecretKey("xuNqn+FfVjm0Ug0je9k1Mn5MQHKlWKs18uU03KIMAH0="); // req.setTempSecretKey("xuNqn+FfVjm0Ug0je9k1Mn5MQHKlWKs18uU03KIMAH0=");
req.setSessionToken("fwJfhxx5ILXFYNItgiQid1bBiTrofX5af128eb2fa96eef4d9841c98756853142d0X-nPNtZgA0AEIwJ-MAJigzB3IZOgDjLorykjfoxAHusyQ_HeAhvHSlORtPol_iqqJVolGP78H5byiZKhKxATIZiJzrTCQysR02tR1vJPkJp03VH70sSzTJ3WcyTPpBs_NCuXkYvLZaDbRKmE8Xln4uqDJDSthNNaQKBJBYJNnxmVpCRCIeIyqOvQrSKXRGkvkjQ79Enlq7iUeKSqXrpKEBliAq9hgMrXPRHapqihseRl-WerjB4BgQ261mmOuZD6oHg37EPy_JrHAJxHh9dJlFlqz3CxUL-We36RcQeDpLvL1KuzZUBBmjSb0SYMvnun7SOEDdDMF0-1ApATsyQ-bTgDiCHAoo5Xqf9CcFKop-rUeQEDKSV17raeRRcN6ZcBQ-BJ5s4R4bqRm3y1nUwePNKD1Hi2__-nPUKuI5o535wkQcqMeDhQ40Fg3jCcPPRJ-9_Egp3yTEraTkfihKDAXTZnhiQdxaDInlP1JFJKZwY5b0hinlW6yaxnaUzYyXqTVY2tEufNOu5Sn4fGOTZmyqJJ0oDsCJiby-92vKqIS9fHIzemEXfuCULNdonmEThspBA7tUAUr-fY1KCjTMolhG0XvsJ-hNVzwNbpLMLd87TwajlyqJisnn5-sR-wuj9Hx9Inoe5kTRX-0F0NeP9vcfpYZns5No5jrBM74HMgOOSplXZ3yuML42LxTtw9SWcsxqFQJpohTyijpbrwdkKlwc0qGyUIPy7WQ7Jltb7iE"); // req.setSessionToken("fwJfhxx5ILXFYNItgiQid1bBiTrofX5af128eb2fa96eef4d9841c98756853142d0X-nPNtZgA0AEIwJ-MAJigzB3IZOgDjLorykjfoxAHusyQ_HeAhvHSlORtPol_iqqJVolGP78H5byiZKhKxATIZiJzrTCQysR02tR1vJPkJp03VH70sSzTJ3WcyTPpBs_NCuXkYvLZaDbRKmE8Xln4uqDJDSthNNaQKBJBYJNnxmVpCRCIeIyqOvQrSKXRGkvkjQ79Enlq7iUeKSqXrpKEBliAq9hgMrXPRHapqihseRl-WerjB4BgQ261mmOuZD6oHg37EPy_JrHAJxHh9dJlFlqz3CxUL-We36RcQeDpLvL1KuzZUBBmjSb0SYMvnun7SOEDdDMF0-1ApATsyQ-bTgDiCHAoo5Xqf9CcFKop-rUeQEDKSV17raeRRcN6ZcBQ-BJ5s4R4bqRm3y1nUwePNKD1Hi2__-nPUKuI5o535wkQcqMeDhQ40Fg3jCcPPRJ-9_Egp3yTEraTkfihKDAXTZnhiQdxaDInlP1JFJKZwY5b0hinlW6yaxnaUzYyXqTVY2tEufNOu5Sn4fGOTZmyqJJ0oDsCJiby-92vKqIS9fHIzemEXfuCULNdonmEThspBA7tUAUr-fY1KCjTMolhG0XvsJ-hNVzwNbpLMLd87TwajlyqJisnn5-sR-wuj9Hx9Inoe5kTRX-0F0NeP9vcfpYZns5No5jrBM74HMgOOSplXZ3yuML42LxTtw9SWcsxqFQJpohTyijpbrwdkKlwc0qGyUIPy7WQ7Jltb7iE");
req.setFilePath("/Users/anjiabin/Downloads/zxl_image_test_001.jpg"); // req.setName("/Users/anjiabin/Downloads/zxl_image_test_001.jpg");
// req.setFile("/Users/anjiabin/Downloads/zxl_image_test_001.jpg");
zxlWalletSdkUtil.uploadFileToCos(req); zxlWalletSdkUtil.uploadFileToCos(req);
} }
......
...@@ -2,10 +2,7 @@ package com.liquidnet.service.zxlnft.test; ...@@ -2,10 +2,7 @@ package com.liquidnet.service.zxlnft.test;
import com.liquidnet.common.third.zxlnft.biz.ZxlnftBiz; import com.liquidnet.common.third.zxlnft.biz.ZxlnftBiz;
import com.liquidnet.common.third.zxlnft.config.ZxlnftConfig; import com.liquidnet.common.third.zxlnft.config.ZxlnftConfig;
import com.liquidnet.common.third.zxlnft.dto.nft.Nft016IdentityBindQueryReq; import com.liquidnet.common.third.zxlnft.dto.nft.*;
import com.liquidnet.common.third.zxlnft.dto.nft.Nft016IdentityBindQueryResp;
import com.liquidnet.common.third.zxlnft.dto.nft.Nft022UploadSecretReq;
import com.liquidnet.common.third.zxlnft.dto.nft.Nft022UploadSecretResp;
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.DateUtil; import com.liquidnet.commons.lang.util.DateUtil;
...@@ -48,6 +45,15 @@ public class TestZxlnftSdkUtil { ...@@ -48,6 +45,15 @@ public class TestZxlnftSdkUtil {
Nft016IdentityBindQueryResp resp = zxlnftSdkUtil.nft016IdentityBindQuery(req); Nft016IdentityBindQueryResp resp = zxlnftSdkUtil.nft016IdentityBindQuery(req);
} }
@Test
public void nft021UploadUrl(){
Nft021UploadUrlReq req = Nft021UploadUrlReq.getNew();
// req.setSeriesName("");
req.setPlatformIdentification(zxlnftConfig.getPlatformIdentification());
req.setUserIdentification(zxlnftConfig.getPlatformIdentification());
Nft021UploadUrlResp resp = zxlnftSdkUtil.nft021UploadUrl(req);
}
@Test @Test
public void nft022UploadSecret(){ public void nft022UploadSecret(){
Nft022UploadSecretReq req = Nft022UploadSecretReq.getNew(); Nft022UploadSecretReq req = Nft022UploadSecretReq.getNew();
......
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