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

Commit 4d82558a authored by anjiabin's avatar anjiabin

优化相关策略实现

parent 571330b5
......@@ -50,9 +50,9 @@ public class GalaxySeriesInfoBo implements Serializable,Cloneable {
*/
private String seriesClaimTaskId;
/**
* 系列发布状态
* 系列声明状态
*/
private String publishStatus;
private String seriesClaimStatus;
//======================================
//=============以下都为购买信息=============
......
......@@ -62,7 +62,6 @@ public class GalaxyArtSeriesClaimReqDto extends GalaxyBaseReqDto implements Seri
private String sellCount;
@ApiModelProperty(position = 1, required = true, value = "系列nft发行总量(对应sku库存)")
@NotBlank(message = "系列nft发行总量(对应sku库存)!")
@Digits(integer = 10,fraction = 0,message = "系列nft发行总量")
private Long totalCount;
......@@ -72,8 +71,8 @@ public class GalaxyArtSeriesClaimReqDto extends GalaxyBaseReqDto implements Seri
private String coverUrl;
@ApiModelProperty(position = 1, required = true, value = "系列描述信息,不超过500个字符")
@NotBlank(message = "预览图url不能为空!")
@Size(max = 500, message = "预览图url,不超过500个字符")
@NotBlank(message = "系列描述信息不能为空!")
@Size(max = 500, message = "系列描述信息,不超过500个字符")
private String seriesDesc;
@Override
......
......@@ -22,8 +22,11 @@ public class GalaxyArtSeriesClaimRespDto implements Serializable,Cloneable {
@ApiModelProperty(position = 1, required = true, value = "skuId")
private String skuId;
@ApiModelProperty(position = 2, required = true, value = "素材访问地址")
private String materialAccessUrl;
@ApiModelProperty(position = 2, required = true, value = "nft素材访问地址")
private String nftUrl;
@ApiModelProperty(position = 2, required = true, value = "nft显示素材访问地址")
private String displayUrl;
@ApiModelProperty(position = 3, required = true, value = "系列在区块链上唯一ID")
private String seriesId;
......@@ -31,6 +34,10 @@ public class GalaxyArtSeriesClaimRespDto implements Serializable,Cloneable {
@ApiModelProperty(position = 3, required = true, value = "系列在区块链上的名称")
private String seriesName;
@ApiModelProperty(position = 4, required = true, value = "系列声明状态")
private String seriesClaimStatus;
@Override
public String toString(){
return JsonUtils.toJson(this);
......
......@@ -97,8 +97,9 @@ public class ZxinArtworkBiz {
return ResponseDto.failure("素材已经上传过!");
}
seriesInfoBo = this.buildSeriesInfoBo(false,reqDto.getSkuId(),seriesName,null,null,0l
,originalNftUrl,originalDisplayUrl,null
,originalNftUrl,originalDisplayUrl,null,GalaxyEnum.SeriesClaimStatusEnum.SERIES_INIT.getCode()
,null,null,null,null,null,null,null,null,null);
dataUtils.setSeriesInfoBo(reqDto.getRouterType(),reqDto.getSkuId(),seriesInfoBo);
return ResponseDto.success(galaxyNftUploadRespDto);
......@@ -128,6 +129,82 @@ public class ZxinArtworkBiz {
String nftFlag = reqDto.getNftFlag();
String sellCount = reqDto.getSellCount();
GalaxySeriesInfoBo seriesInfoBo = dataUtils.getSeriesInfoBo(reqDto.getRouterType(),reqDto.getSkuId());
if(StringUtil.isNotNull(seriesInfoBo)){
/**
* 如果系列声明成功,则不允许继续声明
*/
if(seriesInfoBo.getSeriesClaimStatus().equalsIgnoreCase(GalaxyEnum.SeriesClaimStatusEnum.SUCCESS.getCode())){
GalaxyArtSeriesClaimRespDto seriesClaimRespDto = GalaxyArtSeriesClaimRespDto.getNew();
seriesClaimRespDto.setSkuId(seriesInfoBo.getSkuId());
seriesClaimRespDto.setNftUrl(seriesInfoBo.getNftUrl());
seriesClaimRespDto.setSeriesId(seriesInfoBo.getSeriesId());
seriesClaimRespDto.setSeriesName(seriesInfoBo.getSeriesName());
return ResponseDto.success(seriesClaimRespDto);
}
}
/**
* 进行系列声明
*/
Nft030SeriesClaimReqDto nft030ReqDto = Nft030SeriesClaimReqDto.getNew();
nft030ReqDto.setPubKey(zxlnftConfig.getNftPlatformPubKey());
nft030ReqDto.setSeriesName(seriesName);
//无限制系列 设置为0
nft030ReqDto.setTotalCount(totalCount);
nft030ReqDto.setOperateId(IDGenerator.get32UUID());
//系列封面
nft030ReqDto.setCoverUrl(coverUrl);
nft030ReqDto.setDesc(seriesDesc);
nft030ReqDto.setMaxPublishCount(0);
nft030ReqDto.setSeriesBeginFromZero(false);
ZxlnftResponseDto<Nft030SeriesClaimRespDto> nft30RespDto = zxlnftSdkUtil.nft030SeriesClaim(nft030ReqDto);
//返回参数
String seriesId = null;
String taskId = null;
if(nft30RespDto.isSuccess()){
//系列声明结果查询
Nft031SeriesClaimResultReqDto nft031ReqDto = Nft031SeriesClaimResultReqDto.getNew();
//第零个系列 无限制系列
taskId = nft30RespDto.getData().getTaskId();
nft031ReqDto.setTaskId(taskId);
}
GalaxyArtSeriesClaimRespDto seriesClaimRespDto = GalaxyArtSeriesClaimRespDto.getNew();
seriesClaimRespDto.setSkuId(skuId);
seriesClaimRespDto.setNftUrl(nftUrl);
seriesClaimRespDto.setSeriesId(seriesId);
seriesClaimRespDto.setSeriesName(seriesName);
//构造缓存数据
if(seriesInfoBo==null){
//
String publishStatus = GalaxyEnum.SeriesClaimStatusEnum.PROCESSING.getCode();
seriesInfoBo = this.buildSeriesInfoBo(false,skuId,seriesName,seriesId,totalCount,0l
,null,null,null,publishStatus
,author,nftName,nftUrl,displayUrl,nftDesc,nftFlag,sellCount,coverUrl,seriesDesc);
dataUtils.setSeriesInfoBo(reqDto.getRouterType(),reqDto.getSkuId(),seriesInfoBo);
}
return ResponseDto.success(seriesClaimRespDto);
}
public ResponseDto<GalaxyArtSeriesClaimRespDto> seriesClaimBackup(GalaxyArtSeriesClaimReqDto reqDto) {
//系列声明用到参数
String skuId = reqDto.getSkuId();
String seriesName = GalaxyConstant.SERIES_NAME_PREFIX.concat(skuId);
Long totalCount = reqDto.getTotalCount();
String coverUrl = reqDto.getCoverUrl();//暂时用nftUrl
String seriesDesc = reqDto.getSeriesDesc();
//发行用到的相关信息
String author = reqDto.getAuthor();
String nftName = reqDto.getNftName();
String nftUrl = reqDto.getNftUrl();
String displayUrl = reqDto.getDisplayUrl();
String nftDesc = reqDto.getNftDesc();
String nftFlag = reqDto.getNftFlag();
String sellCount = reqDto.getSellCount();
//返回参数
String seriesId = null;
......@@ -137,10 +214,10 @@ public class ZxinArtworkBiz {
/**
* 如果系列声明成功,则不允许继续声明
*/
if(seriesInfoBo.getPublishStatus().equalsIgnoreCase(GalaxyEnum.SeriesClaimStatusEnum.SUCCESS.getCode())){
if(seriesInfoBo.getSeriesClaimStatus().equalsIgnoreCase(GalaxyEnum.SeriesClaimStatusEnum.SUCCESS.getCode())){
GalaxyArtSeriesClaimRespDto seriesClaimRespDto = GalaxyArtSeriesClaimRespDto.getNew();
seriesClaimRespDto.setSkuId(seriesInfoBo.getSkuId());
seriesClaimRespDto.setMaterialAccessUrl(seriesInfoBo.getNftUrl());
seriesClaimRespDto.setNftUrl(seriesInfoBo.getNftUrl());
seriesClaimRespDto.setSeriesId(seriesInfoBo.getSeriesId());
seriesClaimRespDto.setSeriesName(seriesInfoBo.getSeriesName());
return ResponseDto.success(seriesClaimRespDto);
......@@ -200,14 +277,16 @@ public class ZxinArtworkBiz {
GalaxyArtSeriesClaimRespDto seriesClaimRespDto = GalaxyArtSeriesClaimRespDto.getNew();
seriesClaimRespDto.setSkuId(skuId);
seriesClaimRespDto.setMaterialAccessUrl(nftUrl);
seriesClaimRespDto.setNftUrl(nftUrl);
seriesClaimRespDto.setSeriesId(seriesId);
seriesClaimRespDto.setSeriesName(seriesName);
//构造缓存数据
if(seriesInfoBo==null){
//设置为处理中
String publishStatus = GalaxyEnum.SeriesClaimStatusEnum.PROCESSING.getCode();
seriesInfoBo = this.buildSeriesInfoBo(false,skuId,seriesName,seriesId,totalCount,0l
,null,null,null
,null,null,null,publishStatus
,author,nftName,nftUrl,displayUrl,nftDesc,nftFlag,sellCount,coverUrl,seriesDesc);
dataUtils.setSeriesInfoBo(reqDto.getRouterType(),reqDto.getSkuId(),seriesInfoBo);
}
......@@ -296,7 +375,7 @@ public class ZxinArtworkBiz {
private GalaxySeriesInfoBo buildSeriesInfoBo(
boolean isInit,String skuId,String seriesName,String seriesId,Long totalCount,Long crtCount
,String originalNftUrl,String originalDisplayUrl,String seriesClaimTaskId
,String originalNftUrl,String originalDisplayUrl,String seriesClaimTaskId,String seriesClaimStatus
,String author,String nftName,String nftUrl,String displayUrl,String nftDesc
,String nftFlag,String sellCount,String coverUrl,String seriesDesc){
......@@ -309,14 +388,7 @@ public class ZxinArtworkBiz {
seriesInfoBo.setOriginalNftUrl(originalNftUrl);
seriesInfoBo.setOriginalDisplayUrl(originalDisplayUrl);
seriesInfoBo.setSeriesClaimTaskId(seriesClaimTaskId);
seriesInfoBo.setPublishStatus(GalaxyEnum.SeriesClaimStatusEnum.SERIES_INIT.getCode());
if(!isInit){
if(StringUtil.isEmpty(seriesId)){
seriesInfoBo.setPublishStatus(GalaxyEnum.SeriesClaimStatusEnum.PROCESSING.getCode());
}else{
seriesInfoBo.setPublishStatus(GalaxyEnum.SeriesClaimStatusEnum.SUCCESS.getCode());
}
}
seriesInfoBo.setSeriesClaimStatus(seriesClaimStatus);
//以下为购买信息
seriesInfoBo.setAuthor(author);
seriesInfoBo.setNftName(nftName);
......@@ -324,7 +396,7 @@ public class ZxinArtworkBiz {
seriesInfoBo.setDisplayUrl(displayUrl);
seriesInfoBo.setNftDesc(nftDesc);
seriesInfoBo.setNftFlag(nftFlag);
seriesInfoBo.setSellCount(new BigDecimal(sellCount));
seriesInfoBo.setSellCount(sellCount==null?null:new BigDecimal(sellCount));
seriesInfoBo.setCoverUrl(coverUrl);
seriesInfoBo.setSeriesDesc(seriesDesc);
return seriesInfoBo;
......
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