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

Commit b4324950 authored by anjiabin's avatar anjiabin

提交galaxy系列表结构

parent b57d37cd
......@@ -17,6 +17,10 @@ import java.time.LocalDateTime;
*/
@Data
public class GalaxySeriesInfoBo implements Serializable,Cloneable {
/**
* 本地系列唯一标识id
*/
private String seriesInfoId;
/**
* 本地系列唯一名称(前缀+skuid)
*/
......
......@@ -18,6 +18,14 @@ import java.time.LocalDateTime;
*/
@Data
public class GalaxySeriesNftInfoBo implements Serializable,Cloneable {
/**
* 本地系列唯一标识id
*/
private String seriesNftInfoId;
/**
* 本地系列唯一标识id
*/
private String seriesInfoId;
/**
* 本地系列唯一标识id
*/
......
......@@ -22,6 +22,16 @@ import java.io.Serializable;
@ApiModel(value = "GalaxyArtSeriesClaimReqDto", description = "NFT系列声明")
@Data
public class GalaxyArtSeriesClaimReqDto extends GalaxyBaseReqDto implements Serializable,Cloneable {
// @ApiModelProperty(position = 1, required = true, value = "系列名称,不超过20个字符")
// @NotBlank(message = "系列名称不能为空!")
// @Size(min = 2, max = 20, message = "skuId限制2-20位且不能包含特殊字符")
// private String seriesName;
//
// @ApiModelProperty(position = 1, required = true, value = "系列编码")
// @NotBlank(message = "系列编码不能为空!")
// @Size(min = 2, max = 200, message = "skuId限制2-200位且不能包含特殊字符")
// private String seriesCode;
@ApiModelProperty(position = 1, required = true, value = "系列唯一id标识,不超过20个字符")
@NotBlank(message = "skuId不能为空!")
@Size(min = 2, max = 20, message = "skuId限制2-20位且不能包含特殊字符")
......
......@@ -4,7 +4,6 @@ import com.liquidnet.commons.lang.util.JsonUtils;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* @author AnJiabin <anjiabin@zhengzai.tv>
......@@ -73,11 +72,11 @@ public class GalaxySeriesInfoVo implements Serializable,Cloneable {
/**
* 创建时间
*/
private LocalDateTime createdAt;
private String createdAt;
/**
* 更新时间
*/
private LocalDateTime updatedAt;
private String updatedAt;
@Override
public String toString(){
......
......@@ -23,14 +23,14 @@ create table galaxy_series_info
(
mid bigint unsigned NOT NULL AUTO_INCREMENT,
series_info_id varchar(100) NOT NULL COMMENT '系列存储ID',
series_name varchar(20) NOT NULL COMMENT '本地系列唯一名称(前缀+skuid)',
series_name varchar(28) NOT NULL COMMENT '本地系列唯一名称(前缀+skuid)',
series_code varchar(200) NOT NULL COMMENT '系列编码',
series_id varchar(3) COMMENT '区块链上系列ID',
total_count varchar(50) COMMENT '系列发行总量',
crt_count varchar(200) COMMENT '系列已发行个数',
series_claim_task_id varchar(200) COMMENT '系列声明任务ID',
series_claim_status varchar(200) COMMENT '系列声明状态',
cover_url varchar(200) COMMENT '系列显示封面',
cover_url varchar(1000) COMMENT '系列显示封面',
series_desc varchar(200) COMMENT '系列描述信息,不超过500个字符',
nft_count int default 0 COMMENT '系列中包含nft个数',
router_type varchar(200) NOT NULL COMMENT '路由类型(zxinchain、eth、antchain)',
......@@ -45,17 +45,17 @@ create table galaxy_series_nft_info
series_nft_info_id varchar(100) NOT NULL COMMENT '系列nft存储ID',
series_info_id varchar(100) NOT NULL COMMENT '系列存储ID',
sku_id varchar(200) NOT NULL COMMENT '本地系列nft唯一标识id',
series_name varchar(20) NOT NULL COMMENT '本地系列唯一名称(前缀+skuid)',
series_name varchar(28) NOT NULL COMMENT '本地系列唯一名称(前缀+skuid)',
series_code varchar(200) NOT NULL COMMENT '本地系列唯一编码',
series_id varchar(3) COMMENT '区块链上系列ID',
nft_total_count varchar(50) COMMENT '系列nft发行总量',
nft_crt_count varchar(200) COMMENT '系列nft已发行个数',
original_nft_url varchar(3) COMMENT 'nft素材原始地址',
original_display_url varchar(200) COMMENT 'nft显示素材原始地址',
original_nft_url varchar(1000) COMMENT 'nft素材原始地址',
original_display_url varchar(1000) COMMENT 'nft显示素材原始地址',
author varchar(200) COMMENT '作者名',
nft_name varchar(200) COMMENT 'nft名字(sku名称)',
nft_url varchar(600) COMMENT 'nft素材地址',
display_url varchar(600) COMMENT '预览图url,不超过1024个字符',
nft_url varchar(1000) COMMENT 'nft素材地址',
display_url varchar(1000) COMMENT '预览图url,不超过1024个字符',
nft_desc varchar(400) COMMENT 'nft简介,500个字符以内',
nft_flag varchar(200) COMMENT '标签,【文创】,游戏,动漫,30个字符以内',
sell_count varchar(200) COMMENT '可售状态下有意义',
......
......@@ -125,6 +125,8 @@ public class ZxinArtworkBiz {
String skuId = reqDto.getSkuId();
//以下系列名称可以用spu名称代替
String seriesName = GalaxyConstant.SERIES_NAME_PREFIX.concat(skuId);
String seriesCode = GalaxyConstant.SERIES_NAME_PREFIX.concat(skuId);
Long totalCount = reqDto.getTotalCount();
String coverUrl = reqDto.getCoverUrl();//暂时用nftUrl
String seriesDesc = reqDto.getSeriesDesc();
......@@ -137,7 +139,14 @@ public class ZxinArtworkBiz {
// String nftFlag = reqDto.getNftFlag();
// String sellCount = reqDto.getSellCount();
GalaxySeriesInfoBo seriesInfoBo = dataUtils.getSeriesInfoBo(reqDto.getRouterType(),reqDto.getSkuId());
//根据skuId获取原始上传信息
GalaxySeriesNftUploadBo seriesNftUploadBo = dataUtils.getSeriesNftUploadBo(reqDto.getRouterType(),reqDto.getSkuId());
if(StringUtil.isNull(seriesNftUploadBo)){
return ResponseDto.failure(GalaxyErrorEnum.SERIES_CLAIM_NOT_EXIST.getCode(),GalaxyErrorEnum.SERIES_CLAIM_NOT_EXIST.getMessage());
}
//目前一个系列上传一个nft
GalaxySeriesInfoBo seriesInfoBo = dataUtils.getSeriesInfoBo(reqDto.getRouterType(),seriesCode);
if(StringUtil.isNotNull(seriesInfoBo)){
/**
* 如果系列声明成功,则不允许继续声明
......@@ -147,14 +156,6 @@ public class ZxinArtworkBiz {
}else if(seriesInfoBo.getSeriesClaimStatus().equalsIgnoreCase(GalaxyEnum.SeriesClaimStatusEnum.SUCCESS.getCode())){
return ResponseDto.failure(GalaxyErrorEnum.SERIES_CLAIM_SUCCESSED.getCode(),GalaxyErrorEnum.SERIES_CLAIM_SUCCESSED.getMessage());
}
}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暂未上传相关素材!");
}
......@@ -190,7 +191,7 @@ public class ZxinArtworkBiz {
seriesClaimRespDto.setSeriesName(seriesName);
//构造缓存数据
if(StringUtil.isNotNull(seriesInfoBo)){
if(StringUtil.isNull(seriesInfoBo)){
//
String publishStatus = GalaxyEnum.SeriesClaimStatusEnum.PROCESSING.getCode();
//设置系列声明状态
......@@ -198,6 +199,9 @@ public class ZxinArtworkBiz {
//构造系列信息
seriesInfoBo = this.buildSeriesInfoBo(reqDto,taskId,publishStatus);
//等一个系列支持多个藏品后需要从请求参数获取
seriesInfoBo.setSeriesName(seriesName);
seriesInfoBo.setSeriesCode(seriesCode);
dataUtils.setSeriesInfoBo(reqDto.getRouterType(),reqDto.getSkuId(),seriesInfoBo);
//构造系列nft信息
......@@ -416,6 +420,7 @@ public class ZxinArtworkBiz {
private GalaxySeriesInfoBo buildSeriesInfoBo(GalaxyArtSeriesClaimReqDto reqDto,String taskId,String publishStatus){
String seriesName = reqDto.getSkuId();
GalaxySeriesInfoBo seriesInfoBo = GalaxySeriesInfoBo.getNew();
seriesInfoBo.setSeriesInfoId(IDGenerator.get32UUID());
seriesInfoBo.setSeriesName(reqDto.getNftName());
seriesInfoBo.setSeriesCode(seriesName);
seriesInfoBo.setSeriesId(null);
......@@ -434,6 +439,8 @@ public class ZxinArtworkBiz {
private GalaxySeriesNftInfoBo buildSeriesNftInfoBo(GalaxyArtSeriesClaimReqDto reqDto,GalaxySeriesInfoBo seriesInfoBo,GalaxySeriesNftUploadBo seriesNftUploadBo){
GalaxySeriesNftInfoBo seriesNftInfoBo = GalaxySeriesNftInfoBo.getNew();
seriesNftInfoBo.setSeriesNftInfoId(IDGenerator.get32UUID());
seriesNftInfoBo.setSeriesInfoId(seriesInfoBo.getSeriesInfoId());
seriesNftInfoBo.setSkuId(reqDto.getSkuId());
seriesNftInfoBo.setSeriesName(seriesInfoBo.getSeriesName());
seriesNftInfoBo.setSeriesCode(seriesInfoBo.getSeriesCode());
......
......@@ -113,26 +113,24 @@ 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);
public void setSeriesInfoBo(String routerType,String seriesCode, GalaxySeriesInfoBo seriesInfoBo) {
redisUtil.set(GalaxyConstant.REDIS_KEY_GALAXY_SERIES.concat(routerType).concat(":") + seriesCode,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入库
GalaxySeriesInfoVo seriesInfoVo = GalaxySeriesInfoVo.getNew();
BeanUtil.copy(seriesInfoBo,seriesInfoVo);
seriesInfoVo.setCreatedAt(LocalDateTime.now());
seriesInfoVo.setCreatedAt(DateUtil.format(LocalDateTime.now(), DateUtil.Formatter.yyyyMMddHHmmss));
mongoTemplate.save(seriesInfoVo,GalaxySeriesInfoVo.class.getSimpleName());
try{
queueUtil.sendMySqlRedis(
SqlMapping.get("galaxy_series_info.insert"),
new Object[]{seriesInfoId,seriesInfoBo.getSeriesName(),seriesCode,null,seriesInfoBo.getTotalCount()
new Object[]{seriesInfoBo.getSeriesInfoId(),seriesInfoBo.getSeriesName(),seriesCode,null,seriesInfoBo.getTotalCount()
,seriesInfoBo.getCrtCount(),seriesInfoBo.getSeriesClaimTaskId(),seriesInfoBo.getSeriesClaimStatus(),seriesInfoBo.getCoverUrl(),seriesInfoBo.getSeriesDesc()
,nftCount,seriesInfoBo.getRouterType(),LocalDateTime.now(),null
}
......@@ -144,50 +142,42 @@ public class DataUtils {
}
}
public GalaxySeriesInfoBo getSeriesInfoBo(String routerType, String skuId) {
Object obj = redisUtil.get(GalaxyConstant.REDIS_KEY_GALAXY_SERIES.concat(routerType).concat(":") + skuId);
public GalaxySeriesInfoBo getSeriesInfoBo(String routerType, String seriesCode) {
Object obj = redisUtil.get(GalaxyConstant.REDIS_KEY_GALAXY_SERIES.concat(routerType).concat(":") + seriesCode);
if(obj!=null){
return (GalaxySeriesInfoBo) obj;
}else {
GalaxySeriesInfoBo seriesInfoBo = mongoTemplate.findOne(Query.query(Criteria.where("skuId").is(skuId)), GalaxySeriesInfoBo.class, GalaxySeriesInfoBo.class.getSimpleName());
GalaxySeriesInfoBo seriesInfoBo = mongoTemplate.findOne(Query.query(Criteria.where("seriesCode").is(seriesCode)), GalaxySeriesInfoBo.class, GalaxySeriesInfoBo.class.getSimpleName());
if (seriesInfoBo == null) {
return null;
}
redisUtil.set(GalaxyConstant.REDIS_KEY_GALAXY_SERIES.concat(routerType).concat(":") + skuId, seriesInfoBo);
redisUtil.set(GalaxyConstant.REDIS_KEY_GALAXY_SERIES.concat(routerType).concat(":") + seriesCode, 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
redisUtil.set(GalaxyConstant.REDIS_KEY_GALAXY_SERIES_NFT.concat(routerType).concat(":") + skuId,seriesNftInfoBo,keyExpireTime);
//mongo入库
GalaxySeriesNftInfoVo seriesNftInfoVo = GalaxySeriesNftInfoVo.getNew();
BeanUtil.copy(seriesNftInfoBo,seriesNftInfoVo);
seriesNftInfoVo.setCreatedAt(LocalDateTime.now());
mongoTemplate.save(seriesNftInfoVo,GalaxySeriesNftInfoBo.class.getSimpleName());
mongoTemplate.save(seriesNftInfoVo,GalaxySeriesNftInfoVo.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
// , nft_flag, sell_count, nft_hash,router_type, created_at
// , updated_at)
// ,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)
queueUtil.sendMySqlRedis(
SqlMapping.get("galaxy_series_nft_info.insert"),
new Object[]{IDGenerator.get32UUID(),seriesInfoId,skuId,seriesInfoBo.getSeriesName(),seriesCode
,seriesInfoBo.getSeriesId(),seriesInfoBo.getTotalCount(),seriesInfoBo.getCrtCount()
,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()
new Object[]{seriesNftInfoBo.getSeriesNftInfoId(),seriesInfoBo.getSeriesInfoId(),skuId,seriesInfoBo.getSeriesName(),seriesInfoBo.getSeriesCode()
,seriesInfoBo.getSeriesId(),seriesInfoBo.getTotalCount(),seriesInfoBo.getCrtCount(),seriesNftInfoBo.getNftIdBegin(),seriesNftInfoBo.getOriginalNftUrl()
,seriesNftInfoBo.getOriginalDisplayUrl(),seriesNftInfoBo.getAuthor(),seriesNftInfoBo.getNftName(),seriesNftInfoBo.getNftUrl(),seriesNftInfoBo.getDisplayUrl()
,seriesNftInfoBo.getNftDesc(),seriesNftInfoBo.getNftFlag(),seriesNftInfoBo.getSellCount(),seriesNftInfoBo.getNftHash(),seriesInfoBo.getRouterType()
,LocalDateTime.now(),null
}
, MQConst.GalaxyQueue.SQL_SERIES_INFO.getKey());
}catch(Exception e){
......
# ------------------------用户注册信息----------------------------
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 (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=(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_series_nft_info.insert=insert into galaxy_series_nft_info (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