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

Commit 571330b5 authored by anjiabin's avatar anjiabin

优化相关策略实现

parent 3bbee149
......@@ -9,17 +9,18 @@ package com.liquidnet.service.galaxy.constant;
* @Copyright: LightNet @ Copyright (c) 2022
* @date 2022/3/8 11:25
*/
public enum GalaxyErrorCodeEnum {
public enum GalaxyErrorEnum {
SERIES_CLAIM_ERROR("NFT0010001","NFT系列声明失败"),
SERIES_CLAIM_ERROR_FIVE_TIMES("NFT0010002","NFT系列声明失败,任务查询超过5次"),
PUBLISH_FAIL("NFT0010003","NFT发行失败,未获取nft"),
PUBLISH_BUY_FAIL("NFT0010004","NFT发行购买失败,未发起购买"),
PUBLISH_FAIL_ALREADY_EXIST("NFT0010005","NFT发行失败,该订单已经发行过指定nft!"),
ROUTER_NOT_EXIST("NFT0010006","路由类型不存在");
ROUTER_NOT_EXIST("NFT0010006","路由类型不存在"),
SERIES_NOT_EXIST("NFT0010007","没有查询到该sku对应系列声明");
private String code;
private String message;
GalaxyErrorCodeEnum(String code, String message) {
GalaxyErrorEnum(String code, String message) {
this.code = code;
this.message = message;
}
......
......@@ -45,6 +45,10 @@ public class GalaxySeriesInfoBo implements Serializable,Cloneable {
* nft显示素材原始地址
*/
private String originalDisplayUrl;
/**
* 系列声明任务ID
*/
private String seriesClaimTaskId;
/**
* 系列发布状态
*/
......
......@@ -19,4 +19,6 @@ liquidnet:
sslEnabled: false
database: dev_ln_scene
galaxy:
temp-file-path: /data/galaxy/tempFilePath
# temp-file-path: /data/galaxy/tempFilePath
temp-file-path: /Users/anjiabin/mdsky_gitlab/galaxy/tempFilePath
router: zxinchain,eth
......@@ -2,7 +2,7 @@ package com.liquidnet.service.galaxy.router.strategy;
import com.liquidnet.common.exception.LiquidnetServiceException;
import com.liquidnet.commons.lang.util.StringUtil;
import com.liquidnet.service.galaxy.constant.GalaxyErrorCodeEnum;
import com.liquidnet.service.galaxy.constant.GalaxyErrorEnum;
import com.liquidnet.service.galaxy.router.strategy.config.GalaxyConfig;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
......@@ -32,10 +32,10 @@ public class GalaxyRouterStrategyContext {
public IGalaxyRouterStrategyArtwork getArtworkStrategy(String type) {
if(!this.isActived(type)){
throw new LiquidnetServiceException(GalaxyErrorCodeEnum.ROUTER_NOT_EXIST.getCode(),GalaxyErrorCodeEnum.ROUTER_NOT_EXIST.getMessage());
throw new LiquidnetServiceException(GalaxyErrorEnum.ROUTER_NOT_EXIST.getCode(), GalaxyErrorEnum.ROUTER_NOT_EXIST.getMessage());
}
IGalaxyRouterStrategyArtwork obj = artworkHandlerMap.get(type);
if(StringUtil.isNull(obj)) throw new LiquidnetServiceException(GalaxyErrorCodeEnum.ROUTER_NOT_EXIST.getCode(),GalaxyErrorCodeEnum.ROUTER_NOT_EXIST.getMessage());
if(StringUtil.isNull(obj)) throw new LiquidnetServiceException(GalaxyErrorEnum.ROUTER_NOT_EXIST.getCode(), GalaxyErrorEnum.ROUTER_NOT_EXIST.getMessage());
return obj;
}
......@@ -45,10 +45,10 @@ public class GalaxyRouterStrategyContext {
public IGalaxyRouterStrategyUser getUserStrategy(String type) {
if(!this.isActived(type)){
throw new LiquidnetServiceException(GalaxyErrorCodeEnum.ROUTER_NOT_EXIST.getCode(),GalaxyErrorCodeEnum.ROUTER_NOT_EXIST.getMessage());
throw new LiquidnetServiceException(GalaxyErrorEnum.ROUTER_NOT_EXIST.getCode(), GalaxyErrorEnum.ROUTER_NOT_EXIST.getMessage());
}
IGalaxyRouterStrategyUser obj = userHandlerMap.get(type);
if(StringUtil.isNull(obj)) throw new LiquidnetServiceException(GalaxyErrorCodeEnum.ROUTER_NOT_EXIST.getCode(),GalaxyErrorCodeEnum.ROUTER_NOT_EXIST.getMessage());
if(StringUtil.isNull(obj)) throw new LiquidnetServiceException(GalaxyErrorEnum.ROUTER_NOT_EXIST.getCode(), GalaxyErrorEnum.ROUTER_NOT_EXIST.getMessage());
return obj;
}
......@@ -58,10 +58,10 @@ public class GalaxyRouterStrategyContext {
public IGalaxyRouterStrategyPublish getPublishStrategy(String type) {
if(!this.isActived(type)){
throw new LiquidnetServiceException(GalaxyErrorCodeEnum.ROUTER_NOT_EXIST.getCode(),GalaxyErrorCodeEnum.ROUTER_NOT_EXIST.getMessage());
throw new LiquidnetServiceException(GalaxyErrorEnum.ROUTER_NOT_EXIST.getCode(), GalaxyErrorEnum.ROUTER_NOT_EXIST.getMessage());
}
IGalaxyRouterStrategyPublish obj = publishHandlerMap.get(type);
if(StringUtil.isNull(obj)) throw new LiquidnetServiceException(GalaxyErrorCodeEnum.ROUTER_NOT_EXIST.getCode(),GalaxyErrorCodeEnum.ROUTER_NOT_EXIST.getMessage());
if(StringUtil.isNull(obj)) throw new LiquidnetServiceException(GalaxyErrorEnum.ROUTER_NOT_EXIST.getCode(), GalaxyErrorEnum.ROUTER_NOT_EXIST.getMessage());
return obj;
}
......@@ -71,10 +71,10 @@ public class GalaxyRouterStrategyContext {
public IGalaxyRouterStrategyTrade getTradeStrategy(String type) {
if(!this.isActived(type)){
throw new LiquidnetServiceException(GalaxyErrorCodeEnum.ROUTER_NOT_EXIST.getCode(),GalaxyErrorCodeEnum.ROUTER_NOT_EXIST.getMessage());
throw new LiquidnetServiceException(GalaxyErrorEnum.ROUTER_NOT_EXIST.getCode(), GalaxyErrorEnum.ROUTER_NOT_EXIST.getMessage());
}
IGalaxyRouterStrategyTrade obj = tradeHandlerMap.get(type);
if(StringUtil.isNull(obj)) throw new LiquidnetServiceException(GalaxyErrorCodeEnum.ROUTER_NOT_EXIST.getCode(),GalaxyErrorCodeEnum.ROUTER_NOT_EXIST.getMessage());
if(StringUtil.isNull(obj)) throw new LiquidnetServiceException(GalaxyErrorEnum.ROUTER_NOT_EXIST.getCode(), GalaxyErrorEnum.ROUTER_NOT_EXIST.getMessage());
return obj;
}
......
......@@ -21,9 +21,9 @@ public class GalaxyEnumBiz {
* @param code
* @return
*/
public static GalaxyEnum.TaskStatusEnum getTaskStatusEnum(GalaxyEnum.RouterTypeEnum routerTypeEnum, String code){
public static GalaxyEnum.TaskStatusEnum getTaskStatusEnum(String routerType, String code){
GalaxyEnum.TaskStatusEnum taskStatusEnum = null;
switch (routerTypeEnum.getCode()){
switch (routerType){
case "zxinchain":
if(code.equalsIgnoreCase(ZxlnftEnum.TaskStatusEnum.PROCESSING.getCode())){
taskStatusEnum = GalaxyEnum.TaskStatusEnum.PROCESSING;
......
......@@ -17,10 +17,11 @@ import com.liquidnet.commons.lang.util.StringUtil;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.galaxy.constant.GalaxyConstant;
import com.liquidnet.service.galaxy.constant.GalaxyEnum;
import com.liquidnet.service.galaxy.constant.GalaxyErrorCodeEnum;
import com.liquidnet.service.galaxy.constant.GalaxyErrorEnum;
import com.liquidnet.service.galaxy.dto.bo.GalaxySeriesInfoBo;
import com.liquidnet.service.galaxy.dto.param.*;
import com.liquidnet.service.galaxy.router.strategy.biz.GalaxyCommonBiz;
import com.liquidnet.service.galaxy.router.strategy.biz.GalaxyEnumBiz;
import com.liquidnet.service.galaxy.utils.DataUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -86,6 +87,20 @@ public class ZxinArtworkBiz {
galaxyNftUploadRespDto.setOriginalNftUrl(reqDto.getOriginalNftUrl());
galaxyNftUploadRespDto.setDisplayUrl(this.getFullFilePath(seriesName,originalDisplayUrl));
galaxyNftUploadRespDto.setOriginalDisplayUrl(reqDto.getOriginalDisplayUrl());
/**
* 系列缓存初始化
*/
//获取任务ID
GalaxySeriesInfoBo seriesInfoBo = dataUtils.getSeriesInfoBo(reqDto.getRouterType(),reqDto.getSkuId());
if(StringUtil.isNotNull(seriesInfoBo)){
return ResponseDto.failure("素材已经上传过!");
}
seriesInfoBo = this.buildSeriesInfoBo(false,reqDto.getSkuId(),seriesName,null,null,0l
,originalNftUrl,originalDisplayUrl,null
,null,null,null,null,null,null,null,null,null);
dataUtils.setSeriesInfoBo(reqDto.getRouterType(),reqDto.getSkuId(),seriesInfoBo);
return ResponseDto.success(galaxyNftUploadRespDto);
// 1.4.4调用查询素材地址接口 -- 非必需
......@@ -172,11 +187,11 @@ public class ZxinArtworkBiz {
break;
}else if(nft031RespDtoTemp.getData().getTaskStatus().toString().equals(ZxlnftEnum.TaskStatusEnum.TASK_FAIL.getCode())){
log.info("任务执行失败!taskId:{}",nft031ReqDto.getTaskId());
return ResponseDto.failure(GalaxyErrorCodeEnum.SERIES_CLAIM_ERROR.getCode(),GalaxyErrorCodeEnum.SERIES_CLAIM_ERROR.getMessage());
return ResponseDto.failure(GalaxyErrorEnum.SERIES_CLAIM_ERROR.getCode(), GalaxyErrorEnum.SERIES_CLAIM_ERROR.getMessage());
}
if(count==5){
log.info("=======查询共5次,跳出循环!taskId:{}",nft031ReqDto.getTaskId());
return ResponseDto.failure(GalaxyErrorCodeEnum.SERIES_CLAIM_ERROR_FIVE_TIMES.getCode(),GalaxyErrorCodeEnum.SERIES_CLAIM_ERROR_FIVE_TIMES.getMessage());
return ResponseDto.failure(GalaxyErrorEnum.SERIES_CLAIM_ERROR_FIVE_TIMES.getCode(), GalaxyErrorEnum.SERIES_CLAIM_ERROR_FIVE_TIMES.getMessage());
}
}
......@@ -191,22 +206,33 @@ public class ZxinArtworkBiz {
//构造缓存数据
if(seriesInfoBo==null){
seriesInfoBo = this.buildSeriesInfoBo(false,skuId,seriesName,seriesId,totalCount,0l,
author,nftName,nftUrl,displayUrl,nftDesc,nftFlag,sellCount,coverUrl,seriesDesc);
seriesInfoBo = this.buildSeriesInfoBo(false,skuId,seriesName,seriesId,totalCount,0l
,null,null,null
,author,nftName,nftUrl,displayUrl,nftDesc,nftFlag,sellCount,coverUrl,seriesDesc);
dataUtils.setSeriesInfoBo(reqDto.getRouterType(),reqDto.getSkuId(),seriesInfoBo);
}
return ResponseDto.success(seriesClaimRespDto);
}
public ResponseDto<GalaxyArtSeriesClaimResultQueryRespDto> seriesClaimResultQuery(GalaxyArtSeriesClaimResultQueryReqDto reqDto) {
//获取任务ID
GalaxySeriesInfoBo seriesInfoBo = dataUtils.getSeriesInfoBo(reqDto.getRouterType(),reqDto.getSkuId());
if(StringUtil.isNull(seriesInfoBo)||StringUtil.isEmpty(seriesInfoBo.getSeriesClaimTaskId())){
return ResponseDto.failure(GalaxyErrorEnum.SERIES_NOT_EXIST.getCode(), GalaxyErrorEnum.SERIES_NOT_EXIST.getMessage());
}
//查询NFT系列声明结果
Nft031SeriesClaimResultReqDto nft031SeriesClaimResultReqDto = Nft031SeriesClaimResultReqDto.getNew();
nft031SeriesClaimResultReqDto.setTaskId(seriesInfoBo.getSeriesClaimTaskId());
nft031SeriesClaimResultReqDto.setPlatformPubKey(zxlnftConfig.getNftPlatformPubKey());
ZxlnftResponseDto<Nft031SeriesClaimResultRespDto> resp = zxlnftSdkUtil.nft031SeriesClaimResult(nft031SeriesClaimResultReqDto);
if(resp.isSuccess()){
GalaxyArtSeriesClaimResultQueryRespDto resultQueryRespDto = GalaxyArtSeriesClaimResultQueryRespDto.getNew();
BeanUtil.copy(resp.getData(),resultQueryRespDto);
resultQueryRespDto.setTaskStatus(Integer.valueOf(GalaxyEnumBiz.getTaskStatusEnum(reqDto.getRouterType(),resp.getData().getTaskStatus().toString()).getCode()));
return ResponseDto.success(resultQueryRespDto);
}else{
return ResponseDto.failure(GalaxyErrorCodeEnum.SERIES_CLAIM_ERROR.getCode(),GalaxyErrorCodeEnum.SERIES_CLAIM_ERROR.getMessage());
return ResponseDto.failure(GalaxyErrorEnum.SERIES_CLAIM_ERROR.getCode(), GalaxyErrorEnum.SERIES_CLAIM_ERROR.getMessage());
}
}
......@@ -268,8 +294,11 @@ public class ZxinArtworkBiz {
}
private GalaxySeriesInfoBo buildSeriesInfoBo(boolean isInit,String skuId,String seriesName,String seriesId,Long totalCount,Long crtCount
,String author,String nftName,String nftUrl,String displayUrl,String nftDesc,String nftFlag,String sellCount,String coverUrl,String seriesDesc){
private GalaxySeriesInfoBo buildSeriesInfoBo(
boolean isInit,String skuId,String seriesName,String seriesId,Long totalCount,Long crtCount
,String originalNftUrl,String originalDisplayUrl,String seriesClaimTaskId
,String author,String nftName,String nftUrl,String displayUrl,String nftDesc
,String nftFlag,String sellCount,String coverUrl,String seriesDesc){
GalaxySeriesInfoBo seriesInfoBo = GalaxySeriesInfoBo.getNew();
seriesInfoBo.setSkuId(skuId);
......@@ -277,7 +306,9 @@ public class ZxinArtworkBiz {
seriesInfoBo.setSeriesId(seriesId);
seriesInfoBo.setTotalCount(totalCount);
seriesInfoBo.setCrtCount(crtCount);
seriesInfoBo.setNftUrl(nftUrl);
seriesInfoBo.setOriginalNftUrl(originalNftUrl);
seriesInfoBo.setOriginalDisplayUrl(originalDisplayUrl);
seriesInfoBo.setSeriesClaimTaskId(seriesClaimTaskId);
seriesInfoBo.setPublishStatus(GalaxyEnum.SeriesClaimStatusEnum.SERIES_INIT.getCode());
if(!isInit){
if(StringUtil.isEmpty(seriesId)){
......
......@@ -9,7 +9,7 @@ import com.liquidnet.common.third.zxlnft.util.ZxlnftSdkUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.commons.lang.util.StringUtil;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.galaxy.constant.GalaxyErrorCodeEnum;
import com.liquidnet.service.galaxy.constant.GalaxyErrorEnum;
import com.liquidnet.service.galaxy.dto.bo.GalaxyNftOrderBo;
import com.liquidnet.service.galaxy.dto.bo.GalaxySeriesInfoBo;
import com.liquidnet.service.galaxy.dto.bo.GalaxyUserInfoBo;
......@@ -56,7 +56,7 @@ public class ZxinPublishBiz {
//获取订单信息
GalaxyNftOrderBo nftOrderBo = dataUtils.getNftOrderBo(reqDto.getRouterType(),reqDto.getNftOrderPayId());
if(StringUtil.isNotNull(nftOrderBo)&&StringUtil.isNotEmpty(nftOrderBo.getNftId())){
return ResponseDto.failure(GalaxyErrorCodeEnum.PUBLISH_FAIL_ALREADY_EXIST.getCode(),GalaxyErrorCodeEnum.PUBLISH_FAIL_ALREADY_EXIST.getMessage());
return ResponseDto.failure(GalaxyErrorEnum.PUBLISH_FAIL_ALREADY_EXIST.getCode(), GalaxyErrorEnum.PUBLISH_FAIL_ALREADY_EXIST.getMessage());
}
//获取用户信息
......@@ -162,7 +162,7 @@ public class ZxinPublishBiz {
if(StringUtil.isEmpty(nftId)){
return ResponseDto.failure(GalaxyErrorCodeEnum.PUBLISH_FAIL.getCode(),GalaxyErrorCodeEnum.PUBLISH_FAIL.getMessage());
return ResponseDto.failure(GalaxyErrorEnum.PUBLISH_FAIL.getCode(), GalaxyErrorEnum.PUBLISH_FAIL.getMessage());
}
GalaxyNftPublishRespDto nftPublishRespDto = GalaxyNftPublishRespDto.getNew();
......
......@@ -10,7 +10,7 @@ import com.liquidnet.commons.lang.util.BeanUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.commons.lang.util.StringUtil;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.galaxy.constant.GalaxyErrorCodeEnum;
import com.liquidnet.service.galaxy.constant.GalaxyErrorEnum;
import com.liquidnet.service.galaxy.dto.bo.GalaxyNftOrderBo;
import com.liquidnet.service.galaxy.dto.bo.GalaxySeriesInfoBo;
import com.liquidnet.service.galaxy.dto.bo.GalaxyUserInfoBo;
......@@ -73,7 +73,7 @@ public class ZxinTradeBiz {
GalaxyNftBuyRespDto nftBuyRespDto = this.nftBuyBusiness(nftId,userInfoBo,seriesInfoBo);
return ResponseDto.success(nftBuyRespDto);
}else{
return ResponseDto.failure(GalaxyErrorCodeEnum.PUBLISH_BUY_FAIL.getCode(),GalaxyErrorCodeEnum.PUBLISH_BUY_FAIL.getMessage());
return ResponseDto.failure(GalaxyErrorEnum.PUBLISH_BUY_FAIL.getCode(), GalaxyErrorEnum.PUBLISH_BUY_FAIL.getMessage());
}
}
......@@ -212,7 +212,7 @@ public class ZxinTradeBiz {
BeanUtil.copy(nftBuyRespDto,nftPublishAndBuyRespDto);
return ResponseDto.success(nftPublishAndBuyRespDto);
}else{
return ResponseDto.failure(GalaxyErrorCodeEnum.PUBLISH_FAIL.getCode(),GalaxyErrorCodeEnum.PUBLISH_FAIL.getMessage());
return ResponseDto.failure(GalaxyErrorEnum.PUBLISH_FAIL.getCode(), GalaxyErrorEnum.PUBLISH_FAIL.getMessage());
}
}
......
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