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

Commit c0c280e3 authored by anjiabin's avatar anjiabin

实现xuper相关艺术品上传

parent 629bf9af
...@@ -42,9 +42,9 @@ public class XuperEnum { ...@@ -42,9 +42,9 @@ public class XuperEnum {
} }
/** /**
* 资产状态 1:初始 3:发行中 4:发行成功 5:冻结中 6:已冻结 7:封禁中 8:已封禁 * 资产发行状态 1:初始 3:发行中 4:发行成功 5:冻结中 6:已冻结 7:封禁中 8:已封禁
*/ */
public enum AssetStatusEnum{ public enum AssetPublishStatusEnum{
INIT("1","初始"), INIT("1","初始"),
PUBLISHING("3","发行中"), PUBLISHING("3","发行中"),
PUBLISH_SUCCESS("4","发行成功"), PUBLISH_SUCCESS("4","发行成功"),
...@@ -55,13 +55,51 @@ public class XuperEnum { ...@@ -55,13 +55,51 @@ public class XuperEnum {
private String code; private String code;
private String message; private String message;
AssetStatusEnum(String code, String message) { AssetPublishStatusEnum(String code, String message) {
this.code = code; this.code = code;
this.message = message; this.message = message;
} }
public AssetStatusEnum getEnumByCode(String code){ public AssetPublishStatusEnum getEnumByCode(String code){
AssetStatusEnum[] arry = AssetStatusEnum.values(); AssetPublishStatusEnum[] arry = AssetPublishStatusEnum.values();
for (int i = 0; i < arry.length; i++) {
if (arry[i].getCode().equals(code)) {
return arry[i];
}
}
return null;
}
public String getCode() {
return code;
}
public String getMessage(){
return message;
}
}
/**
* 资产授予状态 0:已上链 1:授予中 4:转移中 5: 核销中 6: 已核销 10:异常详情参考错误码和状态码
*/
public enum AssetGrantStatusEnum{
GRANT_SUCCESS("0","已上链"),
GRANTING("1","授予中"),
TRANSFERING("4","转移中"),
CANCELING("5","核销中"),
CANCELED("6","已核销"),
OTHER_ERROR("10","异常详情参考错误码和状态码");
private String code;
private String message;
AssetGrantStatusEnum(String code, String message) {
this.code = code;
this.message = message;
}
public AssetGrantStatusEnum getEnumByCode(String code){
AssetGrantStatusEnum[] arry = AssetGrantStatusEnum.values();
for (int i = 0; i < arry.length; i++) { for (int i = 0; i < arry.length; i++) {
if (arry[i].getCode().equals(code)) { if (arry[i].getCode().equals(code)) {
return arry[i]; return arry[i];
......
...@@ -17,7 +17,45 @@ public class Xuper010QuerySdsRespDto { ...@@ -17,7 +17,45 @@ public class Xuper010QuerySdsRespDto {
public long requestId; public long requestId;
public int errNo; public int errNo;
public String errMsg; public String errMsg;
public XassetDef.ShardMeta meta; public ShardMeta meta;
@Data
public static class ShardMeta {
public long assetId;
public long shardId;
public String ownerAddr;
public long uid;
public long price;
public int status;
public String txId;
public ShardAssetInfo assetInfo;
public long ctime;
}
@Data
public static class ShardAssetInfo {
public String title;
public int assetCate;
public XassetDef.Thumb[] thumb;
public String shortDesc;
public String createAddr;
public long groupId;
}
@Data
public static class Thumb {
private Xuper005QueryAssetRespDto.Urls urls;
private String width;
private String height;
}
@Data
public static class Urls {
private String icon;
private String url1;
private String url2;
private String url3;
}
private static final Xuper010QuerySdsRespDto obj = new Xuper010QuerySdsRespDto(); private static final Xuper010QuerySdsRespDto obj = new Xuper010QuerySdsRespDto();
public static Xuper010QuerySdsRespDto getNew() { public static Xuper010QuerySdsRespDto getNew() {
......
...@@ -48,15 +48,15 @@ public class GalaxyEnumBiz { ...@@ -48,15 +48,15 @@ public class GalaxyEnumBiz {
break; break;
} }
case "xuper": case "xuper":
if(code.equalsIgnoreCase(XuperEnum.AssetStatusEnum.INIT.getCode())||code.equalsIgnoreCase(XuperEnum.AssetStatusEnum.PUBLISHING.getCode())){ if(code.equalsIgnoreCase(XuperEnum.AssetPublishStatusEnum.INIT.getCode())||code.equalsIgnoreCase(XuperEnum.AssetPublishStatusEnum.PUBLISHING.getCode())){
taskStatusEnum = GalaxyEnum.TaskStatusEnum.PROCESSING; taskStatusEnum = GalaxyEnum.TaskStatusEnum.PROCESSING;
break; break;
}else if(code.equalsIgnoreCase(XuperEnum.AssetStatusEnum.PUBLISH_SUCCESS.getCode())){ }else if(code.equalsIgnoreCase(XuperEnum.AssetPublishStatusEnum.PUBLISH_SUCCESS.getCode())){
taskStatusEnum = GalaxyEnum.TaskStatusEnum.TASK_SUCCESS; taskStatusEnum = GalaxyEnum.TaskStatusEnum.TASK_SUCCESS;
break; break;
}else if(code.equalsIgnoreCase(XuperEnum.AssetStatusEnum.FREEZING.getCode()) }else if(code.equalsIgnoreCase(XuperEnum.AssetPublishStatusEnum.FREEZING.getCode())
||code.equalsIgnoreCase(XuperEnum.AssetStatusEnum.BANNEDING.getCode()) ||code.equalsIgnoreCase(XuperEnum.AssetPublishStatusEnum.BANNEDING.getCode())
||code.equalsIgnoreCase(XuperEnum.AssetStatusEnum.BANNEDED.getCode()) ||code.equalsIgnoreCase(XuperEnum.AssetPublishStatusEnum.BANNEDED.getCode())
){ ){
taskStatusEnum = GalaxyEnum.TaskStatusEnum.TASK_FAIL; taskStatusEnum = GalaxyEnum.TaskStatusEnum.TASK_FAIL;
break; break;
...@@ -105,4 +105,53 @@ public class GalaxyEnumBiz { ...@@ -105,4 +105,53 @@ public class GalaxyEnumBiz {
} }
return userBindStatusEnum; return userBindStatusEnum;
} }
}
/**
* 资产授予状态转换
* @param routerType
* @param code
* @return
*/
public static GalaxyEnum.TaskStatusEnum getGrantStatusEnum(String routerType, String code){
GalaxyEnum.TaskStatusEnum taskStatusEnum = null;
switch (routerType){
case "zxinchain":
if(code.equalsIgnoreCase(ZxlnftEnum.TaskStatusEnum.PROCESSING.getCode())){
taskStatusEnum = GalaxyEnum.TaskStatusEnum.PROCESSING;
break;
}else if(code.equalsIgnoreCase(ZxlnftEnum.TaskStatusEnum.TASK_SUCCESS.getCode())){
taskStatusEnum = GalaxyEnum.TaskStatusEnum.TASK_SUCCESS;
break;
}else if(code.equalsIgnoreCase(ZxlnftEnum.TaskStatusEnum.TASK_FAIL.getCode())){
taskStatusEnum = GalaxyEnum.TaskStatusEnum.TASK_FAIL;
break;
}
case "antchain":
if(code.equalsIgnoreCase(AntchainEnum.TaskStatusEnum.PROCESSING.getCode())){
taskStatusEnum = GalaxyEnum.TaskStatusEnum.PROCESSING;
break;
}else if(code.equalsIgnoreCase(AntchainEnum.TaskStatusEnum.TASK_SUCCESS.getCode())){
taskStatusEnum = GalaxyEnum.TaskStatusEnum.TASK_SUCCESS;
break;
}else if(code.equalsIgnoreCase(AntchainEnum.TaskStatusEnum.TASK_FAIL.getCode())){
taskStatusEnum = GalaxyEnum.TaskStatusEnum.TASK_FAIL;
break;
}
case "xuper":
if(code.equalsIgnoreCase(XuperEnum.AssetGrantStatusEnum.GRANTING.getCode())||code.equalsIgnoreCase(XuperEnum.AssetGrantStatusEnum.TRANSFERING.getCode())){
taskStatusEnum = GalaxyEnum.TaskStatusEnum.PROCESSING;
break;
}else if(code.equalsIgnoreCase(XuperEnum.AssetGrantStatusEnum.GRANT_SUCCESS.getCode())){
taskStatusEnum = GalaxyEnum.TaskStatusEnum.TASK_SUCCESS;
break;
}else if(code.equalsIgnoreCase(XuperEnum.AssetGrantStatusEnum.CANCELING.getCode())
||code.equalsIgnoreCase(XuperEnum.AssetGrantStatusEnum.CANCELED.getCode())
||code.equalsIgnoreCase(XuperEnum.AssetGrantStatusEnum.OTHER_ERROR.getCode())
){
taskStatusEnum = GalaxyEnum.TaskStatusEnum.TASK_FAIL;
break;
}
}
return taskStatusEnum;
}
}
\ No newline at end of file
package com.liquidnet.service.galaxy.router.xuper.biz; package com.liquidnet.service.galaxy.router.xuper.biz;
import com.liquidnet.common.third.xuper.dto.Xuper007GrantShardReqDto;
import com.liquidnet.common.third.xuper.dto.Xuper007GrantShardRespDto;
import com.liquidnet.common.third.xuper.dto.XuperResponseDto;
import com.liquidnet.common.third.xuper.exception.XupterException;
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.constant.ZxlnftEnum; import com.liquidnet.common.third.zxlnft.constant.ZxlnftEnum;
...@@ -13,7 +9,6 @@ import com.liquidnet.common.third.zxlnft.dto.ZxlnftResponseDto; ...@@ -13,7 +9,6 @@ import com.liquidnet.common.third.zxlnft.dto.ZxlnftResponseDto;
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;
import com.liquidnet.commons.lang.util.DateUtil; import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.commons.lang.util.StringUtil; import com.liquidnet.commons.lang.util.StringUtil;
import com.liquidnet.service.galaxy.biz.GalaxyBeanTransferBiz; import com.liquidnet.service.galaxy.biz.GalaxyBeanTransferBiz;
import com.liquidnet.service.galaxy.biz.GalaxyEnumBiz; import com.liquidnet.service.galaxy.biz.GalaxyEnumBiz;
...@@ -110,34 +105,34 @@ public class XuperTradeCommonBiz { ...@@ -110,34 +105,34 @@ public class XuperTradeCommonBiz {
} }
if(StringUtil.isEmpty(nftBuyTaskId)){ if(StringUtil.isEmpty(nftBuyTaskId)){
//购买 // //购买
Xuper007GrantShardReqDto xuper007GrantShardReqDto = Xuper007GrantShardReqDto.getNew(); // Xuper007GrantShardReqDto xuper007GrantShardReqDto = Xuper007GrantShardReqDto.getNew();
// 定义返回结果对象 // // 定义返回结果对象
Xuper007GrantShardRespDto xuper007GrantShardRespDto = null; // Xuper007GrantShardRespDto xuper007GrantShardRespDto = null;
long assetId = 171095615845019437l; // long assetId = 171095615845019437l;
// long assetId = 1532351545249738541l; //// long assetId = 1532351545249738541l;
//
try { // try {
xuper007GrantShardReqDto.setMnemonic(creatorMnemonic); // xuper007GrantShardReqDto.setMnemonic(creatorMnemonic);
xuper007GrantShardReqDto.setAssetId(assetId); // xuper007GrantShardReqDto.setAssetId(assetId);
xuper007GrantShardReqDto.setShardId(1l); // xuper007GrantShardReqDto.setShardId(1l);
xuper007GrantShardReqDto.setToAddr(xuperSdkUtil.getAccount(customerMnemonic).getAddress()); // xuper007GrantShardReqDto.setToAddr(xuperSdkUtil.getAccount(customerMnemonic).getAddress());
xuper007GrantShardReqDto.setToUserId(100000l); // xuper007GrantShardReqDto.setToUserId(100000l);
xuper007GrantShardReqDto.setPrice(1234l); // xuper007GrantShardReqDto.setPrice(1234l);
XuperResponseDto<Xuper007GrantShardRespDto> xuperResponseDto = xuperSdkUtil.xuper007GrantShard(reqDto); // XuperResponseDto<Xuper007GrantShardRespDto> xuperResponseDto = xuperSdkUtil.xuper007GrantShard(reqDto);
if(xuperResponseDto.isSuccess()){ // if(xuperResponseDto.isSuccess()){
xuper007GrantShardRespDto = xuperResponseDto.getParseData(Xuper007GrantShardRespDto.class); // xuper007GrantShardRespDto = xuperResponseDto.getParseData(Xuper007GrantShardRespDto.class);
} // }
}catch (XupterException e) { // }catch (XupterException e) {
log.error("biz error msg "+e.getMessage(),e); // log.error("biz error msg "+e.getMessage(),e);
}catch (Exception e) { // }catch (Exception e) {
log.error("sys error msg "+e.getMessage(),e); // log.error("sys error msg "+e.getMessage(),e);
} // }
log.info("testXuper007GrantShard resp : "+ JsonUtils.toJson(respDto)); // log.info("testXuper007GrantShard resp : "+ JsonUtils.toJson(respDto));
if(nft043RespDto.isSuccess()){ // if(nft043RespDto.isSuccess()){
nftBuyTaskId = nft043RespDto.getData().getTaskId(); // nftBuyTaskId = nft043RespDto.getData().getTaskId();
nftOrderBo.setNftBuyTaskId(nftBuyTaskId); // nftOrderBo.setNftBuyTaskId(nftBuyTaskId);
} // }
} }
//如果购买任务id不为空 //如果购买任务id不为空
......
...@@ -5,9 +5,10 @@ import com.liquidnet.common.third.xuper.config.XuperConfig; ...@@ -5,9 +5,10 @@ import com.liquidnet.common.third.xuper.config.XuperConfig;
import com.liquidnet.common.third.xuper.dto.*; import com.liquidnet.common.third.xuper.dto.*;
import com.liquidnet.common.third.xuper.exception.XupterException; import com.liquidnet.common.third.xuper.exception.XupterException;
import com.liquidnet.common.third.xuper.util.XuperSdkUtil; import com.liquidnet.common.third.xuper.util.XuperSdkUtil;
import com.liquidnet.common.third.zxlnft.constant.ZxlnftEnum; import com.liquidnet.commons.lang.util.BeanUtil;
import com.liquidnet.common.third.zxlnft.dto.*; import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.*; import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.commons.lang.util.StringUtil;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.galaxy.biz.GalaxyBeanTransferBiz; import com.liquidnet.service.galaxy.biz.GalaxyBeanTransferBiz;
import com.liquidnet.service.galaxy.biz.GalaxyEnumBiz; import com.liquidnet.service.galaxy.biz.GalaxyEnumBiz;
...@@ -58,6 +59,9 @@ public class XuperTradeBiz { ...@@ -58,6 +59,9 @@ public class XuperTradeBiz {
@Autowired @Autowired
private QueueUtil queueUtil; private QueueUtil queueUtil;
@Autowired
private XuperPublishBiz xuperPublishBiz;
/** /**
* 发行和购买 * 发行和购买
* @param reqDto * @param reqDto
...@@ -302,7 +306,7 @@ public class XuperTradeBiz { ...@@ -302,7 +306,7 @@ public class XuperTradeBiz {
GalaxyNftPublishResultQueryReqDto nftPublishResultQueryReqDto = GalaxyNftPublishResultQueryReqDto.getNew(); GalaxyNftPublishResultQueryReqDto nftPublishResultQueryReqDto = GalaxyNftPublishResultQueryReqDto.getNew();
nftPublishResultQueryReqDto.setNftOrderPayId(reqDto.getNftOrderPayId()); nftPublishResultQueryReqDto.setNftOrderPayId(reqDto.getNftOrderPayId());
nftPublishResultQueryReqDto.setRouterType(reqDto.getRouterType()); nftPublishResultQueryReqDto.setRouterType(reqDto.getRouterType());
ResponseDto<GalaxyNftPublishResultQueryRespDto> publishResultQueryRespDto = zxinPublishBiz.nftPublishResultQuery(nftPublishResultQueryReqDto); ResponseDto<GalaxyNftPublishResultQueryRespDto> publishResultQueryRespDto = xuperPublishBiz.nftPublishResultQuery(nftPublishResultQueryReqDto);
if(publishResultQueryRespDto.isSuccess()){ if(publishResultQueryRespDto.isSuccess()){
GalaxyNftPublishResultQueryRespDto nftPublishResultQueryRespDtoTemp = publishResultQueryRespDto.getData(); GalaxyNftPublishResultQueryRespDto nftPublishResultQueryRespDtoTemp = publishResultQueryRespDto.getData();
BeanUtil.copy(nftPublishResultQueryRespDtoTemp,nftOrderBo); BeanUtil.copy(nftPublishResultQueryRespDtoTemp,nftOrderBo);
...@@ -353,16 +357,29 @@ public class XuperTradeBiz { ...@@ -353,16 +357,29 @@ public class XuperTradeBiz {
if(StringUtil.isEmpty(nftOrderBo.getNftBuyTaskId())){ if(StringUtil.isEmpty(nftOrderBo.getNftBuyTaskId())){
return ResponseDto.failure(GalaxyErrorEnum.NFT_BUY_TASK_NOT_EXIST.getCode(), GalaxyErrorEnum.NFT_BUY_TASK_NOT_EXIST.getMessage()); return ResponseDto.failure(GalaxyErrorEnum.NFT_BUY_TASK_NOT_EXIST.getCode(), GalaxyErrorEnum.NFT_BUY_TASK_NOT_EXIST.getMessage());
} }
//3.2.4查询NFT购买结果 //执行资产碎片授予查询
Nft044BuyResultReqDto nft044ReqDto = Nft044BuyResultReqDto.getNew(); Xuper010QuerySdsReqDto xuper010QuerySdsReqDto = Xuper010QuerySdsReqDto.getNew();
nft044ReqDto.setTaskId(nftOrderBo.getNftBuyTaskId()); // 定义返回结果对象
ZxlnftResponseDto<Nft044BuyResultRespDto> nft044RespDto = zxlnftSdkUtil.nft044BuyResult(nft044ReqDto); Xuper010QuerySdsRespDto xuper010QuerySdsRespDto = null;
long shardId = 1l;
try {
xuper010QuerySdsReqDto.setAssetId(Long.parseLong(nftOrderBo.getSeriesId()));
xuper010QuerySdsReqDto.setShardId(shardId);
XuperResponseDto<Xuper010QuerySdsRespDto> xuperResponseDto = xuperSdkUtil.xuper010QuerySds(xuper010QuerySdsReqDto);
if(xuperResponseDto.isSuccess()){
xuper010QuerySdsRespDto = xuperResponseDto.getParseData(Xuper010QuerySdsRespDto.class);
}
}catch (XupterException e) {
log.error("biz error msg "+e.getMessage(),e);
}catch (Exception e) {
log.error("sys error msg "+e.getMessage(),e);
}
log.info("testXuper010QuerySds resp : "+ JsonUtils.toJson(xuper010QuerySdsRespDto));
GalaxyNftBuyResultQueryRespDto resultQueryRespDto = GalaxyNftBuyResultQueryRespDto.getNew(); GalaxyNftBuyResultQueryRespDto resultQueryRespDto = GalaxyNftBuyResultQueryRespDto.getNew();
BeanUtil.copy(nft044RespDto.getData(),resultQueryRespDto); String nowTimeStr = DateUtil.getNowTime();
String nowTimeStr = DateUtil.format(new Date(nft044RespDto.getData().getChainTimestamp().longValue()*1000),DateUtil.Formatter.yyyyMMddHHmmss);
//转换任务状态 //转换任务状态
Integer taskStatus = Integer.valueOf(GalaxyEnumBiz.getTaskStatusEnum(reqDto.getRouterType(),nft044RespDto.getData().getTaskStatus().toString()).getCode()); Integer taskStatus = Integer.valueOf(GalaxyEnumBiz.getGrantStatusEnum(reqDto.getRouterType(),String.valueOf(xuper010QuerySdsRespDto.getMeta().getStatus())).getCode());
resultQueryRespDto.setTaskStatus(taskStatus); resultQueryRespDto.setTaskStatus(taskStatus);
resultQueryRespDto.setChainTimestamp(nowTimeStr); resultQueryRespDto.setChainTimestamp(nowTimeStr);
return ResponseDto.success(resultQueryRespDto); return ResponseDto.success(resultQueryRespDto);
......
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