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

Commit efda1c58 authored by anjiabin's avatar anjiabin

实现至信链转让相关逻辑

parent 62b5ebc3
...@@ -186,6 +186,7 @@ public class GalaxyBeanTransferBiz { ...@@ -186,6 +186,7 @@ public class GalaxyBeanTransferBiz {
respDto.setFromUserId(userInfoBo.getUserId()); respDto.setFromUserId(userInfoBo.getUserId());
respDto.setFromAddress(userInfoBo.getBlockChainAddress()); respDto.setFromAddress(userInfoBo.getBlockChainAddress());
respDto.setTransferTime(DateUtil.getNowTime()); respDto.setTransferTime(DateUtil.getNowTime());
respDto.setRouterType(transferNftInfoBo.getRouterType());
respDto.setTransferHash(transferNftInfoBo.getTransferHash()); respDto.setTransferHash(transferNftInfoBo.getTransferHash());
return respDto; return respDto;
} }
......
...@@ -545,8 +545,11 @@ public abstract class AbstractDataUtils { ...@@ -545,8 +545,11 @@ public abstract class AbstractDataUtils {
try{ try{
this.getQueueUtil().sendMySqlRedis( this.getQueueUtil().sendMySqlRedis(
SqlMapping.get("galaxy_nft_transfer_info.insert"), SqlMapping.get("galaxy_nft_transfer_info.insert"),
new Object[]{transferNftInfoBo.getTransOrderId(),transferNftInfoBo.getNftId(),transferNftInfoBo.getUserId(),transferNftInfoBo.getAddress(),transferNftInfoBo.getReceiveUserId(),transferNftInfoBo.getReceiveAddress(), new Object[]{transferNftInfoBo.getTransOrderId(),transferNftInfoBo.getNftId(),transferNftInfoBo.getUserId(),transferNftInfoBo.getAddress()
transferNftInfoBo.getOwnerUserId(),transferNftInfoBo.getOwnerAddress(),transferNftInfoBo.getTransferHash(),transferNftInfoBo.getSeriesId(),transferNftInfoBo.getRouterType(), ,transferNftInfoBo.getReceiveUserId(),transferNftInfoBo.getReceiveAddress()
,transferNftInfoBo.getOwnerUserId(),transferNftInfoBo.getOwnerAddress()
,transferNftInfoBo.getNftTransferTaskId(),transferNftInfoBo.getNftTransferChainTimestamp()
,transferNftInfoBo.getTransferHash(),transferNftInfoBo.getSeriesId(),transferNftInfoBo.getRouterType(),
transferNftInfoBo.getTransferStatus(),transferNftInfoBo.getErrorCode(),transferNftInfoBo.getErrorMsg(),transferNftInfoBo.getCreatedAt(),transferNftInfoBo.getUpdatedAt()} transferNftInfoBo.getTransferStatus(),transferNftInfoBo.getErrorCode(),transferNftInfoBo.getErrorMsg(),transferNftInfoBo.getCreatedAt(),transferNftInfoBo.getUpdatedAt()}
, MQConst.GalaxyQueue.SQL_NFT_TRADE_INFO.getKey() , MQConst.GalaxyQueue.SQL_NFT_TRADE_INFO.getKey()
); );
...@@ -583,8 +586,10 @@ public abstract class AbstractDataUtils { ...@@ -583,8 +586,10 @@ public abstract class AbstractDataUtils {
try{ try{
this.getQueueUtil().sendMySqlRedis( this.getQueueUtil().sendMySqlRedis(
SqlMapping.get("galaxy_nft_transfer_info.updateNftTransferInfo"), SqlMapping.get("galaxy_nft_transfer_info.updateNftTransferInfo"),
new Object[]{transferNftInfoBo.getOwnerUserId(),transferNftInfoBo.getOwnerAddress(),transferNftInfoBo.getTransferHash(), new Object[]{transferNftInfoBo.getOwnerUserId(),transferNftInfoBo.getOwnerAddress()
transferNftInfoBo.getTransferStatus(),transferNftInfoBo.getErrorCode(),transferNftInfoBo.getErrorMsg() ,transferNftInfoBo.getNftTransferTaskId(),transferNftInfoBo.getNftTransferChainTimestamp()
,transferNftInfoBo.getTransferHash()
,transferNftInfoBo.getTransferStatus(),transferNftInfoBo.getErrorCode(),transferNftInfoBo.getErrorMsg()
,transferNftInfoBo.getUpdatedAt(),transferNftInfoBo.getTransOrderId()} ,transferNftInfoBo.getUpdatedAt(),transferNftInfoBo.getTransOrderId()}
, MQConst.GalaxyQueue.SQL_NFT_TRADE_INFO.getKey() , MQConst.GalaxyQueue.SQL_NFT_TRADE_INFO.getKey()
); );
......
...@@ -11,7 +11,7 @@ galaxy_nft_trade_info.insert=insert into galaxy_nft_trade_info (user_id, nft_id, ...@@ -11,7 +11,7 @@ galaxy_nft_trade_info.insert=insert into galaxy_nft_trade_info (user_id, nft_id,
# ------------------------数字藏品发行购买失败记录---------------------------- # ------------------------数字藏品发行购买失败记录----------------------------
galaxy_nft_order_fail_log.insert=insert into galaxy_nft_order_fail_log (nft_order_pay_id, user_id, nft_id, nft_name, series_name, series_id,series_code, taskId, fail_reason_desc, fail_reason_desc_second, deal_with_status, trade_type,router_type, created_at, updated_at)values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) galaxy_nft_order_fail_log.insert=insert into galaxy_nft_order_fail_log (nft_order_pay_id, user_id, nft_id, nft_name, series_name, series_id,series_code, taskId, fail_reason_desc, fail_reason_desc_second, deal_with_status, trade_type,router_type, created_at, updated_at)values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
# ------------------------数字藏品转让记录---------------------------- # ------------------------数字藏品转让记录----------------------------
galaxy_nft_transfer_info.insert=insert into galaxy_nft_transfer_info (trans_order_id,nft_id,user_id, address, receive_user_id, receive_address, owner_user_id,owner_address, transfer_hash, series_id, router_type, transfer_status, error_code,error_msg, created_at, updated_at) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) galaxy_nft_transfer_info.insert=insert into galaxy_nft_transfer_info (trans_order_id,nft_id,user_id, address, receive_user_id, receive_address, owner_user_id,owner_address,nft_transfer_task_id,nft_transfer_chain_timestamp,transfer_hash, series_id, router_type, transfer_status, error_code,error_msg, created_at, updated_at) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
# ------------------------更新用户注册信息---------------------------- # ------------------------更新用户注册信息----------------------------
galaxy_user_info.update=update galaxy_user_info set user_name = ?,id_card_type = ?,id_card = ?,mobile = ?,block_chain_address = ?,user_identification = ?,updated_at =? where router_type = ? and user_id = ? galaxy_user_info.update=update galaxy_user_info set user_name = ?,id_card_type = ?,id_card = ?,mobile = ?,block_chain_address = ?,user_identification = ?,updated_at =? where router_type = ? and user_id = ?
...@@ -34,4 +34,4 @@ galaxy_series_nft_info.updateSeriesNftPublishStatus=update galaxy_series_nft_inf ...@@ -34,4 +34,4 @@ galaxy_series_nft_info.updateSeriesNftPublishStatus=update galaxy_series_nft_inf
# ------------------------同步用户数字账户信息到adam--------------------------- # ------------------------同步用户数字账户信息到adam---------------------------
adam_user_busi_acct.add=INSERT INTO adam_user_busi_acct (`uid`, busi, uuid, `work`, ppwd, `state`, created_at) VALUES (?,?,?,?,?,?,?) adam_user_busi_acct.add=INSERT INTO adam_user_busi_acct (`uid`, busi, uuid, `work`, ppwd, `state`, created_at) VALUES (?,?,?,?,?,?,?)
# ------------------------更新nft转让信息---------------------------- # ------------------------更新nft转让信息----------------------------
galaxy_nft_transfer_info.updateNftTransferInfo=update galaxy_nft_transfer_info t set t.owner_user_id = ?,t.owner_address = ?,t.transfer_hash =?,t.transfer_status =?,t.error_code =?,t.error_msg =? ,t.updated_at =? where t.trans_order_id = ? galaxy_nft_transfer_info.updateNftTransferInfo=update galaxy_nft_transfer_info t set t.owner_user_id = ?,t.owner_address = ?,t.nft_transfer_task_id =?,t.nft_transfer_chain_timestamp =?,t.transfer_hash =?,t.transfer_status =?,t.error_code =?,t.error_msg =? ,t.updated_at =? where t.trans_order_id = ?
alter table galaxy_nft_transfer_info
add nft_transfer_task_id varchar(100) null comment 'nft转让任务id' after owner_address;
alter table galaxy_nft_transfer_info
add nft_transfer_chain_timestamp varchar(30) null comment 'nft转让时间' after nft_transfer_task_id;
...@@ -399,13 +399,13 @@ public class ZxinTradeBiz { ...@@ -399,13 +399,13 @@ public class ZxinTradeBiz {
Integer nftTransferStatus = null; Integer nftTransferStatus = null;
String nftTransferTradeHash = null; String nftTransferTradeHash = null;
try { try {
//安家宾1 to 周焕2 //操作者的公钥和私钥
String pubKey = userInfoBo.getUserPubKey(); String pubKey = BASE64Util.decode(userInfoBo.getUserPubKey());
String priKey = userInfoBo.getUserPriKey(); String priKey = BASE64Util.decode(userInfoBo.getUserPriKey());
//nft接收者的地址 //nft接收者的地址
String receiverAddr = receiveUserInfoBo.getBlockChainAddress(); String receiverAddr = receiveUserInfoBo.getBlockChainAddress();
//要转移的nftId //要转移的nftId
String nftId = "43c169ae33d2ca5390a49d2319c14223ed5e7447c4b40c0422ef81691ddfee89_1"; String nftId = reqDto.getNftId();
//请求ID,每个请求需要填唯一的ID,重复请求用相同的id //请求ID,每个请求需要填唯一的ID,重复请求用相同的id
String operateId = IDGenerator.get32UUID(); String operateId = IDGenerator.get32UUID();
...@@ -445,7 +445,7 @@ public class ZxinTradeBiz { ...@@ -445,7 +445,7 @@ public class ZxinTradeBiz {
if (StringUtil.isNotEmpty(nftTransferTaskId)){ if (StringUtil.isNotEmpty(nftTransferTaskId)){
try{ try{
Nft049TransferResultReqDto nft049TransferResultReqDto = Nft049TransferResultReqDto.getNew(); Nft049TransferResultReqDto nft049TransferResultReqDto = Nft049TransferResultReqDto.getNew();
nft049TransferResultReqDto.setOperatorPubKey(userInfoBo.getUserPubKey()); nft049TransferResultReqDto.setOperatorPubKey(BASE64Util.decode(userInfoBo.getUserPubKey()));
nft049TransferResultReqDto.setTaskId(nftTransferTaskId); nft049TransferResultReqDto.setTaskId(nftTransferTaskId);
int count = 0; int count = 0;
...@@ -487,7 +487,19 @@ public class ZxinTradeBiz { ...@@ -487,7 +487,19 @@ public class ZxinTradeBiz {
} }
//更新转让状态和拥有者信息(只有成功才更新拥有者信息) //更新转让状态和拥有者信息(只有成功才更新拥有者信息)
transferNftInfoBo.setTransferStatus(GalaxyEnum.NftTransferStatusEnum.PROCESSING.getCode()); if(StringUtil.isNotNull(nftTransferChainTimestamp)){
//设置时间
String nftTransferChainTimestampStr = DateUtil.format(new Date(nftTransferChainTimestamp*1000),DateUtil.Formatter.yyyyMMddHHmmss);
transferNftInfoBo.setNftTransferChainTimestamp(nftTransferChainTimestampStr);
}
if(StringUtil.isNotNull(nftTransferStatus)){
//转换任务状态
String nftTransferStatusStr = GalaxyEnumBiz.getTransStatusEnum(reqDto.getRouterType(),nftTransferStatus.toString()).getCode();
transferNftInfoBo.setTransferStatus(nftTransferStatusStr);
}
transferNftInfoBo.setTransferHash(nftTransferTradeHash);
transferNftInfoBo.setOwnerUserId(transferNftInfoBo.getReceiveUserId());
transferNftInfoBo.setOwnerAddress(transferNftInfoBo.getReceiveAddress());
transferNftInfoBo.setUpdatedAt(DateUtil.getNowTime()); transferNftInfoBo.setUpdatedAt(DateUtil.getNowTime());
dataUtils.updateTransferNftInfoBo(reqDto.getRouterType(),reqDto.getTransOrderId(),transferNftInfoBo); dataUtils.updateTransferNftInfoBo(reqDto.getRouterType(),reqDto.getTransOrderId(),transferNftInfoBo);
......
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