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

Commit 4d82558a authored by anjiabin's avatar anjiabin

优化相关策略实现

parent 571330b5
...@@ -50,9 +50,9 @@ public class GalaxySeriesInfoBo implements Serializable,Cloneable { ...@@ -50,9 +50,9 @@ public class GalaxySeriesInfoBo implements Serializable,Cloneable {
*/ */
private String seriesClaimTaskId; private String seriesClaimTaskId;
/** /**
* 系列发布状态 * 系列声明状态
*/ */
private String publishStatus; private String seriesClaimStatus;
//====================================== //======================================
//=============以下都为购买信息============= //=============以下都为购买信息=============
......
...@@ -62,7 +62,6 @@ public class GalaxyArtSeriesClaimReqDto extends GalaxyBaseReqDto implements Seri ...@@ -62,7 +62,6 @@ public class GalaxyArtSeriesClaimReqDto extends GalaxyBaseReqDto implements Seri
private String sellCount; private String sellCount;
@ApiModelProperty(position = 1, required = true, value = "系列nft发行总量(对应sku库存)") @ApiModelProperty(position = 1, required = true, value = "系列nft发行总量(对应sku库存)")
@NotBlank(message = "系列nft发行总量(对应sku库存)!")
@Digits(integer = 10,fraction = 0,message = "系列nft发行总量") @Digits(integer = 10,fraction = 0,message = "系列nft发行总量")
private Long totalCount; private Long totalCount;
...@@ -72,8 +71,8 @@ public class GalaxyArtSeriesClaimReqDto extends GalaxyBaseReqDto implements Seri ...@@ -72,8 +71,8 @@ public class GalaxyArtSeriesClaimReqDto extends GalaxyBaseReqDto implements Seri
private String coverUrl; private String coverUrl;
@ApiModelProperty(position = 1, required = true, value = "系列描述信息,不超过500个字符") @ApiModelProperty(position = 1, required = true, value = "系列描述信息,不超过500个字符")
@NotBlank(message = "预览图url不能为空!") @NotBlank(message = "系列描述信息不能为空!")
@Size(max = 500, message = "预览图url,不超过500个字符") @Size(max = 500, message = "系列描述信息,不超过500个字符")
private String seriesDesc; private String seriesDesc;
@Override @Override
......
...@@ -22,8 +22,11 @@ public class GalaxyArtSeriesClaimRespDto implements Serializable,Cloneable { ...@@ -22,8 +22,11 @@ public class GalaxyArtSeriesClaimRespDto implements Serializable,Cloneable {
@ApiModelProperty(position = 1, required = true, value = "skuId") @ApiModelProperty(position = 1, required = true, value = "skuId")
private String skuId; private String skuId;
@ApiModelProperty(position = 2, required = true, value = "素材访问地址") @ApiModelProperty(position = 2, required = true, value = "nft素材访问地址")
private String materialAccessUrl; private String nftUrl;
@ApiModelProperty(position = 2, required = true, value = "nft显示素材访问地址")
private String displayUrl;
@ApiModelProperty(position = 3, required = true, value = "系列在区块链上唯一ID") @ApiModelProperty(position = 3, required = true, value = "系列在区块链上唯一ID")
private String seriesId; private String seriesId;
...@@ -31,6 +34,10 @@ public class GalaxyArtSeriesClaimRespDto implements Serializable,Cloneable { ...@@ -31,6 +34,10 @@ public class GalaxyArtSeriesClaimRespDto implements Serializable,Cloneable {
@ApiModelProperty(position = 3, required = true, value = "系列在区块链上的名称") @ApiModelProperty(position = 3, required = true, value = "系列在区块链上的名称")
private String seriesName; private String seriesName;
@ApiModelProperty(position = 4, required = true, value = "系列声明状态")
private String seriesClaimStatus;
@Override @Override
public String toString(){ public String toString(){
return JsonUtils.toJson(this); return JsonUtils.toJson(this);
......
...@@ -97,8 +97,9 @@ public class ZxinArtworkBiz { ...@@ -97,8 +97,9 @@ public class ZxinArtworkBiz {
return ResponseDto.failure("素材已经上传过!"); return ResponseDto.failure("素材已经上传过!");
} }
seriesInfoBo = this.buildSeriesInfoBo(false,reqDto.getSkuId(),seriesName,null,null,0l 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); ,null,null,null,null,null,null,null,null,null);
dataUtils.setSeriesInfoBo(reqDto.getRouterType(),reqDto.getSkuId(),seriesInfoBo); dataUtils.setSeriesInfoBo(reqDto.getRouterType(),reqDto.getSkuId(),seriesInfoBo);
return ResponseDto.success(galaxyNftUploadRespDto); return ResponseDto.success(galaxyNftUploadRespDto);
...@@ -128,6 +129,82 @@ public class ZxinArtworkBiz { ...@@ -128,6 +129,82 @@ public class ZxinArtworkBiz {
String nftFlag = reqDto.getNftFlag(); String nftFlag = reqDto.getNftFlag();
String sellCount = reqDto.getSellCount(); 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; String seriesId = null;
...@@ -137,10 +214,10 @@ public class ZxinArtworkBiz { ...@@ -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(); GalaxyArtSeriesClaimRespDto seriesClaimRespDto = GalaxyArtSeriesClaimRespDto.getNew();
seriesClaimRespDto.setSkuId(seriesInfoBo.getSkuId()); seriesClaimRespDto.setSkuId(seriesInfoBo.getSkuId());
seriesClaimRespDto.setMaterialAccessUrl(seriesInfoBo.getNftUrl()); seriesClaimRespDto.setNftUrl(seriesInfoBo.getNftUrl());
seriesClaimRespDto.setSeriesId(seriesInfoBo.getSeriesId()); seriesClaimRespDto.setSeriesId(seriesInfoBo.getSeriesId());
seriesClaimRespDto.setSeriesName(seriesInfoBo.getSeriesName()); seriesClaimRespDto.setSeriesName(seriesInfoBo.getSeriesName());
return ResponseDto.success(seriesClaimRespDto); return ResponseDto.success(seriesClaimRespDto);
...@@ -200,14 +277,16 @@ public class ZxinArtworkBiz { ...@@ -200,14 +277,16 @@ public class ZxinArtworkBiz {
GalaxyArtSeriesClaimRespDto seriesClaimRespDto = GalaxyArtSeriesClaimRespDto.getNew(); GalaxyArtSeriesClaimRespDto seriesClaimRespDto = GalaxyArtSeriesClaimRespDto.getNew();
seriesClaimRespDto.setSkuId(skuId); seriesClaimRespDto.setSkuId(skuId);
seriesClaimRespDto.setMaterialAccessUrl(nftUrl); seriesClaimRespDto.setNftUrl(nftUrl);
seriesClaimRespDto.setSeriesId(seriesId); seriesClaimRespDto.setSeriesId(seriesId);
seriesClaimRespDto.setSeriesName(seriesName); seriesClaimRespDto.setSeriesName(seriesName);
//构造缓存数据 //构造缓存数据
if(seriesInfoBo==null){ if(seriesInfoBo==null){
//设置为处理中
String publishStatus = GalaxyEnum.SeriesClaimStatusEnum.PROCESSING.getCode();
seriesInfoBo = this.buildSeriesInfoBo(false,skuId,seriesName,seriesId,totalCount,0l 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); ,author,nftName,nftUrl,displayUrl,nftDesc,nftFlag,sellCount,coverUrl,seriesDesc);
dataUtils.setSeriesInfoBo(reqDto.getRouterType(),reqDto.getSkuId(),seriesInfoBo); dataUtils.setSeriesInfoBo(reqDto.getRouterType(),reqDto.getSkuId(),seriesInfoBo);
} }
...@@ -296,7 +375,7 @@ public class ZxinArtworkBiz { ...@@ -296,7 +375,7 @@ public class ZxinArtworkBiz {
private GalaxySeriesInfoBo buildSeriesInfoBo( private GalaxySeriesInfoBo buildSeriesInfoBo(
boolean isInit,String skuId,String seriesName,String seriesId,Long totalCount,Long crtCount 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 author,String nftName,String nftUrl,String displayUrl,String nftDesc
,String nftFlag,String sellCount,String coverUrl,String seriesDesc){ ,String nftFlag,String sellCount,String coverUrl,String seriesDesc){
...@@ -309,14 +388,7 @@ public class ZxinArtworkBiz { ...@@ -309,14 +388,7 @@ public class ZxinArtworkBiz {
seriesInfoBo.setOriginalNftUrl(originalNftUrl); seriesInfoBo.setOriginalNftUrl(originalNftUrl);
seriesInfoBo.setOriginalDisplayUrl(originalDisplayUrl); seriesInfoBo.setOriginalDisplayUrl(originalDisplayUrl);
seriesInfoBo.setSeriesClaimTaskId(seriesClaimTaskId); seriesInfoBo.setSeriesClaimTaskId(seriesClaimTaskId);
seriesInfoBo.setPublishStatus(GalaxyEnum.SeriesClaimStatusEnum.SERIES_INIT.getCode()); seriesInfoBo.setSeriesClaimStatus(seriesClaimStatus);
if(!isInit){
if(StringUtil.isEmpty(seriesId)){
seriesInfoBo.setPublishStatus(GalaxyEnum.SeriesClaimStatusEnum.PROCESSING.getCode());
}else{
seriesInfoBo.setPublishStatus(GalaxyEnum.SeriesClaimStatusEnum.SUCCESS.getCode());
}
}
//以下为购买信息 //以下为购买信息
seriesInfoBo.setAuthor(author); seriesInfoBo.setAuthor(author);
seriesInfoBo.setNftName(nftName); seriesInfoBo.setNftName(nftName);
...@@ -324,7 +396,7 @@ public class ZxinArtworkBiz { ...@@ -324,7 +396,7 @@ public class ZxinArtworkBiz {
seriesInfoBo.setDisplayUrl(displayUrl); seriesInfoBo.setDisplayUrl(displayUrl);
seriesInfoBo.setNftDesc(nftDesc); seriesInfoBo.setNftDesc(nftDesc);
seriesInfoBo.setNftFlag(nftFlag); seriesInfoBo.setNftFlag(nftFlag);
seriesInfoBo.setSellCount(new BigDecimal(sellCount)); seriesInfoBo.setSellCount(sellCount==null?null:new BigDecimal(sellCount));
seriesInfoBo.setCoverUrl(coverUrl); seriesInfoBo.setCoverUrl(coverUrl);
seriesInfoBo.setSeriesDesc(seriesDesc); seriesInfoBo.setSeriesDesc(seriesDesc);
return seriesInfoBo; 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