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

Commit b57d37cd authored by anjiabin's avatar anjiabin

提交galaxy系列表结构

parent c777f12c
...@@ -12,6 +12,7 @@ package com.liquidnet.service.galaxy.constant; ...@@ -12,6 +12,7 @@ package com.liquidnet.service.galaxy.constant;
public class GalaxyConstant { public class GalaxyConstant {
public static final String REDIS_KEY_GALAXY_USER="galaxy:user:"; public static final String REDIS_KEY_GALAXY_USER="galaxy:user:";
public static final String REDIS_KEY_GALAXY_SERIES="galaxy:series:"; public static final String REDIS_KEY_GALAXY_SERIES="galaxy:series:";
public static final String REDIS_KEY_GALAXY_SERIES_NFT_UPLOAD="galaxy:series:nft:upload";
public static final String REDIS_KEY_GALAXY_SERIES_NFT="galaxy:series:nft:"; public static final String REDIS_KEY_GALAXY_SERIES_NFT="galaxy:series:nft:";
public static final String REDIS_KEY_GALAXY_TRADE="galaxy:trade:order:"; public static final String REDIS_KEY_GALAXY_TRADE="galaxy:trade:order:";
......
...@@ -4,7 +4,6 @@ import com.liquidnet.commons.lang.util.JsonUtils; ...@@ -4,7 +4,6 @@ import com.liquidnet.commons.lang.util.JsonUtils;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
/** /**
...@@ -18,16 +17,12 @@ import java.time.LocalDateTime; ...@@ -18,16 +17,12 @@ import java.time.LocalDateTime;
*/ */
@Data @Data
public class GalaxySeriesInfoBo implements Serializable,Cloneable { public class GalaxySeriesInfoBo implements Serializable,Cloneable {
/**
* 本地系列唯一标识id
*/
private String skuId;
/** /**
* 本地系列唯一名称(前缀+skuid) * 本地系列唯一名称(前缀+skuid)
*/ */
private String seriesName; private String seriesName;
/** /**
* 本地系列唯一编码(前缀+skuid) * 本地系列唯一编码
*/ */
private String seriesCode; private String seriesCode;
/** /**
...@@ -42,14 +37,6 @@ public class GalaxySeriesInfoBo implements Serializable,Cloneable { ...@@ -42,14 +37,6 @@ public class GalaxySeriesInfoBo implements Serializable,Cloneable {
* 系列已发行个数 * 系列已发行个数
*/ */
private Long crtCount; private Long crtCount;
/**
* nft素材原始地址
*/
private String originalNftUrl;
/**
* nft显示素材原始地址
*/
private String originalDisplayUrl;
/** /**
* 系列声明任务ID * 系列声明任务ID
*/ */
...@@ -58,49 +45,6 @@ public class GalaxySeriesInfoBo implements Serializable,Cloneable { ...@@ -58,49 +45,6 @@ public class GalaxySeriesInfoBo implements Serializable,Cloneable {
* 系列声明状态 * 系列声明状态
*/ */
private String seriesClaimStatus; private String seriesClaimStatus;
/**
* 系列声明时间
*/
private String seriesClaimTime;
//======================================
//=============以下都为购买信息=============
//======================================
/**
* 作者名,中文+英文(数字或符号为非法输入) 不超过30个字符
*/
private String author;
/**
* nft名字(sku名称),中英文数字均可,不超过256个字符
*/
private String nftName;
/**
* nft素材地址
*/
private String nftUrl;
/**
* 预览图url,不超过1024个字符。(至信链浏览器展示预览图尺寸为290*290,请上传比例为1:1的图片)
*/
private String displayUrl;
/**
* nft简介,500个字符以内
*/
private String nftDesc;
/**
* 标签,【文创】,游戏,动漫,30个字符以内
* 非必填
*/
private String nftFlag;
/**
* 可售状态下有意义,表示售卖多少积分
*/
private BigDecimal sellCount;
/** /**
* 系列显示封面 * 系列显示封面
...@@ -112,14 +56,21 @@ public class GalaxySeriesInfoBo implements Serializable,Cloneable { ...@@ -112,14 +56,21 @@ public class GalaxySeriesInfoBo implements Serializable,Cloneable {
*/ */
private String seriesDesc; private String seriesDesc;
/**
* 系列声明时间
*/
private String seriesClaimTime;
/** /**
* 系列声明中nftHash * 系列声明中nftHash
*/ */
private String nftHash; private Integer nftCount;
/** /**
* 路由类型 * 路由类型
*/ */
private String routerType; private String routerType;
/** /**
* 创建时间 * 创建时间
*/ */
......
package com.liquidnet.service.galaxy.dto.bo;
import com.liquidnet.commons.lang.util.JsonUtils;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
* @version V1.0
* @Description: TODO
* @class: GalaxySeriesInfoBo
* @Package com.liquidnet.service.galaxy.dto.bo
* @Copyright: LightNet @ Copyright (c) 2021
* @date 2022/3/15 15:03
*/
@Data
public class GalaxySeriesNftInfoBo implements Serializable,Cloneable {
/**
* 本地系列唯一标识id
*/
private String skuId;
/**
* 本地系列唯一名称(前缀+skuid)
*/
private String seriesName;
/**
* 本地系列唯一编号(前缀+skuid)
*/
private String seriesCode;
/**
* 区块链上系列ID(系列声明后获取,NFT发行购买用到)
*/
private String seriesId;
/**
* 系列发行总量
*/
private Long nftTotalCount;
/**
* 系列已发行个数
*/
private Long nftCrtCount;
/**
* 系列nft发行开始索引
*/
private String nftIdBegin;
/**
* nft素材原始地址
*/
private String originalNftUrl;
/**
* nft显示素材原始地址
*/
private String originalDisplayUrl;
//======================================
//=============以下都为购买信息=============
//======================================
/**
* 作者名,中文+英文(数字或符号为非法输入) 不超过30个字符
*/
private String author;
/**
* nft名字(sku名称),中英文数字均可,不超过256个字符
*/
private String nftName;
/**
* nft素材地址
*/
private String nftUrl;
/**
* 预览图url,不超过1024个字符。(至信链浏览器展示预览图尺寸为290*290,请上传比例为1:1的图片)
*/
private String displayUrl;
/**
* nft简介,500个字符以内
*/
private String nftDesc;
/**
* 标签,【文创】,游戏,动漫,30个字符以内
* 非必填
*/
private String nftFlag;
/**
* 可售状态下有意义,表示售卖多少积分
*/
private BigDecimal sellCount;
/**
* 系列声明中nftHash
*/
private String nftHash;
/**
* 路由类型
*/
private String routerType;
/**
* 创建时间
*/
private LocalDateTime createdAt;
/**
* 更新时间
*/
private LocalDateTime updatedAt;
@Override
public String toString(){
return JsonUtils.toJson(this);
}
private static final GalaxySeriesNftInfoBo obj = new GalaxySeriesNftInfoBo();
public static GalaxySeriesNftInfoBo getNew() {
try {
return (GalaxySeriesNftInfoBo) obj.clone();
} catch (CloneNotSupportedException e) {
return new GalaxySeriesNftInfoBo();
}
}
}
...@@ -4,7 +4,6 @@ import com.liquidnet.commons.lang.util.JsonUtils; ...@@ -4,7 +4,6 @@ import com.liquidnet.commons.lang.util.JsonUtils;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
/** /**
...@@ -21,11 +20,15 @@ public class GalaxySeriesInfoVo implements Serializable,Cloneable { ...@@ -21,11 +20,15 @@ public class GalaxySeriesInfoVo implements Serializable,Cloneable {
/** /**
* 本地系列唯一标识id * 本地系列唯一标识id
*/ */
private String skuId; private String seriesInfoId;
/** /**
* 本地系列唯一名称(前缀+skuid) * 本地系列唯一名称(前缀+skuid)
*/ */
private String seriesName; private String seriesName;
/**
* 本地系列唯一编码
*/
private String seriesCode;
/** /**
* 区块链上系列ID(系列声明后获取,NFT发行购买用到) * 区块链上系列ID(系列声明后获取,NFT发行购买用到)
*/ */
...@@ -38,14 +41,6 @@ public class GalaxySeriesInfoVo implements Serializable,Cloneable { ...@@ -38,14 +41,6 @@ public class GalaxySeriesInfoVo implements Serializable,Cloneable {
* 系列已发行个数 * 系列已发行个数
*/ */
private Long crtCount; private Long crtCount;
/**
* nft素材原始地址
*/
private String originalNftUrl;
/**
* nft显示素材原始地址
*/
private String originalDisplayUrl;
/** /**
* 系列声明任务ID * 系列声明任务ID
*/ */
...@@ -55,45 +50,6 @@ public class GalaxySeriesInfoVo implements Serializable,Cloneable { ...@@ -55,45 +50,6 @@ public class GalaxySeriesInfoVo implements Serializable,Cloneable {
*/ */
private String seriesClaimStatus; private String seriesClaimStatus;
//======================================
//=============以下都为购买信息=============
//======================================
/**
* 作者名,中文+英文(数字或符号为非法输入) 不超过30个字符
*/
private String author;
/**
* nft名字(sku名称),中英文数字均可,不超过256个字符
*/
private String nftName;
/**
* nft素材地址
*/
private String nftUrl;
/**
* 预览图url,不超过1024个字符。(至信链浏览器展示预览图尺寸为290*290,请上传比例为1:1的图片)
*/
private String displayUrl;
/**
* nft简介,500个字符以内
*/
private String nftDesc;
/**
* 标签,【文创】,游戏,动漫,30个字符以内
* 非必填
*/
private String nftFlag;
/**
* 可售状态下有意义,表示售卖多少积分
*/
private BigDecimal sellCount;
/** /**
* 系列显示封面 * 系列显示封面
*/ */
...@@ -107,7 +63,7 @@ public class GalaxySeriesInfoVo implements Serializable,Cloneable { ...@@ -107,7 +63,7 @@ public class GalaxySeriesInfoVo implements Serializable,Cloneable {
/** /**
* 系列声明中nftHash * 系列声明中nftHash
*/ */
private String nftHash; private Integer nftCount;
/** /**
* 路由类型 * 路由类型
......
...@@ -18,6 +18,14 @@ import java.time.LocalDateTime; ...@@ -18,6 +18,14 @@ import java.time.LocalDateTime;
*/ */
@Data @Data
public class GalaxySeriesNftInfoVo implements Serializable,Cloneable { public class GalaxySeriesNftInfoVo implements Serializable,Cloneable {
/**
* 本地系列唯一标识id
*/
private String seriesNftInfoId;
/**
* 本地系列唯一标识id
*/
private String seriesInfoId;
/** /**
* 本地系列唯一标识id * 本地系列唯一标识id
*/ */
...@@ -26,6 +34,10 @@ public class GalaxySeriesNftInfoVo implements Serializable,Cloneable { ...@@ -26,6 +34,10 @@ public class GalaxySeriesNftInfoVo implements Serializable,Cloneable {
* 本地系列唯一名称(前缀+skuid) * 本地系列唯一名称(前缀+skuid)
*/ */
private String seriesName; private String seriesName;
/**
* 本地系列唯一编号(前缀+skuid)
*/
private String seriesCode;
/** /**
* 区块链上系列ID(系列声明后获取,NFT发行购买用到) * 区块链上系列ID(系列声明后获取,NFT发行购买用到)
*/ */
...@@ -33,11 +45,15 @@ public class GalaxySeriesNftInfoVo implements Serializable,Cloneable { ...@@ -33,11 +45,15 @@ public class GalaxySeriesNftInfoVo implements Serializable,Cloneable {
/** /**
* 系列发行总量 * 系列发行总量
*/ */
private Long totalCount; private Long nftTotalCount;
/** /**
* 系列已发行个数 * 系列已发行个数
*/ */
private Long crtCount; private Long nftCrtCount;
/**
* 系列nft发行开始索引
*/
private String nftIdBegin;
/** /**
* nft素材原始地址 * nft素材原始地址
*/ */
...@@ -46,14 +62,6 @@ public class GalaxySeriesNftInfoVo implements Serializable,Cloneable { ...@@ -46,14 +62,6 @@ public class GalaxySeriesNftInfoVo implements Serializable,Cloneable {
* nft显示素材原始地址 * nft显示素材原始地址
*/ */
private String originalDisplayUrl; private String originalDisplayUrl;
/**
* 系列声明任务ID
*/
private String seriesClaimTaskId;
/**
* 系列声明状态
*/
private String seriesClaimStatus;
//====================================== //======================================
//=============以下都为购买信息============= //=============以下都为购买信息=============
...@@ -94,16 +102,6 @@ public class GalaxySeriesNftInfoVo implements Serializable,Cloneable { ...@@ -94,16 +102,6 @@ public class GalaxySeriesNftInfoVo implements Serializable,Cloneable {
*/ */
private BigDecimal sellCount; private BigDecimal sellCount;
/**
* 系列显示封面
*/
private String coverUrl;
/**
* 系列描述信息,不超过500个字符
*/
private String seriesDesc;
/** /**
* 系列声明中nftHash * 系列声明中nftHash
*/ */
......
...@@ -9,11 +9,12 @@ db.createCollection("GalaxyNftTradeVo"); ...@@ -9,11 +9,12 @@ db.createCollection("GalaxyNftTradeVo");
#创建索引 #创建索引
db.GalaxyUserInfoBo.createIndex({userId:"hashed"}); db.GalaxyUserInfoVo.createIndex({userId:"hashed"});
db.GalaxySeriesInfoBo.createIndex({skuId:"hashed"}); db.GalaxySeriesInfoVo.createIndex({seriesCode:"hashed"});
db.GalaxySeriesInfoBo.createIndex({skuId:"hashed"}); db.GalaxySeriesNftInfoVo.createIndex({skuId:"hashed"});
db.GalaxySeriesInfoBo.createIndex({skuId:"hashed"}); db.GalaxySeriesNftUploadVo.createIndex({skuId:"hashed"});
db.GalaxySeriesInfoBo.createIndex({skuId:"hashed"}); db.GalaxyNftOrderVo.createIndex({nftOrderPayId:"hashed"});
db.GalaxyNftTradeVo.createIndex({nftId:"hashed"});
#创建分片 #创建分片
sh.enableSharding("dev_ln_scene"); sh.enableSharding("dev_ln_scene");
......
...@@ -19,6 +19,7 @@ import com.liquidnet.service.galaxy.constant.GalaxyConstant; ...@@ -19,6 +19,7 @@ import com.liquidnet.service.galaxy.constant.GalaxyConstant;
import com.liquidnet.service.galaxy.constant.GalaxyEnum; import com.liquidnet.service.galaxy.constant.GalaxyEnum;
import com.liquidnet.service.galaxy.constant.GalaxyErrorEnum; import com.liquidnet.service.galaxy.constant.GalaxyErrorEnum;
import com.liquidnet.service.galaxy.dto.bo.GalaxySeriesInfoBo; import com.liquidnet.service.galaxy.dto.bo.GalaxySeriesInfoBo;
import com.liquidnet.service.galaxy.dto.bo.GalaxySeriesNftInfoBo;
import com.liquidnet.service.galaxy.dto.bo.GalaxySeriesNftUploadBo; import com.liquidnet.service.galaxy.dto.bo.GalaxySeriesNftUploadBo;
import com.liquidnet.service.galaxy.dto.param.*; import com.liquidnet.service.galaxy.dto.param.*;
import com.liquidnet.service.galaxy.router.strategy.biz.GalaxyCommonBiz; import com.liquidnet.service.galaxy.router.strategy.biz.GalaxyCommonBiz;
...@@ -30,6 +31,7 @@ import org.springframework.stereotype.Component; ...@@ -30,6 +31,7 @@ import org.springframework.stereotype.Component;
import java.io.File; import java.io.File;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
/** /**
...@@ -99,6 +101,7 @@ public class ZxinArtworkBiz { ...@@ -99,6 +101,7 @@ public class ZxinArtworkBiz {
galaxyNftUploadRespDto.setDisplayUrl(this.getFullFilePath(seriesName,originalDisplayUrl)); galaxyNftUploadRespDto.setDisplayUrl(this.getFullFilePath(seriesName,originalDisplayUrl));
galaxyNftUploadRespDto.setOriginalDisplayUrl(reqDto.getOriginalDisplayUrl()); galaxyNftUploadRespDto.setOriginalDisplayUrl(reqDto.getOriginalDisplayUrl());
seriesNftUploadBo = GalaxySeriesNftUploadBo.getNew();
seriesNftUploadBo.setSkuId(reqDto.getSkuId()); seriesNftUploadBo.setSkuId(reqDto.getSkuId());
seriesNftUploadBo.setOriginalNftUrl(originalNftUrl); seriesNftUploadBo.setOriginalNftUrl(originalNftUrl);
seriesNftUploadBo.setOriginalDisplayUrl(originalDisplayUrl); seriesNftUploadBo.setOriginalDisplayUrl(originalDisplayUrl);
...@@ -120,18 +123,19 @@ public class ZxinArtworkBiz { ...@@ -120,18 +123,19 @@ public class ZxinArtworkBiz {
public ResponseDto<GalaxyArtSeriesClaimRespDto> seriesClaim(GalaxyArtSeriesClaimReqDto reqDto) { public ResponseDto<GalaxyArtSeriesClaimRespDto> seriesClaim(GalaxyArtSeriesClaimReqDto reqDto) {
//系列声明用到参数 //系列声明用到参数
String skuId = reqDto.getSkuId(); String skuId = reqDto.getSkuId();
//以下系列名称可以用spu名称代替
String seriesName = GalaxyConstant.SERIES_NAME_PREFIX.concat(skuId); String seriesName = GalaxyConstant.SERIES_NAME_PREFIX.concat(skuId);
Long totalCount = reqDto.getTotalCount(); Long totalCount = reqDto.getTotalCount();
String coverUrl = reqDto.getCoverUrl();//暂时用nftUrl String coverUrl = reqDto.getCoverUrl();//暂时用nftUrl
String seriesDesc = reqDto.getSeriesDesc(); String seriesDesc = reqDto.getSeriesDesc();
//发行用到的相关信息 //发行用到的相关信息
String author = reqDto.getAuthor(); // String author = reqDto.getAuthor();
String nftName = reqDto.getNftName(); // String nftName = reqDto.getNftName();
String nftUrl = reqDto.getNftUrl(); // String nftUrl = reqDto.getNftUrl();
String displayUrl = reqDto.getDisplayUrl(); // String displayUrl = reqDto.getDisplayUrl();
String nftDesc = reqDto.getNftDesc(); // String nftDesc = reqDto.getNftDesc();
String nftFlag = reqDto.getNftFlag(); // String nftFlag = reqDto.getNftFlag();
String sellCount = reqDto.getSellCount(); // String sellCount = reqDto.getSellCount();
GalaxySeriesInfoBo seriesInfoBo = dataUtils.getSeriesInfoBo(reqDto.getRouterType(),reqDto.getSkuId()); GalaxySeriesInfoBo seriesInfoBo = dataUtils.getSeriesInfoBo(reqDto.getRouterType(),reqDto.getSkuId());
if(StringUtil.isNotNull(seriesInfoBo)){ if(StringUtil.isNotNull(seriesInfoBo)){
...@@ -146,6 +150,14 @@ public class ZxinArtworkBiz { ...@@ -146,6 +150,14 @@ public class ZxinArtworkBiz {
}else{ }else{
return ResponseDto.failure(GalaxyErrorEnum.SERIES_CLAIM_NOT_EXIST.getCode(),GalaxyErrorEnum.SERIES_CLAIM_NOT_EXIST.getMessage()); return ResponseDto.failure(GalaxyErrorEnum.SERIES_CLAIM_NOT_EXIST.getCode(),GalaxyErrorEnum.SERIES_CLAIM_NOT_EXIST.getMessage());
} }
//根据skuId获取原始上传信息
GalaxySeriesNftUploadBo seriesNftUploadBo = dataUtils.getSeriesNftUploadBo(reqDto.getRouterType(),reqDto.getSkuId());
if(StringUtil.isNull(seriesNftUploadBo)){
return ResponseDto.failure("nft暂未上传相关素材!");
}
/** /**
* 进行系列声明 * 进行系列声明
*/ */
...@@ -172,8 +184,8 @@ public class ZxinArtworkBiz { ...@@ -172,8 +184,8 @@ public class ZxinArtworkBiz {
GalaxyArtSeriesClaimRespDto seriesClaimRespDto = GalaxyArtSeriesClaimRespDto.getNew(); GalaxyArtSeriesClaimRespDto seriesClaimRespDto = GalaxyArtSeriesClaimRespDto.getNew();
seriesClaimRespDto.setSkuId(skuId); seriesClaimRespDto.setSkuId(skuId);
seriesClaimRespDto.setNftUrl(nftUrl); seriesClaimRespDto.setNftUrl(seriesNftUploadBo.getNftUrl());
seriesClaimRespDto.setDisplayUrl(displayUrl); seriesClaimRespDto.setDisplayUrl(seriesNftUploadBo.getDisplayUrl());
seriesClaimRespDto.setSeriesId(seriesId); seriesClaimRespDto.setSeriesId(seriesId);
seriesClaimRespDto.setSeriesName(seriesName); seriesClaimRespDto.setSeriesName(seriesName);
...@@ -184,10 +196,13 @@ public class ZxinArtworkBiz { ...@@ -184,10 +196,13 @@ public class ZxinArtworkBiz {
//设置系列声明状态 //设置系列声明状态
seriesClaimRespDto.setSeriesClaimStatus(publishStatus); seriesClaimRespDto.setSeriesClaimStatus(publishStatus);
seriesInfoBo = this.buildSeriesInfoBo(false,skuId,seriesName,seriesId,totalCount,0l //构造系列信息
,seriesInfoBo.getOriginalNftUrl(),seriesInfoBo.getOriginalDisplayUrl(),taskId,publishStatus seriesInfoBo = this.buildSeriesInfoBo(reqDto,taskId,publishStatus);
,author,nftName,nftUrl,displayUrl,nftDesc,nftFlag,sellCount,coverUrl,seriesDesc);
dataUtils.setSeriesInfoBo(reqDto.getRouterType(),reqDto.getSkuId(),seriesInfoBo); dataUtils.setSeriesInfoBo(reqDto.getRouterType(),reqDto.getSkuId(),seriesInfoBo);
//构造系列nft信息
GalaxySeriesNftInfoBo seriesNftInfoBo = this.buildSeriesNftInfoBo(reqDto,seriesInfoBo,seriesNftUploadBo);
dataUtils.setSeriesNftInfoBo(reqDto.getRouterType(),reqDto.getSkuId(),seriesInfoBo,seriesNftInfoBo);
} }
return ResponseDto.success(seriesClaimRespDto); return ResponseDto.success(seriesClaimRespDto);
...@@ -221,8 +236,8 @@ public class ZxinArtworkBiz { ...@@ -221,8 +236,8 @@ public class ZxinArtworkBiz {
*/ */
if(seriesInfoBo.getSeriesClaimStatus().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(skuId);
seriesClaimRespDto.setNftUrl(seriesInfoBo.getNftUrl()); seriesClaimRespDto.setNftUrl(nftUrl);
seriesClaimRespDto.setSeriesId(seriesInfoBo.getSeriesId()); seriesClaimRespDto.setSeriesId(seriesInfoBo.getSeriesId());
seriesClaimRespDto.setSeriesName(seriesInfoBo.getSeriesName()); seriesClaimRespDto.setSeriesName(seriesInfoBo.getSeriesName());
return ResponseDto.success(seriesClaimRespDto); return ResponseDto.success(seriesClaimRespDto);
...@@ -290,9 +305,7 @@ public class ZxinArtworkBiz { ...@@ -290,9 +305,7 @@ public class ZxinArtworkBiz {
if(seriesInfoBo==null){ if(seriesInfoBo==null){
//设置为处理中 //设置为处理中
String publishStatus = GalaxyEnum.SeriesClaimStatusEnum.PROCESSING.getCode(); String publishStatus = GalaxyEnum.SeriesClaimStatusEnum.PROCESSING.getCode();
seriesInfoBo = this.buildSeriesInfoBo(false,skuId,seriesName,seriesId,totalCount,0l seriesInfoBo = this.buildSeriesInfoBo(reqDto,null,publishStatus);
,null,null,null,publishStatus
,author,nftName,nftUrl,displayUrl,nftDesc,nftFlag,sellCount,coverUrl,seriesDesc);
dataUtils.setSeriesInfoBo(reqDto.getRouterType(),reqDto.getSkuId(),seriesInfoBo); dataUtils.setSeriesInfoBo(reqDto.getRouterType(),reqDto.getSkuId(),seriesInfoBo);
} }
return ResponseDto.success(seriesClaimRespDto); return ResponseDto.success(seriesClaimRespDto);
...@@ -327,7 +340,10 @@ public class ZxinArtworkBiz { ...@@ -327,7 +340,10 @@ public class ZxinArtworkBiz {
GalaxyArtSeriesClaimResultQueryRespDto resultQueryRespDto = GalaxyArtSeriesClaimResultQueryRespDto.getNew(); GalaxyArtSeriesClaimResultQueryRespDto resultQueryRespDto = GalaxyArtSeriesClaimResultQueryRespDto.getNew();
BeanUtil.copy(resp.getData(),resultQueryRespDto); BeanUtil.copy(resp.getData(),resultQueryRespDto);
resultQueryRespDto.setTaskStatus(Integer.valueOf(GalaxyEnumBiz.getTaskStatusEnum(reqDto.getRouterType(),resp.getData().getTaskStatus().toString()).getCode())); resultQueryRespDto.setTaskStatus(Integer.valueOf(GalaxyEnumBiz.getTaskStatusEnum(reqDto.getRouterType(),resp.getData().getTaskStatus().toString()).getCode()));
resultQueryRespDto.setNftHash(seriesInfoBo.getNftHash());
//获取sku对应nft信息
GalaxySeriesNftInfoBo seriesNftInfoBo = dataUtils.getSeriesNftInfoBo(reqDto.getRouterType(),reqDto.getSkuId());
resultQueryRespDto.setNftHash(seriesNftInfoBo.getNftHash());
return ResponseDto.success(resultQueryRespDto); return ResponseDto.success(resultQueryRespDto);
}else if(resp.getData().getTaskStatus().toString().equals(ZxlnftEnum.TaskStatusEnum.TASK_FAIL.getCode())){ }else if(resp.getData().getTaskStatus().toString().equals(ZxlnftEnum.TaskStatusEnum.TASK_FAIL.getCode())){
...@@ -397,33 +413,48 @@ public class ZxinArtworkBiz { ...@@ -397,33 +413,48 @@ public class ZxinArtworkBiz {
} }
private GalaxySeriesInfoBo buildSeriesInfoBo( private GalaxySeriesInfoBo buildSeriesInfoBo(GalaxyArtSeriesClaimReqDto reqDto,String taskId,String publishStatus){
boolean isInit,String skuId,String seriesName,String seriesId,Long totalCount,Long crtCount String seriesName = reqDto.getSkuId();
,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){
GalaxySeriesInfoBo seriesInfoBo = GalaxySeriesInfoBo.getNew(); GalaxySeriesInfoBo seriesInfoBo = GalaxySeriesInfoBo.getNew();
seriesInfoBo.setSkuId(skuId); seriesInfoBo.setSeriesName(reqDto.getNftName());
seriesInfoBo.setSeriesName(seriesName); seriesInfoBo.setSeriesCode(seriesName);
seriesInfoBo.setSeriesId(seriesId); seriesInfoBo.setSeriesId(null);
seriesInfoBo.setTotalCount(totalCount); seriesInfoBo.setTotalCount(reqDto.getTotalCount());
seriesInfoBo.setCrtCount(crtCount); seriesInfoBo.setCrtCount(0L);
seriesInfoBo.setOriginalNftUrl(originalNftUrl); seriesInfoBo.setSeriesClaimTaskId(taskId);
seriesInfoBo.setOriginalDisplayUrl(originalDisplayUrl); seriesInfoBo.setSeriesClaimStatus(publishStatus);
seriesInfoBo.setSeriesClaimTaskId(seriesClaimTaskId); seriesInfoBo.setCoverUrl(reqDto.getCoverUrl());
seriesInfoBo.setSeriesClaimStatus(seriesClaimStatus); seriesInfoBo.setSeriesDesc(reqDto.getSeriesDesc());
//以下为购买信息 seriesInfoBo.setNftCount(1);//系列中nft个数 默认为1
seriesInfoBo.setAuthor(author); seriesInfoBo.setRouterType(reqDto.getRouterType());
seriesInfoBo.setNftName(nftName); seriesInfoBo.setCreatedAt(LocalDateTime.now());
seriesInfoBo.setNftUrl(nftUrl); seriesInfoBo.setUpdatedAt(null);
seriesInfoBo.setDisplayUrl(displayUrl);
seriesInfoBo.setNftDesc(nftDesc);
seriesInfoBo.setNftFlag(nftFlag);
seriesInfoBo.setSellCount(sellCount==null?null:new BigDecimal(sellCount));
seriesInfoBo.setCoverUrl(coverUrl);
seriesInfoBo.setSeriesDesc(seriesDesc);
seriesInfoBo.setNftHash(zxlnftBiz.getHashString(nftUrl));
return seriesInfoBo; return seriesInfoBo;
} }
private GalaxySeriesNftInfoBo buildSeriesNftInfoBo(GalaxyArtSeriesClaimReqDto reqDto,GalaxySeriesInfoBo seriesInfoBo,GalaxySeriesNftUploadBo seriesNftUploadBo){
GalaxySeriesNftInfoBo seriesNftInfoBo = GalaxySeriesNftInfoBo.getNew();
seriesNftInfoBo.setSkuId(reqDto.getSkuId());
seriesNftInfoBo.setSeriesName(seriesInfoBo.getSeriesName());
seriesNftInfoBo.setSeriesCode(seriesInfoBo.getSeriesCode());
seriesNftInfoBo.setSeriesId(seriesInfoBo.getSeriesId());
seriesNftInfoBo.setNftTotalCount(0L);
seriesNftInfoBo.setNftCrtCount(0L);
seriesNftInfoBo.setNftIdBegin(null);
seriesNftInfoBo.setOriginalNftUrl(seriesNftUploadBo.getOriginalNftUrl());
seriesNftInfoBo.setOriginalDisplayUrl(seriesNftUploadBo.getOriginalDisplayUrl());
//以下为购买信息
seriesNftInfoBo.setAuthor(reqDto.getAuthor());
seriesNftInfoBo.setNftName(reqDto.getNftName());
seriesNftInfoBo.setNftUrl(reqDto.getNftUrl());
seriesNftInfoBo.setDisplayUrl(reqDto.getDisplayUrl());
seriesNftInfoBo.setNftDesc(reqDto.getNftDesc());
seriesNftInfoBo.setNftFlag(reqDto.getNftFlag());
seriesNftInfoBo.setSellCount(reqDto.getSellCount()==null?BigDecimal.ONE:new BigDecimal(reqDto.getSellCount()));
seriesNftInfoBo.setNftHash(zxlnftBiz.getHashString(reqDto.getNftUrl()));
seriesNftInfoBo.setRouterType(reqDto.getRouterType());
seriesNftInfoBo.setCreatedAt(LocalDateTime.now());
return seriesNftInfoBo;
}
} }
...@@ -13,7 +13,7 @@ import com.liquidnet.commons.lang.util.StringUtil; ...@@ -13,7 +13,7 @@ import com.liquidnet.commons.lang.util.StringUtil;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.galaxy.constant.GalaxyErrorEnum; import com.liquidnet.service.galaxy.constant.GalaxyErrorEnum;
import com.liquidnet.service.galaxy.dto.bo.GalaxyNftOrderBo; import com.liquidnet.service.galaxy.dto.bo.GalaxyNftOrderBo;
import com.liquidnet.service.galaxy.dto.bo.GalaxySeriesInfoBo; import com.liquidnet.service.galaxy.dto.bo.GalaxySeriesNftInfoBo;
import com.liquidnet.service.galaxy.dto.bo.GalaxyUserInfoBo; import com.liquidnet.service.galaxy.dto.bo.GalaxyUserInfoBo;
import com.liquidnet.service.galaxy.dto.param.GalaxyNftPublishReqDto; import com.liquidnet.service.galaxy.dto.param.GalaxyNftPublishReqDto;
import com.liquidnet.service.galaxy.dto.param.GalaxyNftPublishRespDto; import com.liquidnet.service.galaxy.dto.param.GalaxyNftPublishRespDto;
...@@ -69,24 +69,24 @@ public class ZxinPublishBiz { ...@@ -69,24 +69,24 @@ public class ZxinPublishBiz {
GalaxyUserInfoBo userInfoBo = dataUtils.getGalaxyUserInfo(reqDto.getRouterType(),reqDto.getUserId()); GalaxyUserInfoBo userInfoBo = dataUtils.getGalaxyUserInfo(reqDto.getRouterType(),reqDto.getUserId());
//获取sku信息 //获取sku信息
GalaxySeriesInfoBo seriesInfoBo = dataUtils.getSeriesInfoBo(reqDto.getRouterType(),reqDto.getSkuId()); GalaxySeriesNftInfoBo seriesNftInfoBo = dataUtils.getSeriesNftInfoBo(reqDto.getRouterType(),reqDto.getSkuId());
String author = seriesInfoBo.getAuthor(); String author = seriesNftInfoBo.getAuthor();
String nftName = seriesInfoBo.getNftName(); String nftName = seriesNftInfoBo.getNftName();
String nftUrl = seriesInfoBo.getNftUrl(); String nftUrl = seriesNftInfoBo.getNftUrl();
String displayUrl = seriesInfoBo.getDisplayUrl(); String displayUrl = seriesNftInfoBo.getDisplayUrl();
String nftDesc = seriesInfoBo.getNftDesc(); String nftDesc = seriesNftInfoBo.getNftDesc();
String nftFlag = seriesInfoBo.getNftFlag(); String nftFlag = seriesNftInfoBo.getNftFlag();
//发行个数 //发行个数
Long publishCount = 1L; Long publishCount = 1L;
//开始索引 //开始索引
Integer seriesBeginIndex = 0; Integer seriesBeginIndex = 0;
Long sellCount = Long.valueOf(seriesInfoBo.getSellCount().multiply(BigDecimal.valueOf(100l)).longValue()); //积分 Long sellCount = Long.valueOf(seriesNftInfoBo.getSellCount().multiply(BigDecimal.valueOf(100l)).longValue()); //积分
/** /**
* 根据sku获取系列Id * 根据sku获取系列Id
*/ */
String seriesId = seriesInfoBo.getSeriesId(); String seriesId = seriesNftInfoBo.getSeriesId();
//返回参数nftId //返回参数nftId
String nftId = null; String nftId = null;
String taskId = null; String taskId = null;
...@@ -140,11 +140,11 @@ public class ZxinPublishBiz { ...@@ -140,11 +140,11 @@ public class ZxinPublishBiz {
nftOrderBo = GalaxyNftOrderBo.getNew(); nftOrderBo = GalaxyNftOrderBo.getNew();
nftOrderBo.setUserId(userInfoBo.getUserId()); nftOrderBo.setUserId(userInfoBo.getUserId());
nftOrderBo.setSkuId(reqDto.getSkuId()); nftOrderBo.setSkuId(reqDto.getSkuId());
nftOrderBo.setSeriesName(seriesInfoBo.getSeriesName()); nftOrderBo.setSeriesName(seriesNftInfoBo.getSeriesName());
nftOrderBo.setSeriesId(seriesInfoBo.getSeriesId()); nftOrderBo.setSeriesId(seriesNftInfoBo.getSeriesId());
nftOrderBo.setNftOrderPayId(reqDto.getNftOrderPayId()); nftOrderBo.setNftOrderPayId(reqDto.getNftOrderPayId());
nftOrderBo.setNftId(nftId); nftOrderBo.setNftId(nftId);
nftOrderBo.setNftPrice(seriesInfoBo.getSellCount().longValue()); nftOrderBo.setNftPrice(seriesNftInfoBo.getSellCount().longValue());
nftOrderBo.setFromAddress(""); nftOrderBo.setFromAddress("");
nftOrderBo.setToAddress(""); nftOrderBo.setToAddress("");
nftOrderBo.setNftPublishTaskId(taskId); nftOrderBo.setNftPublishTaskId(taskId);
...@@ -199,24 +199,24 @@ public class ZxinPublishBiz { ...@@ -199,24 +199,24 @@ public class ZxinPublishBiz {
GalaxyUserInfoBo userInfoBo = dataUtils.getGalaxyUserInfo(reqDto.getRouterType(),reqDto.getUserId()); GalaxyUserInfoBo userInfoBo = dataUtils.getGalaxyUserInfo(reqDto.getRouterType(),reqDto.getUserId());
//获取sku信息 //获取sku信息
GalaxySeriesInfoBo seriesInfoBo = dataUtils.getSeriesInfoBo(reqDto.getRouterType(),reqDto.getSkuId()); GalaxySeriesNftInfoBo seriesNftInfoBo = dataUtils.getSeriesNftInfoBo(reqDto.getRouterType(),reqDto.getSkuId());
String author = seriesInfoBo.getAuthor(); String author = seriesNftInfoBo.getAuthor();
String nftName = seriesInfoBo.getNftName(); String nftName = seriesNftInfoBo.getNftName();
String nftUrl = seriesInfoBo.getNftUrl(); String nftUrl = seriesNftInfoBo.getNftUrl();
String displayUrl = seriesInfoBo.getDisplayUrl(); String displayUrl = seriesNftInfoBo.getDisplayUrl();
String nftDesc = seriesInfoBo.getNftDesc(); String nftDesc = seriesNftInfoBo.getNftDesc();
String nftFlag = seriesInfoBo.getNftFlag(); String nftFlag = seriesNftInfoBo.getNftFlag();
//发行个数 //发行个数
Long publishCount = 1L; Long publishCount = 1L;
//开始索引 //开始索引
Integer seriesBeginIndex = 0; Integer seriesBeginIndex = 0;
Long sellCount = Long.valueOf(seriesInfoBo.getSellCount().multiply(BigDecimal.valueOf(100l)).longValue()); //积分 Long sellCount = Long.valueOf(seriesNftInfoBo.getSellCount().multiply(BigDecimal.valueOf(100l)).longValue()); //积分
/** /**
* 根据sku获取系列Id * 根据sku获取系列Id
*/ */
String seriesId = seriesInfoBo.getSeriesId(); String seriesId = seriesNftInfoBo.getSeriesId();
//返回参数nftId //返回参数nftId
String nftId = null; String nftId = null;
String taskId = null; String taskId = null;
...@@ -310,11 +310,11 @@ public class ZxinPublishBiz { ...@@ -310,11 +310,11 @@ public class ZxinPublishBiz {
nftOrderBo = GalaxyNftOrderBo.getNew(); nftOrderBo = GalaxyNftOrderBo.getNew();
nftOrderBo.setUserId(userInfoBo.getUserId()); nftOrderBo.setUserId(userInfoBo.getUserId());
nftOrderBo.setSkuId(reqDto.getSkuId()); nftOrderBo.setSkuId(reqDto.getSkuId());
nftOrderBo.setSeriesName(seriesInfoBo.getSeriesName()); nftOrderBo.setSeriesName(seriesNftInfoBo.getSeriesName());
nftOrderBo.setSeriesId(seriesInfoBo.getSeriesId()); nftOrderBo.setSeriesId(seriesNftInfoBo.getSeriesId());
nftOrderBo.setNftOrderPayId(reqDto.getNftOrderPayId()); nftOrderBo.setNftOrderPayId(reqDto.getNftOrderPayId());
nftOrderBo.setNftId(nftId); nftOrderBo.setNftId(nftId);
nftOrderBo.setNftPrice(seriesInfoBo.getSellCount().longValue()); nftOrderBo.setNftPrice(seriesNftInfoBo.getSellCount().longValue());
nftOrderBo.setFromAddress(""); nftOrderBo.setFromAddress("");
nftOrderBo.setToAddress(""); nftOrderBo.setToAddress("");
dataUtils.setNftOrderBo(reqDto.getRouterType(),reqDto.getNftOrderPayId(),nftOrderBo); dataUtils.setNftOrderBo(reqDto.getRouterType(),reqDto.getNftOrderPayId(),nftOrderBo);
......
...@@ -11,7 +11,7 @@ import com.liquidnet.commons.lang.util.*; ...@@ -11,7 +11,7 @@ import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.galaxy.constant.GalaxyErrorEnum; import com.liquidnet.service.galaxy.constant.GalaxyErrorEnum;
import com.liquidnet.service.galaxy.dto.bo.GalaxyNftOrderBo; import com.liquidnet.service.galaxy.dto.bo.GalaxyNftOrderBo;
import com.liquidnet.service.galaxy.dto.bo.GalaxySeriesInfoBo; import com.liquidnet.service.galaxy.dto.bo.GalaxySeriesNftInfoBo;
import com.liquidnet.service.galaxy.dto.bo.GalaxyUserInfoBo; import com.liquidnet.service.galaxy.dto.bo.GalaxyUserInfoBo;
import com.liquidnet.service.galaxy.dto.param.*; import com.liquidnet.service.galaxy.dto.param.*;
import com.liquidnet.service.galaxy.router.strategy.biz.GalaxyEnumBiz; import com.liquidnet.service.galaxy.router.strategy.biz.GalaxyEnumBiz;
...@@ -62,7 +62,7 @@ public class ZxinTradeBiz { ...@@ -62,7 +62,7 @@ public class ZxinTradeBiz {
GalaxyUserInfoBo userInfoBo = dataUtils.getGalaxyUserInfo(nftBuyReqDto.getRouterType(),nftBuyReqDto.getUserId()); GalaxyUserInfoBo userInfoBo = dataUtils.getGalaxyUserInfo(nftBuyReqDto.getRouterType(),nftBuyReqDto.getUserId());
//获取sku信息 //获取sku信息
GalaxySeriesInfoBo seriesInfoBo = dataUtils.getSeriesInfoBo(nftBuyReqDto.getRouterType(),nftBuyReqDto.getSkuId()); GalaxySeriesNftInfoBo seriesNftInfoBo = dataUtils.getSeriesNftInfoBo(nftBuyReqDto.getRouterType(),nftBuyReqDto.getSkuId());
//返回参数nftId //返回参数nftId
...@@ -73,7 +73,7 @@ public class ZxinTradeBiz { ...@@ -73,7 +73,7 @@ public class ZxinTradeBiz {
if(StringUtil.isNotEmpty(nftId)){ if(StringUtil.isNotEmpty(nftId)){
//执行购买逻辑 //执行购买逻辑
GalaxyNftBuyRespDto nftBuyRespDto = this.nftBuyBusiness(nftBuyReqDto.getRouterType(),nftId,userInfoBo,seriesInfoBo,nftOrderBo); GalaxyNftBuyRespDto nftBuyRespDto = this.nftBuyBusiness(nftBuyReqDto.getRouterType(),nftId,userInfoBo,seriesNftInfoBo,nftOrderBo);
return ResponseDto.success(nftBuyRespDto); return ResponseDto.success(nftBuyRespDto);
}else{ }else{
return ResponseDto.failure(GalaxyErrorEnum.NFT_BUY_FAIL.getCode(), GalaxyErrorEnum.NFT_BUY_FAIL.getMessage()); return ResponseDto.failure(GalaxyErrorEnum.NFT_BUY_FAIL.getCode(), GalaxyErrorEnum.NFT_BUY_FAIL.getMessage());
...@@ -92,25 +92,25 @@ public class ZxinTradeBiz { ...@@ -92,25 +92,25 @@ public class ZxinTradeBiz {
GalaxyUserInfoBo userInfoBo = dataUtils.getGalaxyUserInfo(reqDto.getRouterType(),reqDto.getUserId()); GalaxyUserInfoBo userInfoBo = dataUtils.getGalaxyUserInfo(reqDto.getRouterType(),reqDto.getUserId());
//获取sku信息 //获取sku信息
GalaxySeriesInfoBo seriesInfoBo = dataUtils.getSeriesInfoBo(reqDto.getRouterType(),reqDto.getSkuId()); GalaxySeriesNftInfoBo seriesNftInfoBo = dataUtils.getSeriesNftInfoBo(reqDto.getRouterType(),reqDto.getSkuId());
String author = seriesInfoBo.getAuthor(); String author = seriesNftInfoBo.getAuthor();
String nftName = seriesInfoBo.getNftName(); String nftName = seriesNftInfoBo.getNftName();
String nftUrl = seriesInfoBo.getNftUrl(); String nftUrl = seriesNftInfoBo.getNftUrl();
String displayUrl = seriesInfoBo.getDisplayUrl(); String displayUrl = seriesNftInfoBo.getDisplayUrl();
String nftDesc = seriesInfoBo.getNftDesc(); String nftDesc = seriesNftInfoBo.getNftDesc();
String nftFlag = seriesInfoBo.getNftFlag(); String nftFlag = seriesNftInfoBo.getNftFlag();
//发行个数 //发行个数
Long publishCount = 1L; Long publishCount = 1L;
//开始索引 //开始索引
Integer seriesBeginIndex = 0; Integer seriesBeginIndex = 0;
//发行金额 //发行金额
Long sellCount = Long.valueOf(seriesInfoBo.getSellCount().multiply(BigDecimal.valueOf(100l)).longValue()); //积分 Long sellCount = Long.valueOf(seriesNftInfoBo.getSellCount().multiply(BigDecimal.valueOf(100l)).longValue()); //积分
/** /**
* 根据sku获取系列Id * 根据sku获取系列Id
*/ */
String seriesId = seriesInfoBo.getSkuId(); String seriesId = seriesNftInfoBo.getSkuId();
//返回参数nftId //返回参数nftId
String nftId = null; String nftId = null;
...@@ -218,7 +218,7 @@ public class ZxinTradeBiz { ...@@ -218,7 +218,7 @@ public class ZxinTradeBiz {
if(StringUtil.isNotEmpty(nftId)){ if(StringUtil.isNotEmpty(nftId)){
//执行购买逻辑 //执行购买逻辑
GalaxyNftPublishAndBuyRespDto nftPublishAndBuyRespDto = GalaxyNftPublishAndBuyRespDto.getNew(); GalaxyNftPublishAndBuyRespDto nftPublishAndBuyRespDto = GalaxyNftPublishAndBuyRespDto.getNew();
GalaxyNftBuyRespDto nftBuyRespDto = this.nftBuyBusiness(reqDto.getRouterType(),nftId,userInfoBo,seriesInfoBo,nftOrderBo); GalaxyNftBuyRespDto nftBuyRespDto = this.nftBuyBusiness(reqDto.getRouterType(),nftId,userInfoBo,seriesNftInfoBo,nftOrderBo);
BeanUtil.copy(nftBuyRespDto,nftPublishAndBuyRespDto); BeanUtil.copy(nftBuyRespDto,nftPublishAndBuyRespDto);
return ResponseDto.success(nftPublishAndBuyRespDto); return ResponseDto.success(nftPublishAndBuyRespDto);
}else{ }else{
...@@ -273,18 +273,18 @@ public class ZxinTradeBiz { ...@@ -273,18 +273,18 @@ public class ZxinTradeBiz {
return ResponseDto.success(resultQueryRespDto); return ResponseDto.success(resultQueryRespDto);
} }
private GalaxyNftBuyRespDto nftBuyBusiness(String routerType,String nftId,GalaxyUserInfoBo userInfoBo, GalaxySeriesInfoBo seriesInfoBo,GalaxyNftOrderBo nftOrderBo){ private GalaxyNftBuyRespDto nftBuyBusiness(String routerType,String nftId,GalaxyUserInfoBo userInfoBo, GalaxySeriesNftInfoBo seriesNftInfoBo,GalaxyNftOrderBo nftOrderBo){
// 3.2.2调用购买NFT接口 // 3.2.2调用购买NFT接口
Nft043BuyReqDto nft043BuyReqDto = Nft043BuyReqDto.getNew(); Nft043BuyReqDto nft043BuyReqDto = Nft043BuyReqDto.getNew();
nft043BuyReqDto.setNftId(nftId); nft043BuyReqDto.setNftId(nftId);
nft043BuyReqDto.setApplyScore(seriesInfoBo.getSellCount().intValue()); nft043BuyReqDto.setApplyScore(seriesNftInfoBo.getSellCount().intValue());
try { try {
nft043BuyReqDto.setReceiverPubKey(BASE64Util.decode(userInfoBo.getUserPubKey())); nft043BuyReqDto.setReceiverPubKey(BASE64Util.decode(userInfoBo.getUserPubKey()));
} catch (UnsupportedEncodingException e) { } catch (UnsupportedEncodingException e) {
e.printStackTrace(); e.printStackTrace();
} }
nft043BuyReqDto.setPointReceiverAddr(userInfoBo.getBlockChainAddress()); nft043BuyReqDto.setPointReceiverAddr(userInfoBo.getBlockChainAddress());
nft043BuyReqDto.setOfferCount(seriesInfoBo.getSellCount().longValue()); nft043BuyReqDto.setOfferCount(seriesNftInfoBo.getSellCount().longValue());
nft043BuyReqDto.setOperateId(IDGenerator.get32UUID()); nft043BuyReqDto.setOperateId(IDGenerator.get32UUID());
/** /**
...@@ -329,21 +329,21 @@ public class ZxinTradeBiz { ...@@ -329,21 +329,21 @@ public class ZxinTradeBiz {
* 保持线程循环查询 * 保持线程循环查询
* @param nftId * @param nftId
* @param userInfoBo * @param userInfoBo
* @param seriesInfoBo * @param seriesNftInfoBo
* @return * @return
*/ */
private GalaxyNftBuyRespDto nftBuyBusinessBackup(String nftId,GalaxyUserInfoBo userInfoBo, GalaxySeriesInfoBo seriesInfoBo){ private GalaxyNftBuyRespDto nftBuyBusinessBackup(String nftId,GalaxyUserInfoBo userInfoBo, GalaxySeriesNftInfoBo seriesNftInfoBo){
// 3.2.2调用购买NFT接口 // 3.2.2调用购买NFT接口
Nft043BuyReqDto nft043BuyReqDto = Nft043BuyReqDto.getNew(); Nft043BuyReqDto nft043BuyReqDto = Nft043BuyReqDto.getNew();
nft043BuyReqDto.setNftId(nftId); nft043BuyReqDto.setNftId(nftId);
nft043BuyReqDto.setApplyScore(seriesInfoBo.getSellCount().intValue()); nft043BuyReqDto.setApplyScore(seriesNftInfoBo.getSellCount().intValue());
try { try {
nft043BuyReqDto.setReceiverPubKey(BASE64Util.decode(userInfoBo.getUserPubKey())); nft043BuyReqDto.setReceiverPubKey(BASE64Util.decode(userInfoBo.getUserPubKey()));
} catch (UnsupportedEncodingException e) { } catch (UnsupportedEncodingException e) {
e.printStackTrace(); e.printStackTrace();
} }
nft043BuyReqDto.setPointReceiverAddr(userInfoBo.getBlockChainAddress()); nft043BuyReqDto.setPointReceiverAddr(userInfoBo.getBlockChainAddress());
nft043BuyReqDto.setOfferCount(seriesInfoBo.getSellCount().longValue()); nft043BuyReqDto.setOfferCount(seriesNftInfoBo.getSellCount().longValue());
nft043BuyReqDto.setOperateId(IDGenerator.get32UUID()); nft043BuyReqDto.setOperateId(IDGenerator.get32UUID());
/** /**
......
...@@ -6,10 +6,7 @@ import com.liquidnet.service.base.SqlMapping; ...@@ -6,10 +6,7 @@ import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst; import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.galaxy.constant.GalaxyConstant; import com.liquidnet.service.galaxy.constant.GalaxyConstant;
import com.liquidnet.service.galaxy.constant.GalaxyEnum; import com.liquidnet.service.galaxy.constant.GalaxyEnum;
import com.liquidnet.service.galaxy.dto.bo.GalaxyNftOrderBo; import com.liquidnet.service.galaxy.dto.bo.*;
import com.liquidnet.service.galaxy.dto.bo.GalaxySeriesInfoBo;
import com.liquidnet.service.galaxy.dto.bo.GalaxySeriesNftUploadBo;
import com.liquidnet.service.galaxy.dto.bo.GalaxyUserInfoBo;
import com.liquidnet.service.galaxy.dto.vo.mongo.*; import com.liquidnet.service.galaxy.dto.vo.mongo.*;
import com.mongodb.client.result.UpdateResult; import com.mongodb.client.result.UpdateResult;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -70,17 +67,20 @@ public class DataUtils { ...@@ -70,17 +67,20 @@ public class DataUtils {
if(obj!=null){ if(obj!=null){
return (GalaxyUserInfoBo) obj; return (GalaxyUserInfoBo) obj;
}else { }else {
GalaxyUserInfoBo userInfoBo = mongoTemplate.findOne(Query.query(Criteria.where("userId").is(userId)), GalaxyUserInfoBo.class, GalaxyUserInfoBo.class.getSimpleName()); GalaxyUserInfoVo userInfoVo = mongoTemplate.findOne(Query.query(Criteria.where("userId").is(userId)), GalaxyUserInfoVo.class, GalaxyUserInfoVo.class.getSimpleName());
if (userInfoBo == null) { if (userInfoVo == null) {
return null; return null;
} }
GalaxyUserInfoBo userInfoBo = GalaxyUserInfoBo.getNew();
BeanUtil.copy(userInfoVo,userInfoBo);
redisUtil.set(GalaxyConstant.REDIS_KEY_GALAXY_USER.concat(routerType).concat(":") + userId, userInfoBo); redisUtil.set(GalaxyConstant.REDIS_KEY_GALAXY_USER.concat(routerType).concat(":") + userId, userInfoBo);
return userInfoBo; return userInfoBo;
} }
} }
public void setSeriesNftUploadBo(String routerType,String skuId, GalaxySeriesNftUploadBo seriesNftUploadBo) { public void setSeriesNftUploadBo(String routerType,String skuId, GalaxySeriesNftUploadBo seriesNftUploadBo) {
redisUtil.set(GalaxyConstant.REDIS_KEY_GALAXY_SERIES_NFT.concat(routerType).concat(":") + skuId,seriesNftUploadBo,keyExpireTime); redisUtil.set(GalaxyConstant.REDIS_KEY_GALAXY_SERIES_NFT_UPLOAD.concat(routerType).concat(":") + skuId,seriesNftUploadBo,keyExpireTime);
//mongo入库 //mongo入库
GalaxySeriesNftUploadVo seriesNftUploadVo = GalaxySeriesNftUploadVo.getNew(); GalaxySeriesNftUploadVo seriesNftUploadVo = GalaxySeriesNftUploadVo.getNew();
...@@ -90,7 +90,7 @@ public class DataUtils { ...@@ -90,7 +90,7 @@ public class DataUtils {
} }
public GalaxySeriesNftUploadBo getSeriesNftUploadBo(String routerType,String skuId) { public GalaxySeriesNftUploadBo getSeriesNftUploadBo(String routerType,String skuId) {
Object obj = redisUtil.get(GalaxyConstant.REDIS_KEY_GALAXY_SERIES_NFT.concat(routerType).concat(":") + skuId); Object obj = redisUtil.get(GalaxyConstant.REDIS_KEY_GALAXY_SERIES_NFT_UPLOAD.concat(routerType).concat(":") + skuId);
if(obj!=null){ if(obj!=null){
return (GalaxySeriesNftUploadBo) obj; return (GalaxySeriesNftUploadBo) obj;
}else { }else {
...@@ -101,11 +101,14 @@ public class DataUtils { ...@@ -101,11 +101,14 @@ public class DataUtils {
criteria = criteria.and("skuId").is(skuId); criteria = criteria.and("skuId").is(skuId);
} }
GalaxySeriesNftUploadBo seriesNftUploadBo = mongoTemplate.findOne(Query.query(criteria), GalaxySeriesNftUploadBo.class, GalaxySeriesNftUploadBo.class.getSimpleName()); GalaxySeriesNftUploadVo seriesNftUploadVo = mongoTemplate.findOne(Query.query(criteria), GalaxySeriesNftUploadVo.class, GalaxySeriesNftUploadVo.class.getSimpleName());
if (seriesNftUploadBo == null) { if (seriesNftUploadVo == null) {
return null; return null;
} }
redisUtil.set(GalaxyConstant.REDIS_KEY_GALAXY_SERIES_NFT.concat(routerType).concat(":") + skuId, seriesNftUploadBo); GalaxySeriesNftUploadBo seriesNftUploadBo = GalaxySeriesNftUploadBo.getNew();
BeanUtil.copy(seriesNftUploadVo,seriesNftUploadBo);
redisUtil.set(GalaxyConstant.REDIS_KEY_GALAXY_SERIES_NFT_UPLOAD.concat(routerType).concat(":") + skuId, seriesNftUploadBo);
return seriesNftUploadBo; return seriesNftUploadBo;
} }
} }
...@@ -113,18 +116,19 @@ public class DataUtils { ...@@ -113,18 +116,19 @@ public class DataUtils {
public void setSeriesInfoBo(String routerType,String skuId, GalaxySeriesInfoBo seriesInfoBo) { public void setSeriesInfoBo(String routerType,String skuId, GalaxySeriesInfoBo seriesInfoBo) {
redisUtil.set(GalaxyConstant.REDIS_KEY_GALAXY_SERIES.concat(routerType).concat(":") + skuId,seriesInfoBo,keyExpireTime); redisUtil.set(GalaxyConstant.REDIS_KEY_GALAXY_SERIES.concat(routerType).concat(":") + skuId,seriesInfoBo,keyExpireTime);
//mongo入库
GalaxySeriesInfoVo seriesInfoVo = GalaxySeriesInfoVo.getNew();
BeanUtil.copy(seriesInfoBo,seriesInfoVo);
seriesInfoVo.setCreatedAt(LocalDateTime.now());
mongoTemplate.save(seriesInfoVo,GalaxySeriesInfoVo.class.getSimpleName());
// insert into galaxy_series_info (mid, series_info_id, series_name, series_code, series_id, total_count // insert into galaxy_series_info (mid, series_info_id, series_name, series_code, series_id, total_count
// , crt_count,series_claim_task_id, series_claim_status, cover_url, series_desc // , crt_count,series_claim_task_id, series_claim_status, cover_url, series_desc
// , nft_count,router_type, created_at, updated_at) // , nft_count,router_type, created_at, updated_at)
String seriesInfoId = IDGenerator.get32UUID(); String seriesInfoId = IDGenerator.get32UUID();
String seriesCode = IDGenerator.getSeriesCode(); String seriesCode = IDGenerator.getSeriesCode();
Integer nftCount = 1;//默认为一个系列包含一个NFT Integer nftCount = 1;//默认为一个系列包含一个NFT
//mongo入库
GalaxySeriesInfoVo seriesInfoVo = GalaxySeriesInfoVo.getNew();
BeanUtil.copy(seriesInfoBo,seriesInfoVo);
seriesInfoVo.setCreatedAt(LocalDateTime.now());
mongoTemplate.save(seriesInfoVo,GalaxySeriesInfoVo.class.getSimpleName());
try{ try{
queueUtil.sendMySqlRedis( queueUtil.sendMySqlRedis(
SqlMapping.get("galaxy_series_info.insert"), SqlMapping.get("galaxy_series_info.insert"),
...@@ -134,7 +138,43 @@ public class DataUtils { ...@@ -134,7 +138,43 @@ public class DataUtils {
} }
, MQConst.GalaxyQueue.SQL_SERIES_INFO.getKey() , MQConst.GalaxyQueue.SQL_SERIES_INFO.getKey()
); );
}catch(Exception e){
log.error(e.getMessage(),e);
log.error("#setSeriesInfoBo error ==> MESSAGE:{}",e.getMessage());
}
}
public GalaxySeriesInfoBo getSeriesInfoBo(String routerType, String skuId) {
Object obj = redisUtil.get(GalaxyConstant.REDIS_KEY_GALAXY_SERIES.concat(routerType).concat(":") + skuId);
if(obj!=null){
return (GalaxySeriesInfoBo) obj;
}else {
GalaxySeriesInfoBo seriesInfoBo = mongoTemplate.findOne(Query.query(Criteria.where("skuId").is(skuId)), GalaxySeriesInfoBo.class, GalaxySeriesInfoBo.class.getSimpleName());
if (seriesInfoBo == null) {
return null;
}
redisUtil.set(GalaxyConstant.REDIS_KEY_GALAXY_SERIES.concat(routerType).concat(":") + skuId, seriesInfoBo);
return seriesInfoBo;
}
}
public void setSeriesNftInfoBo(String routerType, String skuId, GalaxySeriesInfoBo seriesInfoBo, GalaxySeriesNftInfoBo seriesNftInfoBo) {
redisUtil.set(GalaxyConstant.REDIS_KEY_GALAXY_SERIES_NFT.concat(routerType).concat(":") + skuId,seriesInfoBo,keyExpireTime);
// insert into galaxy_series_info (mid, series_info_id, series_name, series_code, series_id, total_count
// , crt_count,series_claim_task_id, series_claim_status, cover_url, series_desc
// , nft_count,router_type, created_at, updated_at)
String seriesInfoId = IDGenerator.get32UUID();
String seriesCode = IDGenerator.getSeriesCode();
Integer nftCount = 1;//默认为一个系列包含一个NFT
//mongo入库
GalaxySeriesNftInfoVo seriesNftInfoVo = GalaxySeriesNftInfoVo.getNew();
BeanUtil.copy(seriesNftInfoBo,seriesNftInfoVo);
seriesNftInfoVo.setCreatedAt(LocalDateTime.now());
mongoTemplate.save(seriesNftInfoVo,GalaxySeriesNftInfoBo.class.getSimpleName());
try{
// insert into galaxy_series_nft_info (mid, series_nft_info_id, series_info_id, sku_id, series_name, series_code // insert into galaxy_series_nft_info (mid, series_nft_info_id, series_info_id, sku_id, series_name, series_code
// ,series_id, nft_total_count, nft_crt_count, original_nft_url, original_display_url // ,series_id, nft_total_count, nft_crt_count, original_nft_url, original_display_url
// ,author, nft_name, nft_url, display_url, nft_desc // ,author, nft_name, nft_url, display_url, nft_desc
...@@ -144,37 +184,39 @@ public class DataUtils { ...@@ -144,37 +184,39 @@ public class DataUtils {
SqlMapping.get("galaxy_series_nft_info.insert"), SqlMapping.get("galaxy_series_nft_info.insert"),
new Object[]{IDGenerator.get32UUID(),seriesInfoId,skuId,seriesInfoBo.getSeriesName(),seriesCode new Object[]{IDGenerator.get32UUID(),seriesInfoId,skuId,seriesInfoBo.getSeriesName(),seriesCode
,seriesInfoBo.getSeriesId(),seriesInfoBo.getTotalCount(),seriesInfoBo.getCrtCount() ,seriesInfoBo.getSeriesId(),seriesInfoBo.getTotalCount(),seriesInfoBo.getCrtCount()
,seriesInfoBo.getOriginalNftUrl(),seriesInfoBo.getOriginalDisplayUrl(),seriesInfoBo.getSeriesClaimTaskId(),seriesInfoBo.getSeriesClaimStatus(),seriesInfoBo.getAuthor() ,seriesNftInfoBo.getOriginalNftUrl(),seriesNftInfoBo.getOriginalDisplayUrl(),seriesInfoBo.getSeriesClaimTaskId(),seriesInfoBo.getSeriesClaimStatus(),seriesNftInfoBo.getAuthor()
,seriesInfoBo.getNftName(),seriesInfoBo.getNftUrl(),seriesInfoBo.getDisplayUrl(),seriesInfoBo.getNftDesc(),seriesInfoBo.getNftFlag() ,seriesNftInfoBo.getNftName(),seriesNftInfoBo.getNftUrl(),seriesNftInfoBo.getDisplayUrl(),seriesNftInfoBo.getNftDesc(),seriesNftInfoBo.getNftFlag()
,seriesInfoBo.getSellCount(),seriesInfoBo.getCoverUrl(),seriesInfoBo.getSeriesDesc(),seriesInfoBo.getNftHash(),seriesInfoBo.getRouterType() ,seriesNftInfoBo.getSellCount(),seriesInfoBo.getCoverUrl(),seriesInfoBo.getSeriesDesc(),seriesNftInfoBo.getNftHash(),seriesInfoBo.getRouterType()
,LocalDateTime.now() ,LocalDateTime.now()
} }
, MQConst.GalaxyQueue.SQL_SERIES_INFO.getKey() , MQConst.GalaxyQueue.SQL_SERIES_INFO.getKey());
);
}catch(Exception e){ }catch(Exception e){
log.error(e.getMessage(),e); log.error(e.getMessage(),e);
log.error("#setSeriesInfoBo error ==> MESSAGE:{}",e.getMessage()); log.error("#setSeriesInfoBo error ==> MESSAGE:{}",e.getMessage());
} }
} }
public GalaxySeriesInfoBo getSeriesInfoBo(String routerType, String skuId) {
Object obj = redisUtil.get(GalaxyConstant.REDIS_KEY_GALAXY_SERIES.concat(routerType).concat(":") + skuId); public GalaxySeriesNftInfoBo getSeriesNftInfoBo(String routerType, String skuId) {
Object obj = redisUtil.get(GalaxyConstant.REDIS_KEY_GALAXY_SERIES_NFT.concat(routerType).concat(":") + skuId);
if(obj!=null){ if(obj!=null){
return (GalaxySeriesInfoBo) obj; return (GalaxySeriesNftInfoBo) obj;
}else { }else {
GalaxySeriesInfoBo seriesInfoBo = mongoTemplate.findOne(Query.query(Criteria.where("skuId").is(skuId)), GalaxySeriesInfoBo.class, GalaxySeriesInfoBo.class.getSimpleName()); GalaxySeriesNftInfoVo seriesNftInfoVo = mongoTemplate.findOne(Query.query(Criteria.where("skuId").is(skuId)), GalaxySeriesNftInfoVo.class, GalaxySeriesNftInfoVo.class.getSimpleName());
if (seriesInfoBo == null) { if (seriesNftInfoVo == null) {
return null; return null;
} }
redisUtil.set(GalaxyConstant.REDIS_KEY_GALAXY_SERIES.concat(routerType).concat(":") + skuId, seriesInfoBo); GalaxySeriesNftInfoBo seriesNftInfoBo = GalaxySeriesNftInfoBo.getNew();
return seriesInfoBo; BeanUtil.copy(seriesNftInfoVo,seriesNftInfoBo);
redisUtil.set(GalaxyConstant.REDIS_KEY_GALAXY_SERIES_NFT.concat(routerType).concat(":") + skuId, seriesNftInfoBo);
return seriesNftInfoBo;
} }
} }
public void updateSeriesClaimStatus(String routerType,String skuId, GalaxySeriesInfoBo seriesInfoBo) { public void updateSeriesClaimStatus(String routerType,String skuId, GalaxySeriesInfoBo seriesInfoBo) {
redisUtil.set(GalaxyConstant.REDIS_KEY_GALAXY_SERIES.concat(routerType).concat(":") + skuId,seriesInfoBo,keyExpireTime); redisUtil.set(GalaxyConstant.REDIS_KEY_GALAXY_SERIES.concat(routerType).concat(":") + skuId,seriesInfoBo,keyExpireTime);
Query query = Query.query(Criteria.where("skuId").is(seriesInfoBo.getSkuId())); Query query = Query.query(Criteria.where("seriesCode").is(seriesInfoBo.getSeriesCode()));
Update update = Update.fromDocument(Document.parse(JsonUtils.toJson(seriesInfoBo))); Update update = Update.fromDocument(Document.parse(JsonUtils.toJson(seriesInfoBo)));
update.set("seriesClaimStatus", seriesInfoBo.getSeriesClaimStatus()); update.set("seriesClaimStatus", seriesInfoBo.getSeriesClaimStatus());
String nowTimeStr = DateUtil.Formatter.yyyyMMddHHmmss.format(LocalDateTime.now()); String nowTimeStr = DateUtil.Formatter.yyyyMMddHHmmss.format(LocalDateTime.now());
......
# ------------------------用户注册信息---------------------------- # ------------------------用户注册信息----------------------------
galaxy_user_info.insert=insert into galaxy_user_info (user_id, user_name, user_type, mobile, id_card_type, id_card, mnemonic, mnemonic_index,user_identification, user_pub_key, user_pri_key, block_chain_address, router_type,created_at, updated_at)values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) galaxy_user_info.insert=insert into galaxy_user_info (user_id, user_name, user_type, mobile, id_card_type, id_card, mnemonic, mnemonic_index,user_identification, user_pub_key, user_pri_key, block_chain_address, router_type,created_at, updated_at)values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
# ------------------------数字藏品系列信息---------------------------- # ------------------------数字藏品系列信息----------------------------
galaxy_series_info.insert=insert into galaxy_series_info (mid, series_info_id, series_name, series_code, series_id, total_count, crt_count,series_claim_task_id, series_claim_status, cover_url, series_desc, nft_count,router_type, created_at, updated_at)values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) galaxy_series_info.insert=insert into galaxy_series_info (series_info_id, series_name, series_code, series_id, total_count, crt_count,series_claim_task_id, series_claim_status, cover_url, series_desc, nft_count,router_type, created_at, updated_at)values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,)
# ------------------------数字藏品系列信息---------------------------- # ------------------------数字藏品系列信息----------------------------
galaxy_series_nft_info.insert=(mid, series_nft_info_id, series_info_id, sku_id, series_name, series_code,series_id, nft_total_count, nft_crt_count, original_nft_url, original_display_url,author, nft_name, nft_url, display_url, nft_desc, nft_flag, sell_count, nft_hash,router_type, created_at, updated_at)values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) galaxy_series_nft_info.insert=(series_nft_info_id, series_info_id, sku_id, series_name, series_code,series_id, nft_total_count, nft_crt_count, nft_id_begin ,original_nft_url, original_display_url,author, nft_name, nft_url, display_url, nft_desc, nft_flag, sell_count, nft_hash,router_type, created_at, updated_at)values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
# ------------------------数字藏品订单信息---------------------------- # ------------------------数字藏品订单信息----------------------------
galaxy_nft_order_info.insert=insert into galaxy_nft_order_info (nft_order_pay_id, user_id, sku_id, series_name, series_id, nft_id, nft_price,from_address, to_address, nft_publish_task_id, nft_buy_task_id, nft_buy_pay_task_id,router_type, created_at, updated_at)values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) galaxy_nft_order_info.insert=insert into galaxy_nft_order_info (nft_order_pay_id, user_id, sku_id, series_name, series_id, nft_id, nft_price,from_address, to_address, nft_publish_task_id, nft_buy_task_id, nft_buy_pay_task_id,router_type, created_at, updated_at)values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
# ------------------------数字藏品交易信息---------------------------- # ------------------------数字藏品交易信息----------------------------
......
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