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

Commit b57d37cd authored by anjiabin's avatar anjiabin

提交galaxy系列表结构

parent c777f12c
......@@ -12,6 +12,7 @@ package com.liquidnet.service.galaxy.constant;
public class GalaxyConstant {
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_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_TRADE="galaxy:trade:order:";
......
......@@ -4,7 +4,6 @@ import com.liquidnet.commons.lang.util.JsonUtils;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
......@@ -18,16 +17,12 @@ import java.time.LocalDateTime;
*/
@Data
public class GalaxySeriesInfoBo implements Serializable,Cloneable {
/**
* 本地系列唯一标识id
*/
private String skuId;
/**
* 本地系列唯一名称(前缀+skuid)
*/
private String seriesName;
/**
* 本地系列唯一编码(前缀+skuid)
* 本地系列唯一编码
*/
private String seriesCode;
/**
......@@ -42,14 +37,6 @@ public class GalaxySeriesInfoBo implements Serializable,Cloneable {
* 系列已发行个数
*/
private Long crtCount;
/**
* nft素材原始地址
*/
private String originalNftUrl;
/**
* nft显示素材原始地址
*/
private String originalDisplayUrl;
/**
* 系列声明任务ID
*/
......@@ -58,49 +45,6 @@ public class GalaxySeriesInfoBo implements Serializable,Cloneable {
* 系列声明状态
*/
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 {
*/
private String seriesDesc;
/**
* 系列声明时间
*/
private String seriesClaimTime;
/**
* 系列声明中nftHash
*/
private String nftHash;
private Integer nftCount;
/**
* 路由类型
*/
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;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
......@@ -21,11 +20,15 @@ public class GalaxySeriesInfoVo implements Serializable,Cloneable {
/**
* 本地系列唯一标识id
*/
private String skuId;
private String seriesInfoId;
/**
* 本地系列唯一名称(前缀+skuid)
*/
private String seriesName;
/**
* 本地系列唯一编码
*/
private String seriesCode;
/**
* 区块链上系列ID(系列声明后获取,NFT发行购买用到)
*/
......@@ -38,14 +41,6 @@ public class GalaxySeriesInfoVo implements Serializable,Cloneable {
* 系列已发行个数
*/
private Long crtCount;
/**
* nft素材原始地址
*/
private String originalNftUrl;
/**
* nft显示素材原始地址
*/
private String originalDisplayUrl;
/**
* 系列声明任务ID
*/
......@@ -55,45 +50,6 @@ public class GalaxySeriesInfoVo implements Serializable,Cloneable {
*/
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 {
/**
* 系列声明中nftHash
*/
private String nftHash;
private Integer nftCount;
/**
* 路由类型
......
......@@ -18,6 +18,14 @@ import java.time.LocalDateTime;
*/
@Data
public class GalaxySeriesNftInfoVo implements Serializable,Cloneable {
/**
* 本地系列唯一标识id
*/
private String seriesNftInfoId;
/**
* 本地系列唯一标识id
*/
private String seriesInfoId;
/**
* 本地系列唯一标识id
*/
......@@ -26,6 +34,10 @@ public class GalaxySeriesNftInfoVo implements Serializable,Cloneable {
* 本地系列唯一名称(前缀+skuid)
*/
private String seriesName;
/**
* 本地系列唯一编号(前缀+skuid)
*/
private String seriesCode;
/**
* 区块链上系列ID(系列声明后获取,NFT发行购买用到)
*/
......@@ -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素材原始地址
*/
......@@ -46,14 +62,6 @@ public class GalaxySeriesNftInfoVo implements Serializable,Cloneable {
* nft显示素材原始地址
*/
private String originalDisplayUrl;
/**
* 系列声明任务ID
*/
private String seriesClaimTaskId;
/**
* 系列声明状态
*/
private String seriesClaimStatus;
//======================================
//=============以下都为购买信息=============
......@@ -94,16 +102,6 @@ public class GalaxySeriesNftInfoVo implements Serializable,Cloneable {
*/
private BigDecimal sellCount;
/**
* 系列显示封面
*/
private String coverUrl;
/**
* 系列描述信息,不超过500个字符
*/
private String seriesDesc;
/**
* 系列声明中nftHash
*/
......
......@@ -9,11 +9,12 @@ db.createCollection("GalaxyNftTradeVo");
#创建索引
db.GalaxyUserInfoBo.createIndex({userId:"hashed"});
db.GalaxySeriesInfoBo.createIndex({skuId:"hashed"});
db.GalaxySeriesInfoBo.createIndex({skuId:"hashed"});
db.GalaxySeriesInfoBo.createIndex({skuId:"hashed"});
db.GalaxySeriesInfoBo.createIndex({skuId:"hashed"});
db.GalaxyUserInfoVo.createIndex({userId:"hashed"});
db.GalaxySeriesInfoVo.createIndex({seriesCode:"hashed"});
db.GalaxySeriesNftInfoVo.createIndex({skuId:"hashed"});
db.GalaxySeriesNftUploadVo.createIndex({skuId:"hashed"});
db.GalaxyNftOrderVo.createIndex({nftOrderPayId:"hashed"});
db.GalaxyNftTradeVo.createIndex({nftId:"hashed"});
#创建分片
sh.enableSharding("dev_ln_scene");
......
......@@ -19,6 +19,7 @@ import com.liquidnet.service.galaxy.constant.GalaxyConstant;
import com.liquidnet.service.galaxy.constant.GalaxyEnum;
import com.liquidnet.service.galaxy.constant.GalaxyErrorEnum;
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.param.*;
import com.liquidnet.service.galaxy.router.strategy.biz.GalaxyCommonBiz;
......@@ -30,6 +31,7 @@ import org.springframework.stereotype.Component;
import java.io.File;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
/**
......@@ -99,6 +101,7 @@ public class ZxinArtworkBiz {
galaxyNftUploadRespDto.setDisplayUrl(this.getFullFilePath(seriesName,originalDisplayUrl));
galaxyNftUploadRespDto.setOriginalDisplayUrl(reqDto.getOriginalDisplayUrl());
seriesNftUploadBo = GalaxySeriesNftUploadBo.getNew();
seriesNftUploadBo.setSkuId(reqDto.getSkuId());
seriesNftUploadBo.setOriginalNftUrl(originalNftUrl);
seriesNftUploadBo.setOriginalDisplayUrl(originalDisplayUrl);
......@@ -120,18 +123,19 @@ public class ZxinArtworkBiz {
public ResponseDto<GalaxyArtSeriesClaimRespDto> seriesClaim(GalaxyArtSeriesClaimReqDto reqDto) {
//系列声明用到参数
String skuId = reqDto.getSkuId();
//以下系列名称可以用spu名称代替
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 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();
GalaxySeriesInfoBo seriesInfoBo = dataUtils.getSeriesInfoBo(reqDto.getRouterType(),reqDto.getSkuId());
if(StringUtil.isNotNull(seriesInfoBo)){
......@@ -146,6 +150,14 @@ public class ZxinArtworkBiz {
}else{
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 {
GalaxyArtSeriesClaimRespDto seriesClaimRespDto = GalaxyArtSeriesClaimRespDto.getNew();
seriesClaimRespDto.setSkuId(skuId);
seriesClaimRespDto.setNftUrl(nftUrl);
seriesClaimRespDto.setDisplayUrl(displayUrl);
seriesClaimRespDto.setNftUrl(seriesNftUploadBo.getNftUrl());
seriesClaimRespDto.setDisplayUrl(seriesNftUploadBo.getDisplayUrl());
seriesClaimRespDto.setSeriesId(seriesId);
seriesClaimRespDto.setSeriesName(seriesName);
......@@ -184,10 +196,13 @@ public class ZxinArtworkBiz {
//设置系列声明状态
seriesClaimRespDto.setSeriesClaimStatus(publishStatus);
seriesInfoBo = this.buildSeriesInfoBo(false,skuId,seriesName,seriesId,totalCount,0l
,seriesInfoBo.getOriginalNftUrl(),seriesInfoBo.getOriginalDisplayUrl(),taskId,publishStatus
,author,nftName,nftUrl,displayUrl,nftDesc,nftFlag,sellCount,coverUrl,seriesDesc);
//构造系列信息
seriesInfoBo = this.buildSeriesInfoBo(reqDto,taskId,publishStatus);
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);
......@@ -221,8 +236,8 @@ public class ZxinArtworkBiz {
*/
if(seriesInfoBo.getSeriesClaimStatus().equalsIgnoreCase(GalaxyEnum.SeriesClaimStatusEnum.SUCCESS.getCode())){
GalaxyArtSeriesClaimRespDto seriesClaimRespDto = GalaxyArtSeriesClaimRespDto.getNew();
seriesClaimRespDto.setSkuId(seriesInfoBo.getSkuId());
seriesClaimRespDto.setNftUrl(seriesInfoBo.getNftUrl());
seriesClaimRespDto.setSkuId(skuId);
seriesClaimRespDto.setNftUrl(nftUrl);
seriesClaimRespDto.setSeriesId(seriesInfoBo.getSeriesId());
seriesClaimRespDto.setSeriesName(seriesInfoBo.getSeriesName());
return ResponseDto.success(seriesClaimRespDto);
......@@ -290,9 +305,7 @@ public class ZxinArtworkBiz {
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);
seriesInfoBo = this.buildSeriesInfoBo(reqDto,null,publishStatus);
dataUtils.setSeriesInfoBo(reqDto.getRouterType(),reqDto.getSkuId(),seriesInfoBo);
}
return ResponseDto.success(seriesClaimRespDto);
......@@ -327,7 +340,10 @@ public class ZxinArtworkBiz {
GalaxyArtSeriesClaimResultQueryRespDto resultQueryRespDto = GalaxyArtSeriesClaimResultQueryRespDto.getNew();
BeanUtil.copy(resp.getData(),resultQueryRespDto);
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);
}else if(resp.getData().getTaskStatus().toString().equals(ZxlnftEnum.TaskStatusEnum.TASK_FAIL.getCode())){
......@@ -397,33 +413,48 @@ 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 seriesClaimStatus
,String author,String nftName,String nftUrl,String displayUrl,String nftDesc
,String nftFlag,String sellCount,String coverUrl,String seriesDesc){
private GalaxySeriesInfoBo buildSeriesInfoBo(GalaxyArtSeriesClaimReqDto reqDto,String taskId,String publishStatus){
String seriesName = reqDto.getSkuId();
GalaxySeriesInfoBo seriesInfoBo = GalaxySeriesInfoBo.getNew();
seriesInfoBo.setSkuId(skuId);
seriesInfoBo.setSeriesName(seriesName);
seriesInfoBo.setSeriesId(seriesId);
seriesInfoBo.setTotalCount(totalCount);
seriesInfoBo.setCrtCount(crtCount);
seriesInfoBo.setOriginalNftUrl(originalNftUrl);
seriesInfoBo.setOriginalDisplayUrl(originalDisplayUrl);
seriesInfoBo.setSeriesClaimTaskId(seriesClaimTaskId);
seriesInfoBo.setSeriesClaimStatus(seriesClaimStatus);
//以下为购买信息
seriesInfoBo.setAuthor(author);
seriesInfoBo.setNftName(nftName);
seriesInfoBo.setNftUrl(nftUrl);
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));
seriesInfoBo.setSeriesName(reqDto.getNftName());
seriesInfoBo.setSeriesCode(seriesName);
seriesInfoBo.setSeriesId(null);
seriesInfoBo.setTotalCount(reqDto.getTotalCount());
seriesInfoBo.setCrtCount(0L);
seriesInfoBo.setSeriesClaimTaskId(taskId);
seriesInfoBo.setSeriesClaimStatus(publishStatus);
seriesInfoBo.setCoverUrl(reqDto.getCoverUrl());
seriesInfoBo.setSeriesDesc(reqDto.getSeriesDesc());
seriesInfoBo.setNftCount(1);//系列中nft个数 默认为1
seriesInfoBo.setRouterType(reqDto.getRouterType());
seriesInfoBo.setCreatedAt(LocalDateTime.now());
seriesInfoBo.setUpdatedAt(null);
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;
import com.liquidnet.service.base.ResponseDto;
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.GalaxySeriesNftInfoBo;
import com.liquidnet.service.galaxy.dto.bo.GalaxyUserInfoBo;
import com.liquidnet.service.galaxy.dto.param.GalaxyNftPublishReqDto;
import com.liquidnet.service.galaxy.dto.param.GalaxyNftPublishRespDto;
......@@ -69,24 +69,24 @@ public class ZxinPublishBiz {
GalaxyUserInfoBo userInfoBo = dataUtils.getGalaxyUserInfo(reqDto.getRouterType(),reqDto.getUserId());
//获取sku信息
GalaxySeriesInfoBo seriesInfoBo = dataUtils.getSeriesInfoBo(reqDto.getRouterType(),reqDto.getSkuId());
GalaxySeriesNftInfoBo seriesNftInfoBo = dataUtils.getSeriesNftInfoBo(reqDto.getRouterType(),reqDto.getSkuId());
String author = seriesInfoBo.getAuthor();
String nftName = seriesInfoBo.getNftName();
String nftUrl = seriesInfoBo.getNftUrl();
String displayUrl = seriesInfoBo.getDisplayUrl();
String author = seriesNftInfoBo.getAuthor();
String nftName = seriesNftInfoBo.getNftName();
String nftUrl = seriesNftInfoBo.getNftUrl();
String displayUrl = seriesNftInfoBo.getDisplayUrl();
String nftDesc = seriesInfoBo.getNftDesc();
String nftFlag = seriesInfoBo.getNftFlag();
String nftDesc = seriesNftInfoBo.getNftDesc();
String nftFlag = seriesNftInfoBo.getNftFlag();
//发行个数
Long publishCount = 1L;
//开始索引
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
*/
String seriesId = seriesInfoBo.getSeriesId();
String seriesId = seriesNftInfoBo.getSeriesId();
//返回参数nftId
String nftId = null;
String taskId = null;
......@@ -140,11 +140,11 @@ public class ZxinPublishBiz {
nftOrderBo = GalaxyNftOrderBo.getNew();
nftOrderBo.setUserId(userInfoBo.getUserId());
nftOrderBo.setSkuId(reqDto.getSkuId());
nftOrderBo.setSeriesName(seriesInfoBo.getSeriesName());
nftOrderBo.setSeriesId(seriesInfoBo.getSeriesId());
nftOrderBo.setSeriesName(seriesNftInfoBo.getSeriesName());
nftOrderBo.setSeriesId(seriesNftInfoBo.getSeriesId());
nftOrderBo.setNftOrderPayId(reqDto.getNftOrderPayId());
nftOrderBo.setNftId(nftId);
nftOrderBo.setNftPrice(seriesInfoBo.getSellCount().longValue());
nftOrderBo.setNftPrice(seriesNftInfoBo.getSellCount().longValue());
nftOrderBo.setFromAddress("");
nftOrderBo.setToAddress("");
nftOrderBo.setNftPublishTaskId(taskId);
......@@ -199,24 +199,24 @@ public class ZxinPublishBiz {
GalaxyUserInfoBo userInfoBo = dataUtils.getGalaxyUserInfo(reqDto.getRouterType(),reqDto.getUserId());
//获取sku信息
GalaxySeriesInfoBo seriesInfoBo = dataUtils.getSeriesInfoBo(reqDto.getRouterType(),reqDto.getSkuId());
GalaxySeriesNftInfoBo seriesNftInfoBo = dataUtils.getSeriesNftInfoBo(reqDto.getRouterType(),reqDto.getSkuId());
String author = seriesInfoBo.getAuthor();
String nftName = seriesInfoBo.getNftName();
String nftUrl = seriesInfoBo.getNftUrl();
String displayUrl = seriesInfoBo.getDisplayUrl();
String author = seriesNftInfoBo.getAuthor();
String nftName = seriesNftInfoBo.getNftName();
String nftUrl = seriesNftInfoBo.getNftUrl();
String displayUrl = seriesNftInfoBo.getDisplayUrl();
String nftDesc = seriesInfoBo.getNftDesc();
String nftFlag = seriesInfoBo.getNftFlag();
String nftDesc = seriesNftInfoBo.getNftDesc();
String nftFlag = seriesNftInfoBo.getNftFlag();
//发行个数
Long publishCount = 1L;
//开始索引
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
*/
String seriesId = seriesInfoBo.getSeriesId();
String seriesId = seriesNftInfoBo.getSeriesId();
//返回参数nftId
String nftId = null;
String taskId = null;
......@@ -310,11 +310,11 @@ public class ZxinPublishBiz {
nftOrderBo = GalaxyNftOrderBo.getNew();
nftOrderBo.setUserId(userInfoBo.getUserId());
nftOrderBo.setSkuId(reqDto.getSkuId());
nftOrderBo.setSeriesName(seriesInfoBo.getSeriesName());
nftOrderBo.setSeriesId(seriesInfoBo.getSeriesId());
nftOrderBo.setSeriesName(seriesNftInfoBo.getSeriesName());
nftOrderBo.setSeriesId(seriesNftInfoBo.getSeriesId());
nftOrderBo.setNftOrderPayId(reqDto.getNftOrderPayId());
nftOrderBo.setNftId(nftId);
nftOrderBo.setNftPrice(seriesInfoBo.getSellCount().longValue());
nftOrderBo.setNftPrice(seriesNftInfoBo.getSellCount().longValue());
nftOrderBo.setFromAddress("");
nftOrderBo.setToAddress("");
dataUtils.setNftOrderBo(reqDto.getRouterType(),reqDto.getNftOrderPayId(),nftOrderBo);
......
......@@ -11,7 +11,7 @@ import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.base.ResponseDto;
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.GalaxySeriesNftInfoBo;
import com.liquidnet.service.galaxy.dto.bo.GalaxyUserInfoBo;
import com.liquidnet.service.galaxy.dto.param.*;
import com.liquidnet.service.galaxy.router.strategy.biz.GalaxyEnumBiz;
......@@ -62,7 +62,7 @@ public class ZxinTradeBiz {
GalaxyUserInfoBo userInfoBo = dataUtils.getGalaxyUserInfo(nftBuyReqDto.getRouterType(),nftBuyReqDto.getUserId());
//获取sku信息
GalaxySeriesInfoBo seriesInfoBo = dataUtils.getSeriesInfoBo(nftBuyReqDto.getRouterType(),nftBuyReqDto.getSkuId());
GalaxySeriesNftInfoBo seriesNftInfoBo = dataUtils.getSeriesNftInfoBo(nftBuyReqDto.getRouterType(),nftBuyReqDto.getSkuId());
//返回参数nftId
......@@ -73,7 +73,7 @@ public class ZxinTradeBiz {
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);
}else{
return ResponseDto.failure(GalaxyErrorEnum.NFT_BUY_FAIL.getCode(), GalaxyErrorEnum.NFT_BUY_FAIL.getMessage());
......@@ -92,25 +92,25 @@ public class ZxinTradeBiz {
GalaxyUserInfoBo userInfoBo = dataUtils.getGalaxyUserInfo(reqDto.getRouterType(),reqDto.getUserId());
//获取sku信息
GalaxySeriesInfoBo seriesInfoBo = dataUtils.getSeriesInfoBo(reqDto.getRouterType(),reqDto.getSkuId());
GalaxySeriesNftInfoBo seriesNftInfoBo = dataUtils.getSeriesNftInfoBo(reqDto.getRouterType(),reqDto.getSkuId());
String author = seriesInfoBo.getAuthor();
String nftName = seriesInfoBo.getNftName();
String nftUrl = seriesInfoBo.getNftUrl();
String displayUrl = seriesInfoBo.getDisplayUrl();
String author = seriesNftInfoBo.getAuthor();
String nftName = seriesNftInfoBo.getNftName();
String nftUrl = seriesNftInfoBo.getNftUrl();
String displayUrl = seriesNftInfoBo.getDisplayUrl();
String nftDesc = seriesInfoBo.getNftDesc();
String nftFlag = seriesInfoBo.getNftFlag();
String nftDesc = seriesNftInfoBo.getNftDesc();
String nftFlag = seriesNftInfoBo.getNftFlag();
//发行个数
Long publishCount = 1L;
//开始索引
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
*/
String seriesId = seriesInfoBo.getSkuId();
String seriesId = seriesNftInfoBo.getSkuId();
//返回参数nftId
String nftId = null;
......@@ -218,7 +218,7 @@ public class ZxinTradeBiz {
if(StringUtil.isNotEmpty(nftId)){
//执行购买逻辑
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);
return ResponseDto.success(nftPublishAndBuyRespDto);
}else{
......@@ -273,18 +273,18 @@ public class ZxinTradeBiz {
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接口
Nft043BuyReqDto nft043BuyReqDto = Nft043BuyReqDto.getNew();
nft043BuyReqDto.setNftId(nftId);
nft043BuyReqDto.setApplyScore(seriesInfoBo.getSellCount().intValue());
nft043BuyReqDto.setApplyScore(seriesNftInfoBo.getSellCount().intValue());
try {
nft043BuyReqDto.setReceiverPubKey(BASE64Util.decode(userInfoBo.getUserPubKey()));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
nft043BuyReqDto.setPointReceiverAddr(userInfoBo.getBlockChainAddress());
nft043BuyReqDto.setOfferCount(seriesInfoBo.getSellCount().longValue());
nft043BuyReqDto.setOfferCount(seriesNftInfoBo.getSellCount().longValue());
nft043BuyReqDto.setOperateId(IDGenerator.get32UUID());
/**
......@@ -329,21 +329,21 @@ public class ZxinTradeBiz {
* 保持线程循环查询
* @param nftId
* @param userInfoBo
* @param seriesInfoBo
* @param seriesNftInfoBo
* @return
*/
private GalaxyNftBuyRespDto nftBuyBusinessBackup(String nftId,GalaxyUserInfoBo userInfoBo, GalaxySeriesInfoBo seriesInfoBo){
private GalaxyNftBuyRespDto nftBuyBusinessBackup(String nftId,GalaxyUserInfoBo userInfoBo, GalaxySeriesNftInfoBo seriesNftInfoBo){
// 3.2.2调用购买NFT接口
Nft043BuyReqDto nft043BuyReqDto = Nft043BuyReqDto.getNew();
nft043BuyReqDto.setNftId(nftId);
nft043BuyReqDto.setApplyScore(seriesInfoBo.getSellCount().intValue());
nft043BuyReqDto.setApplyScore(seriesNftInfoBo.getSellCount().intValue());
try {
nft043BuyReqDto.setReceiverPubKey(BASE64Util.decode(userInfoBo.getUserPubKey()));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
nft043BuyReqDto.setPointReceiverAddr(userInfoBo.getBlockChainAddress());
nft043BuyReqDto.setOfferCount(seriesInfoBo.getSellCount().longValue());
nft043BuyReqDto.setOfferCount(seriesNftInfoBo.getSellCount().longValue());
nft043BuyReqDto.setOperateId(IDGenerator.get32UUID());
/**
......
......@@ -6,10 +6,7 @@ import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.galaxy.constant.GalaxyConstant;
import com.liquidnet.service.galaxy.constant.GalaxyEnum;
import com.liquidnet.service.galaxy.dto.bo.GalaxyNftOrderBo;
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.bo.*;
import com.liquidnet.service.galaxy.dto.vo.mongo.*;
import com.mongodb.client.result.UpdateResult;
import lombok.extern.slf4j.Slf4j;
......@@ -70,17 +67,20 @@ public class DataUtils {
if(obj!=null){
return (GalaxyUserInfoBo) obj;
}else {
GalaxyUserInfoBo userInfoBo = mongoTemplate.findOne(Query.query(Criteria.where("userId").is(userId)), GalaxyUserInfoBo.class, GalaxyUserInfoBo.class.getSimpleName());
if (userInfoBo == null) {
GalaxyUserInfoVo userInfoVo = mongoTemplate.findOne(Query.query(Criteria.where("userId").is(userId)), GalaxyUserInfoVo.class, GalaxyUserInfoVo.class.getSimpleName());
if (userInfoVo == null) {
return null;
}
GalaxyUserInfoBo userInfoBo = GalaxyUserInfoBo.getNew();
BeanUtil.copy(userInfoVo,userInfoBo);
redisUtil.set(GalaxyConstant.REDIS_KEY_GALAXY_USER.concat(routerType).concat(":") + userId, userInfoBo);
return userInfoBo;
}
}
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入库
GalaxySeriesNftUploadVo seriesNftUploadVo = GalaxySeriesNftUploadVo.getNew();
......@@ -90,7 +90,7 @@ public class DataUtils {
}
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){
return (GalaxySeriesNftUploadBo) obj;
}else {
......@@ -101,11 +101,14 @@ public class DataUtils {
criteria = criteria.and("skuId").is(skuId);
}
GalaxySeriesNftUploadBo seriesNftUploadBo = mongoTemplate.findOne(Query.query(criteria), GalaxySeriesNftUploadBo.class, GalaxySeriesNftUploadBo.class.getSimpleName());
if (seriesNftUploadBo == null) {
GalaxySeriesNftUploadVo seriesNftUploadVo = mongoTemplate.findOne(Query.query(criteria), GalaxySeriesNftUploadVo.class, GalaxySeriesNftUploadVo.class.getSimpleName());
if (seriesNftUploadVo == 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;
}
}
......@@ -113,18 +116,19 @@ public class DataUtils {
public void setSeriesInfoBo(String routerType,String skuId, GalaxySeriesInfoBo seriesInfoBo) {
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
// , 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入库
GalaxySeriesInfoVo seriesInfoVo = GalaxySeriesInfoVo.getNew();
BeanUtil.copy(seriesInfoBo,seriesInfoVo);
seriesInfoVo.setCreatedAt(LocalDateTime.now());
mongoTemplate.save(seriesInfoVo,GalaxySeriesInfoVo.class.getSimpleName());
try{
queueUtil.sendMySqlRedis(
SqlMapping.get("galaxy_series_info.insert"),
......@@ -134,7 +138,43 @@ public class DataUtils {
}
, 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
// ,series_id, nft_total_count, nft_crt_count, original_nft_url, original_display_url
// ,author, nft_name, nft_url, display_url, nft_desc
......@@ -144,37 +184,39 @@ public class DataUtils {
SqlMapping.get("galaxy_series_nft_info.insert"),
new Object[]{IDGenerator.get32UUID(),seriesInfoId,skuId,seriesInfoBo.getSeriesName(),seriesCode
,seriesInfoBo.getSeriesId(),seriesInfoBo.getTotalCount(),seriesInfoBo.getCrtCount()
,seriesInfoBo.getOriginalNftUrl(),seriesInfoBo.getOriginalDisplayUrl(),seriesInfoBo.getSeriesClaimTaskId(),seriesInfoBo.getSeriesClaimStatus(),seriesInfoBo.getAuthor()
,seriesInfoBo.getNftName(),seriesInfoBo.getNftUrl(),seriesInfoBo.getDisplayUrl(),seriesInfoBo.getNftDesc(),seriesInfoBo.getNftFlag()
,seriesInfoBo.getSellCount(),seriesInfoBo.getCoverUrl(),seriesInfoBo.getSeriesDesc(),seriesInfoBo.getNftHash(),seriesInfoBo.getRouterType()
,seriesNftInfoBo.getOriginalNftUrl(),seriesNftInfoBo.getOriginalDisplayUrl(),seriesInfoBo.getSeriesClaimTaskId(),seriesInfoBo.getSeriesClaimStatus(),seriesNftInfoBo.getAuthor()
,seriesNftInfoBo.getNftName(),seriesNftInfoBo.getNftUrl(),seriesNftInfoBo.getDisplayUrl(),seriesNftInfoBo.getNftDesc(),seriesNftInfoBo.getNftFlag()
,seriesNftInfoBo.getSellCount(),seriesInfoBo.getCoverUrl(),seriesInfoBo.getSeriesDesc(),seriesNftInfoBo.getNftHash(),seriesInfoBo.getRouterType()
,LocalDateTime.now()
}
, 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);
public GalaxySeriesNftInfoBo getSeriesNftInfoBo(String routerType, String skuId) {
Object obj = redisUtil.get(GalaxyConstant.REDIS_KEY_GALAXY_SERIES_NFT.concat(routerType).concat(":") + skuId);
if(obj!=null){
return (GalaxySeriesInfoBo) obj;
return (GalaxySeriesNftInfoBo) obj;
}else {
GalaxySeriesInfoBo seriesInfoBo = mongoTemplate.findOne(Query.query(Criteria.where("skuId").is(skuId)), GalaxySeriesInfoBo.class, GalaxySeriesInfoBo.class.getSimpleName());
if (seriesInfoBo == null) {
GalaxySeriesNftInfoVo seriesNftInfoVo = mongoTemplate.findOne(Query.query(Criteria.where("skuId").is(skuId)), GalaxySeriesNftInfoVo.class, GalaxySeriesNftInfoVo.class.getSimpleName());
if (seriesNftInfoVo == null) {
return null;
}
redisUtil.set(GalaxyConstant.REDIS_KEY_GALAXY_SERIES.concat(routerType).concat(":") + skuId, seriesInfoBo);
return seriesInfoBo;
GalaxySeriesNftInfoBo seriesNftInfoBo = GalaxySeriesNftInfoBo.getNew();
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) {
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.set("seriesClaimStatus", seriesInfoBo.getSeriesClaimStatus());
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_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 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
# ------------------------数字藏品交易信息----------------------------
......
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