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

Commit 247a076c authored by anjiabin's avatar anjiabin

修改galaxy消费相关

parent 69ae8fe2
......@@ -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>
......@@ -42,11 +41,11 @@ public class GalaxyNftTradeVo implements Serializable,Cloneable {
*/
private String seriesCode;
/**
* nftId
* 交易hash
*/
private String tradeHash;
/**
* nft价格
* 交易时间戳
*/
private String chainTimestamp;
......@@ -61,12 +60,12 @@ public class GalaxyNftTradeVo implements Serializable,Cloneable {
private String toAddress;
/**
* nft发行任务ID
* 交易价格
*/
private Long tradePrice;
/**
* nft购买任务id
* 交易类型
* @return
*/
private String tradeType;
......@@ -79,11 +78,11 @@ public class GalaxyNftTradeVo implements Serializable,Cloneable {
/**
* 创建时间
*/
private LocalDateTime createdAt;
private String createdAt;
/**
* 更新时间
*/
private LocalDateTime updatedAt;
private String updatedAt;
@Override
public String toString(){
......
package com.liquidnet.service.galaxy.biz;
import com.liquidnet.common.third.zxlnft.config.ZxlnftConfig;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.StringUtil;
import com.liquidnet.service.galaxy.constant.GalaxyEnum;
import com.liquidnet.service.galaxy.dto.bo.GalaxyNftOrderBo;
......@@ -8,6 +9,8 @@ import com.liquidnet.service.galaxy.dto.bo.GalaxySeriesNftInfoBo;
import com.liquidnet.service.galaxy.dto.bo.GalaxyUserInfoBo;
import com.liquidnet.service.galaxy.dto.param.GalaxyNftPublishAndBuyReqDto;
import com.liquidnet.service.galaxy.dto.vo.mongo.GalaxyNftOrderFailLogVo;
import com.liquidnet.service.galaxy.dto.vo.mongo.GalaxyNftTradeVo;
import com.liquidnet.service.galaxy.utils.GalaxyDataUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
......@@ -29,6 +32,9 @@ public class GalaxyBeanTransferBiz {
@Autowired
private ZxlnftConfig zxlnftConfig;
@Autowired
private GalaxyDataUtils dataUtils;
public GalaxyNftOrderBo buildNftOrderBo(String nftOrderPayId, GalaxyUserInfoBo userInfoBo, GalaxySeriesNftInfoBo seriesNftInfoBo){
GalaxyNftOrderBo nftOrderBo = GalaxyNftOrderBo.getNew();
nftOrderBo.setUserId(userInfoBo.getUserId());
......@@ -95,4 +101,37 @@ public class GalaxyBeanTransferBiz {
nftOrderFailLogVo.setUpdatedAt(null);
return nftOrderFailLogVo;
}
/**
* 构建nft交易vo
* @param tradeTypeEnum
* @param nftOrderBo
* @return
*/
public static GalaxyNftTradeVo buildNftTradeVo(GalaxyEnum.TradeTypeEnum tradeTypeEnum,GalaxyNftOrderBo nftOrderBo){
GalaxyNftTradeVo nftTradeVo = GalaxyNftTradeVo.getNew();
nftTradeVo.setUserId(nftOrderBo.getUserId());
nftTradeVo.setNftId(nftOrderBo.getNftId());
nftTradeVo.setNftName("");
nftTradeVo.setSeriesName(nftOrderBo.getSeriesName());
nftTradeVo.setSeriesId(nftOrderBo.getSeriesId());
nftTradeVo.setSeriesCode(nftOrderBo.getSeriesCode());
if(tradeTypeEnum.getCode().equalsIgnoreCase(GalaxyEnum.TradeTypeEnum.TRADE_PUBLISH.getCode())){
nftTradeVo.setTradeHash(nftOrderBo.getNftPublishTradeHash());
nftTradeVo.setChainTimestamp(nftOrderBo.getNftPublishChainTimestamp());
nftTradeVo.setFromAddress(nftOrderBo.getNftPublishFromAddress());
nftTradeVo.setToAddress(nftOrderBo.getNftPublishToAddress());
nftTradeVo.setTradePrice(0l);
nftTradeVo.setTradeType(tradeTypeEnum.getCode());
}else if(tradeTypeEnum.getCode().equalsIgnoreCase(GalaxyEnum.TradeTypeEnum.TRADE_BUY.getCode())){
nftTradeVo.setTradeHash(nftOrderBo.getNftBuyTradeHash());
nftTradeVo.setChainTimestamp(nftOrderBo.getNftBuyChainTimestamp());
nftTradeVo.setFromAddress(nftOrderBo.getNftBuyFromAddress());
nftTradeVo.setToAddress(nftOrderBo.getNftBuyToAddress());
nftTradeVo.setTradePrice(nftOrderBo.getNftPrice());
nftTradeVo.setTradeType(tradeTypeEnum.getCode());
}
nftTradeVo.setCreatedAt(DateUtil.getNowTime());
return nftTradeVo;
}
}
......@@ -4,6 +4,7 @@ import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.*;
import com.liquidnet.service.base.SqlMapping;
import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.galaxy.biz.GalaxyBeanTransferBiz;
import com.liquidnet.service.galaxy.constant.GalaxyConstant;
import com.liquidnet.service.galaxy.constant.GalaxyEnum;
import com.liquidnet.service.galaxy.dto.bo.*;
......@@ -356,7 +357,7 @@ public abstract class AbstractDataUtils {
String nowTimeStr = DateUtil.Formatter.yyyyMMddHHmmss.format(nftOrderBo.getUpdatedAt());
update.set("updatedAt",nowTimeStr);
UpdateResult result = this.getMongoTemplate().updateFirst(query,update, GalaxyNftOrderVo.class,GalaxyNftOrderVo.class.getSimpleName());
log.info("updateNftOrderInfo result:{}",result.toString());
log.info("updateNftOrderPublishInfo result:{}",result.toString());
try{
this.getQueueUtil().sendMySqlRedis(
......@@ -368,7 +369,12 @@ public abstract class AbstractDataUtils {
);
}catch(Exception e){
log.error(e.getMessage(),e);
log.error("#setNftTradeInfo error ==> MESSAGE:{}",e.getMessage());
log.error("#updateNftOrderPublishInfo error ==> MESSAGE:{}",e.getMessage());
}
if(nftOrderBo.getNftPublishStatus().equalsIgnoreCase(GalaxyEnum.TaskStatusEnum.TASK_SUCCESS.getCode())){
GalaxyNftTradeVo nftTradeVo = GalaxyBeanTransferBiz.buildNftTradeVo(GalaxyEnum.TradeTypeEnum.TRADE_PUBLISH,nftOrderBo);
this.setNftTradeInfo(routerType,nftTradeVo);
}
}
......@@ -386,7 +392,7 @@ public abstract class AbstractDataUtils {
String nowTimeStr = DateUtil.Formatter.yyyyMMddHHmmss.format(nftOrderBo.getUpdatedAt());
update.set("updatedAt",nowTimeStr);
UpdateResult result = this.getMongoTemplate().updateFirst(query,update, GalaxyNftOrderVo.class,GalaxyNftOrderVo.class.getSimpleName());
log.info("updateNftOrderInfo result:{}",result.toString());
log.info("updateNftOrderBuyInfo result:{}",result.toString());
try{
this.getQueueUtil().sendMySqlRedis(
......@@ -400,6 +406,11 @@ public abstract class AbstractDataUtils {
log.error(e.getMessage(),e);
log.error("#setNftTradeInfo error ==> MESSAGE:{}",e.getMessage());
}
if(nftOrderBo.getNftBuyStatus().equalsIgnoreCase(GalaxyEnum.TaskStatusEnum.TASK_SUCCESS.getCode())){
GalaxyNftTradeVo nftTradeVo = GalaxyBeanTransferBiz.buildNftTradeVo(GalaxyEnum.TradeTypeEnum.TRADE_BUY,nftOrderBo);
this.setNftTradeInfo(routerType,nftTradeVo);
}
}
public void setGalaxyNftOrderBindBo(String routerType,String nftOrderPayId, GalaxyNftOrderBindBo nftOrderBindBo) {
......@@ -429,21 +440,23 @@ public abstract class AbstractDataUtils {
}
public void setNftTradeInfo(String routerType, GalaxyNftTradeVo nftTradeVo) {
/**
* 入库mongo
*/
this.getMongoTemplate().save(nftTradeVo,GalaxyNftTradeVo.class.getSimpleName());
// insert into galaxy_nft_trade_info (user_id, nft_id, nft_name, series_name, series_id,
// series_code, trade_hash,chain_timestamp, from_address, to_address,
// trade_price, trade_type, router_type,created_at, updated_at)
try{
/**
* 发行成功记录入库mongo
*/
this.getMongoTemplate().save(nftTradeVo,GalaxyNftTradeVo.class.getSimpleName());
// insert into galaxy_nft_trade_info (user_id, nft_id, nft_name, series_name, series_id,
// series_code, trade_hash,chain_timestamp, from_address, to_address,
// trade_price, trade_type, router_type,created_at, updated_at)
/**
* 发行成功记录入库mysql
*/
this.getQueueUtil().sendMySqlRedis(
SqlMapping.get("galaxy_nft_trade_info.insert"),
new Object[]{nftTradeVo.getUserId(),nftTradeVo.getNftId(),nftTradeVo.getNftName(),nftTradeVo.getSeriesName(),nftTradeVo.getSeriesId(),
nftTradeVo.getSeriesCode(),nftTradeVo.getTradeHash(),nftTradeVo.getChainTimestamp(),nftTradeVo.getFromAddress(),nftTradeVo.getToAddress(),
nftTradeVo.getTradePrice(),nftTradeVo.getTradeType(),nftTradeVo.getRouterType(),LocalDateTime.now(),null
}
nftTradeVo.getTradePrice(),nftTradeVo.getTradeType(),nftTradeVo.getRouterType(),LocalDateTime.now(),nftTradeVo.getUpdatedAt()}
, MQConst.GalaxyQueue.SQL_NFT_TRADE_INFO.getKey()
);
}catch(Exception e){
......
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