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

Commit 62888341 authored by anjiabin's avatar anjiabin

nft修改购买逻辑

parent f9e52db0
......@@ -23,13 +23,17 @@ public class GalaxyNftOrderBo implements Serializable,Cloneable {
*/
private String skuId;
/**
* 系列的唯一名称
* 本地系列唯一名称
*/
private String seriesName;
/**
* 系列的唯一Id
*/
private String seriesId;
/**
* 本地系列唯一编码
*/
private String seriesCode;
/**
* 接入方买入唯一标识
*/
......
......@@ -23,13 +23,17 @@ public class GalaxyNftOrderVo implements Serializable,Cloneable {
*/
private String skuId;
/**
* 系列的唯一名称
* 本地系列唯一名称
*/
private String seriesName;
/**
* 系列的唯一Id
*/
private String seriesId;
/**
* 本地系列唯一编码
*/
private String seriesCode;
/**
* 接入方买入唯一标识
*/
......
......@@ -21,10 +21,22 @@ public class GalaxyNftTradeVo implements Serializable,Cloneable {
* 应用系统购买系列唯一ID
*/
private String nftId;
/**
* nft名字
*/
private String nftName;
/**
* 本地系列唯一名称
*/
private String seriesName;
/**
* 系列的唯一Id
*/
private String seriesId;
/**
* 本地系列唯一编码
*/
private String seriesCode;
/**
* nftId
*/
......
......@@ -81,6 +81,7 @@ create table galaxy_nft_order_info
sku_id varchar(200) NOT NULL COMMENT '应用系统购买系列唯一ID',
series_name varchar(20) NOT NULL COMMENT '系列的唯一名称(前缀+skuid)',
series_id varchar(3) COMMENT '系列的唯一Id',
series_code varchar(200) NOT NULL COMMENT '本地系列唯一编码',
nft_id varchar(200) COMMENT 'nftId',
nft_price varchar(50) COMMENT 'nft购买价格',
nft_publish_task_id varchar(100) COMMENT 'nft发行任务id',
......@@ -106,7 +107,10 @@ create table galaxy_nft_trade_info
(
mid bigint unsigned NOT NULL AUTO_INCREMENT,
nft_id varchar(200) COMMENT 'nftId',
nft_name varchar(200) COMMENT 'nft名字(sku名称)',
series_name varchar(20) NOT NULL COMMENT '系列的唯一名称',
series_id varchar(3) COMMENT '系列的唯一Id',
series_code varchar(200) NOT NULL COMMENT '本地系列唯一编码',
trade_hash varchar(200) COMMENT '交易hash',
chain_timestamp varchar(20) COMMENT '链上交易时间戳',
from_address varchar(200) COMMENT '转出方地址',
......
......@@ -463,7 +463,7 @@ public class ZxinArtworkBiz {
seriesNftInfoBo.setNftTotalCount(Long.valueOf(nftTotalCount.toString()));
seriesNftInfoBo.setNftCrtCount(0L);
seriesNftInfoBo.setNftIdBegin(null);
seriesNftInfoBo.setNftIdBeginIndex(BigDecimal.valueOf(nftTotalCount).multiply(BigDecimal.valueOf(nftPublishNumber-1)).intValue());
seriesNftInfoBo.setNftIdBeginIndex(BigDecimal.valueOf(nftTotalCount).multiply(BigDecimal.valueOf(nftPublishNumber-1)).intValue()+1);
seriesNftInfoBo.setNftPublishNumber(nftPublishNumber);
seriesNftInfoBo.setOriginalNftUrl(seriesNftUploadBo.getOriginalNftUrl());
seriesNftInfoBo.setOriginalDisplayUrl(seriesNftUploadBo.getOriginalDisplayUrl());
......
......@@ -31,6 +31,7 @@ public class ZxinCommonBiz {
nftOrderBo.setSkuId(seriesNftInfoBo.getSkuId());
nftOrderBo.setSeriesName(seriesNftInfoBo.getSeriesName());
nftOrderBo.setSeriesId(seriesNftInfoBo.getSeriesId());
nftOrderBo.setSeriesCode(seriesNftInfoBo.getSeriesCode());
nftOrderBo.setNftOrderPayId(nftOrderPayId);
nftOrderBo.setNftId(null);
nftOrderBo.setNftPrice(seriesNftInfoBo.getSellCount().longValue());
......
......@@ -18,6 +18,7 @@ import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.stereotype.Component;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Date;
......@@ -302,7 +303,7 @@ public class DataUtils {
try{
queueUtil.sendMySqlRedis(
SqlMapping.get("galaxy_nft_order_info.insert"),
new Object[]{nftOrderPayId,nftOrderBo.getUserId(),nftOrderBo.getSkuId(),nftOrderBo.getSeriesName(),nftOrderBo.getSeriesId()
new Object[]{nftOrderPayId,nftOrderBo.getUserId(),nftOrderBo.getSkuId(),nftOrderBo.getSeriesName(),nftOrderBo.getSeriesId(),nftOrderBo.getSeriesCode()
,nftOrderBo.getNftId(),nftOrderBo.getNftPrice(),nftOrderBo.getNftPublishFromAddress(),nftOrderBo.getNftPublishToAddress(),nftOrderBo.getNftPublishTaskId()
,nftOrderBo.getNftBuyTaskId(),nftOrderBo.getNftBuyPayTaskId(),nftOrderBo.getRouterType(),LocalDateTime.now(),null
}
......@@ -312,6 +313,20 @@ public class DataUtils {
log.error(e.getMessage(),e);
log.error("#setNftOrderBo error ==> MESSAGE:{}",e.getMessage());
}
//更新系列已发行信息
try {
this.updateSeriesCrtCount(routerType,nftOrderBo.getSeriesCode());
} catch (Exception e) {
log.error(e.getMessage(),e);
}
//更新系列nft已发行信息
try {
this.updateSeriesNftCrtCount(routerType,nftOrderBo.getSkuId());
} catch (Exception e) {
log.error(e.getMessage(),e);
}
}
public GalaxyNftOrderBo getNftOrderBo(String routerType, String nftOrderPayId) {
......@@ -419,12 +434,12 @@ public class DataUtils {
*/
mongoTemplate.save(nftTradeVo,GalaxyNftTradeVo.class.getSimpleName());
// insert into galaxy_nft_trade_info (mid, nft_id, series_id, trade_hash, chain_timestamp, from_address
// insert into galaxy_nft_trade_info (mid, nft_id, nft_name,series_name,series_id,series_code, trade_hash, chain_timestamp, from_address
// , to_address,trade_price, trade_type, created_at, updated_at)
try{
queueUtil.sendMySqlRedis(
SqlMapping.get("galaxy_nft_trade_info.insert"),
new Object[]{nftTradeVo.getNftId(),nftTradeVo.getSeriesId(),nftTradeVo.getTradeHash(),nftTradeVo.getChainTimestamp(),nftTradeVo.getFromAddress()
new Object[]{nftTradeVo.getNftId(),nftTradeVo.getNftName(),nftTradeVo.getSeriesName(),nftTradeVo.getSeriesId(),nftTradeVo.getSeriesCode(),nftTradeVo.getTradeHash(),nftTradeVo.getChainTimestamp(),nftTradeVo.getFromAddress()
,nftTradeVo.getToAddress(),nftTradeVo.getTradePrice(),nftTradeVo.getTradeType(),LocalDateTime.now(),null
}
, MQConst.GalaxyQueue.SQL_NFT_TRADE_INFO.getKey()
......@@ -443,4 +458,64 @@ public class DataUtils {
Object o = redisUtil.get(GalaxyConstant.REDIS_KEY_GALAXY_PUBLISH_NFT.concat(routerType).concat(":").concat(skuId));
return o==null?-1:(int)o;
}
/**
* 更新系列已购买信息
* @param routerType
* @param seriesCode
*/
public void updateSeriesCrtCount(String routerType,String seriesCode) {
GalaxySeriesInfoBo seriesInfoBo = this.getSeriesInfoBo(routerType,seriesCode);
seriesInfoBo.setCrtCount(seriesInfoBo.getCrtCount()+1);
redisUtil.set(GalaxyConstant.REDIS_KEY_GALAXY_SERIES.concat(routerType).concat(":") + seriesCode,seriesInfoBo,keyExpireTime);
Query query = Query.query(Criteria.where("seriesCode").is(seriesInfoBo.getSeriesCode()));
Update update = Update.fromDocument(Document.parse(JsonUtils.toJson(seriesInfoBo)));
String nowTimeStr = DateUtil.Formatter.yyyyMMddHHmmss.format(LocalDateTime.now());
update.set("crtCount",seriesInfoBo.getCrtCount()+1);
update.set("updatedAt",nowTimeStr);
UpdateResult result = mongoTemplate.updateFirst(query,update, GalaxySeriesInfoVo.class,GalaxySeriesInfoVo.class.getSimpleName());
log.info("updateSeriesCrtCount result:{}",result.toString());
try{
queueUtil.sendMySqlRedis(
SqlMapping.get("galaxy_series_info.updateSeriesCrtCount"),
new Object[]{seriesInfoBo.getCrtCount()+1,LocalDateTime.now(),seriesCode}
, MQConst.GalaxyQueue.SQL_NFT_TRADE_INFO.getKey()
);
}catch(Exception e){
log.error(e.getMessage(),e);
log.error("#updateSeriesCrtCount error ==> MESSAGE:{}",e.getMessage());
}
}
/**
* 更新系列nft已购买信息
* @param routerType
* @param skuId
*/
public void updateSeriesNftCrtCount(String routerType,String skuId) {
GalaxySeriesNftInfoBo seriesNftInfoBo = this.getSeriesNftInfoBo(routerType,skuId);
seriesNftInfoBo.setNftCrtCount(seriesNftInfoBo.getNftCrtCount()+1);
redisUtil.set(GalaxyConstant.REDIS_KEY_GALAXY_SERIES_NFT.concat(routerType).concat(":") + skuId,seriesNftInfoBo,keyExpireTime);
Query query = Query.query(Criteria.where("skuId").is(skuId));
Update update = Update.fromDocument(Document.parse(JsonUtils.toJson(seriesNftInfoBo)));
String nowTimeStr = DateUtil.Formatter.yyyyMMddHHmmss.format(LocalDate.now());
update.set("nftCrtCount",seriesNftInfoBo.getNftCrtCount()+1);
update.set("updatedAt",nowTimeStr);
UpdateResult result = mongoTemplate.updateFirst(query,update, GalaxySeriesNftInfoBo.class,GalaxySeriesNftInfoBo.class.getSimpleName());
log.info("updateSeriesNftCrtCount result:{}",result.toString());
try{
queueUtil.sendMySqlRedis(
SqlMapping.get("galaxy_series_nft_info.updateSeriesNftCrtCount"),
new Object[]{seriesNftInfoBo.getNftCrtCount()+1,LocalDateTime.now(),skuId}
, MQConst.GalaxyQueue.SQL_NFT_TRADE_INFO.getKey()
);
}catch(Exception e){
log.error(e.getMessage(),e);
log.error("#GalaxySeriesNftInfoBo error ==> MESSAGE:{}",e.getMessage());
}
}
}
......@@ -5,9 +5,9 @@ galaxy_series_info.insert=insert into galaxy_series_info (series_info_id, series
# ------------------------数字藏品系列信息----------------------------
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 ,nft_id_begin_index ,nft_publish_number,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, series_code, 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_trade_info.insert=insert into galaxy_nft_trade_info (nft_id, series_id, trade_hash, chain_timestamp, from_address, to_address,trade_price, trade_type, created_at, updated_at)values (?,?,?,?,?,?,?,?,?,?)
galaxy_nft_trade_info.insert=insert into galaxy_nft_trade_info (nft_id, nft_name, series_name, series_id, series_code, trade_hash, chain_timestamp, from_address, to_address,trade_price, trade_type, created_at, updated_at)values (?,?,?,?,?,?,?,?,?,?,?,?,?)
#更新信息
galaxy_series_info.updateSeriesIdAndStatus=update galaxy_series_info t set t.series_id = ?,t.chain_timestamp = ?,t.trade_hash = ?,t.series_claim_status = ? ,t.updated_at =? where t.series_code = ?
......@@ -17,3 +17,9 @@ galaxy_series_nft_info.updateSeriesIdAndStatus=update galaxy_series_nft_info t s
galaxy_nft_order_info.updateNftId=update galaxy_nft_order_info t set t.nft_id = ? ,t.updated_at =? where t.nft_order_pay_id = ?
galaxy_nft_order_info.updateNftBuyTaskId=update galaxy_nft_order_info t set t.nft_buy_task_id = ? ,t.updated_at =? where t.nft_order_pay_id = ?
#更新已发行个数
galaxy_series_info.updateSeriesCrtCount=update galaxy_series_info t set t.crt_count = ?,t.updated_at =? where t.series_code = ?
#更新已发行个数
galaxy_series_nft_info.updateSeriesNftCrtCount=update galaxy_series_nft_info t set t.nft_crt_count = ?,t.updated_at =? where t.sku_id = ?
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