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

Commit 27a723a8 authored by anjiabin's avatar anjiabin

实现百度链转让-消费

parent 75cd17ba
...@@ -19,7 +19,8 @@ public class GalaxyConstant { ...@@ -19,7 +19,8 @@ public class GalaxyConstant {
public static final String REDIS_KEY_GALAXY_SERIES_NFT="galaxy:series:nft:"; public static final String REDIS_KEY_GALAXY_SERIES_NFT="galaxy:series:nft:";
public static final String REDIS_KEY_GALAXY_TRADE_ORDER="galaxy:trade:order:"; public static final String REDIS_KEY_GALAXY_TRADE_ORDER="galaxy:trade:order:";
public static final String REDIS_KEY_GALAXY_PUBLISH_ORDER="galaxy:publish:order:";//订单与索引绑定信息 public static final String REDIS_KEY_GALAXY_PUBLISH_ORDER="galaxy:publish:order:";//订单与索引绑定信息
public static final String REDIS_KEY_GALAXY_TRANSFER_NFTID = "galaxy:transfer:nftid:";// public static final String REDIS_KEY_GALAXY_TRANSFER_NFTID = "galaxy:transfer:nft:";//
public static final String REDIS_KEY_GALAXY_TRANSFER_ORDER= "galaxy:transfer:order:";//
//以下禁止删除 //以下禁止删除
public static final String REDIS_KEY_GALAXY_PUBLISH_NFT="galaxy:publish:nft:"; //nft索引递增记录 public static final String REDIS_KEY_GALAXY_PUBLISH_NFT="galaxy:publish:nft:"; //nft索引递增记录
......
...@@ -35,13 +35,14 @@ public enum GalaxyErrorEnum { ...@@ -35,13 +35,14 @@ public enum GalaxyErrorEnum {
NFT_USER_HAS_OPEN_ACCOUNT("NFT0010023","用户已经开通过数字账户!"), NFT_USER_HAS_OPEN_ACCOUNT("NFT0010023","用户已经开通过数字账户!"),
SERIES_NFT_INFO_NOT_EXIST("NFT0010024","系列NFT信息查询不存在!"), SERIES_NFT_INFO_NOT_EXIST("NFT0010024","系列NFT信息查询不存在!"),
SERIES_NFT_HASH_CREATE_FAIL("NFT0010025","系列NFT的介质hash生成失败!"), SERIES_NFT_HASH_CREATE_FAIL("NFT0010025","系列NFT的介质hash生成失败!"),
NFT_TRANSFER_FAIL("NFT0010026","NFT转让失败"), NFT_TRANSFER_FAIL("NFT0010026","NFT转让失败"),
NFT_TRANSFER_FAIL_OWNER_NOT_EXIST("NFT0010027","NFT转让失败,拥有者不存在!"), NFT_TRANSFER_FAIL_OWNER_NOT_EXIST("NFT0010027","NFT转让失败,拥有者不存在!"),
NFT_TRANSFER_FAIL_RECEIVER_NOT_EXIST("NFT0010028","NFT转让失败,接收者不存在!"), NFT_TRANSFER_FAIL_RECEIVER_NOT_EXIST("NFT0010028","NFT转让失败,接收者不存在!"),
NFT_TRANSFER_OWNER_MATCH_ERROR("NFT0010029","NFT转让失败,拥有者不匹配"), NFT_TRANSFER_OWNER_MATCH_ERROR("NFT0010029","NFT转让失败,拥有者不匹配"),
NFT_TRANSFERING_ERROR("NFT0010030","NFT正在转让中,不允许再次操作!"), NFT_TRANSFERING_ERROR("NFT0010030","NFT正在转让中,不允许再次操作!"),
NFT_TRANSFER_NFTID_FORMAT_ERROR("NFT0010031","NFT转让失败,nftid格式错误!"), NFT_TRANSFER_NFTID_FORMAT_ERROR("NFT0010031","NFT转让失败,nftid格式错误!"),
NFT_TRANSFER_QUERY_ERROR("NFT0010032","NFT转让结果查询失败,nft信息不存在!"); NFT_TRANSFER_QUERY_ERROR("NFT0010032","NFT转让结果查询失败,nft信息不存在!"),
NFT_TRANSFER_ERROR("NFT0010033","NFT转让异常,允许再次发起!");
private String code; private String code;
......
...@@ -16,6 +16,10 @@ import java.io.Serializable; ...@@ -16,6 +16,10 @@ import java.io.Serializable;
*/ */
@Data @Data
public class GalaxyTransferNftInfoBo implements Serializable,Cloneable{ public class GalaxyTransferNftInfoBo implements Serializable,Cloneable{
/**
* 转让流水号(平台转让订单id)
*/
private String transOrderId;
/** /**
* nft唯一资产碎片id * nft唯一资产碎片id
*/ */
......
...@@ -21,6 +21,15 @@ import java.io.Serializable; ...@@ -21,6 +21,15 @@ import java.io.Serializable;
@ApiModel(value = "GalaxyNftTransferReqDto", description = "NFT转让") @ApiModel(value = "GalaxyNftTransferReqDto", description = "NFT转让")
@Data @Data
public class GalaxyNftTransferReqDto extends GalaxyBaseReqDto implements Serializable,Cloneable { public class GalaxyNftTransferReqDto extends GalaxyBaseReqDto implements Serializable,Cloneable {
/**
* nft转让流水号
*/
@ApiModelProperty(position = 1, required = true, value = "nft转让流水号(保证唯一),不超过30个字符")
@NotBlank(message = "nft转让流水号(平台订单id)不能为空")
@Size(min = 2, max = 30, message = "nft转让流水号(平台订单id)限制2-30位且不能包含特殊字符")
private String transOrderId;
/** /**
* 用户id * 用户id
*/ */
......
...@@ -30,9 +30,9 @@ public class ConsumerGalaxyJsonNftTransferReceiver extends AbstractBizRedisRecei ...@@ -30,9 +30,9 @@ public class ConsumerGalaxyJsonNftTransferReceiver extends AbstractBizRedisRecei
} else { } else {
//执行计数 //执行计数
ResponseDto<GalaxyNftTransferRespDto> responseDto = this.nftTransfer(textMessage); ResponseDto<GalaxyNftTransferRespDto> responseDto = this.nftTransfer(textMessage);
// if(responseDto.isSuccess()){ if(responseDto.isSuccess()){
aBoolean = true; aBoolean = true;
// } }
} }
} catch (Exception e) { } catch (Exception e) {
log.error("CONSUMER MSG EX_HANDLE ==> [{}]:{}", this.getRedisStreamKey(), msg, e); log.error("CONSUMER MSG EX_HANDLE ==> [{}]:{}", this.getRedisStreamKey(), msg, e);
......
...@@ -149,6 +149,7 @@ public class GalaxyBeanTransferBiz { ...@@ -149,6 +149,7 @@ public class GalaxyBeanTransferBiz {
*/ */
public GalaxyTransferNftInfoBo buildTransferNftInfoBo(GalaxyNftTransferReqDto reqDto,GalaxyUserInfoBo userInfoBo,GalaxyUserInfoBo receiveUserInfoBo){ public GalaxyTransferNftInfoBo buildTransferNftInfoBo(GalaxyNftTransferReqDto reqDto,GalaxyUserInfoBo userInfoBo,GalaxyUserInfoBo receiveUserInfoBo){
GalaxyTransferNftInfoBo transferNftInfoBo = GalaxyTransferNftInfoBo.getNew(); GalaxyTransferNftInfoBo transferNftInfoBo = GalaxyTransferNftInfoBo.getNew();
transferNftInfoBo.setTransOrderId(reqDto.getTransOrderId());
transferNftInfoBo.setNftId(reqDto.getNftId()); transferNftInfoBo.setNftId(reqDto.getNftId());
transferNftInfoBo.setUserId(reqDto.getUserId()); transferNftInfoBo.setUserId(reqDto.getUserId());
transferNftInfoBo.setAddress(userInfoBo.getBlockChainAddress()); transferNftInfoBo.setAddress(userInfoBo.getBlockChainAddress());
......
...@@ -536,21 +536,34 @@ public abstract class AbstractDataUtils { ...@@ -536,21 +536,34 @@ public abstract class AbstractDataUtils {
/** /**
* 创建nft转让信息 * 创建nft转让信息
* @param routerType * @param routerType
* @param nftId * @param transOrderId
* @param transferNftInfoBo * @param transferNftInfoBo
*/ */
public void setGalaxyTransferNftInfoBo(String routerType,String nftId, GalaxyTransferNftInfoBo transferNftInfoBo) { public void setGalaxyTransferNftInfoBo(String routerType,String transOrderId, GalaxyTransferNftInfoBo transferNftInfoBo) {
this.getRedisUtil().set(GalaxyConstant.REDIS_KEY_GALAXY_TRANSFER_NFTID.concat(routerType).concat(":") + nftId,transferNftInfoBo); this.getRedisUtil().set(GalaxyConstant.REDIS_KEY_GALAXY_TRANSFER_ORDER.concat(routerType).concat(":") + transOrderId,transferNftInfoBo);
try{
this.getQueueUtil().sendMySqlRedis(
SqlMapping.get("galaxy_nft_transfer_info.insert"),
new Object[]{transferNftInfoBo.getTransOrderId(),transferNftInfoBo.getNftId(),transferNftInfoBo.getUserId(),transferNftInfoBo.getAddress(),transferNftInfoBo.getReceiveUserId(),transferNftInfoBo.getReceiveAddress(),
transferNftInfoBo.getOwnerUserId(),transferNftInfoBo.getOwnerAddress(),transferNftInfoBo.getTransferHash(),transferNftInfoBo.getSeriesId(),transferNftInfoBo.getRouterType(),
transferNftInfoBo.getTransferStatus(),transferNftInfoBo.getErrorCode(),transferNftInfoBo.getErrorMsg(),transferNftInfoBo.getCreatedAt(),transferNftInfoBo.getUpdatedAt()}
, MQConst.GalaxyQueue.SQL_NFT_TRADE_INFO.getKey()
);
}catch(Exception e){
log.error(e.getMessage(),e);
log.error("#setGalaxyTransferNftInfoBo error ==> MESSAGE:{}",e.getMessage());
}
} }
/** /**
* 获取nft转让信息 * 获取nft转让信息
* @param routerType * @param routerType
* @param nftId * @param transOrderId
* @return * @return
*/ */
public GalaxyTransferNftInfoBo getGalaxyTransferNftInfoBo(String routerType,String nftId) { public GalaxyTransferNftInfoBo getGalaxyTransferNftInfoBo(String routerType,String transOrderId) {
String redisKey = GalaxyConstant.REDIS_KEY_GALAXY_TRANSFER_NFTID.concat(routerType).concat(":") + nftId; String redisKey = GalaxyConstant.REDIS_KEY_GALAXY_TRANSFER_ORDER.concat(routerType).concat(":") + transOrderId;
Object obj = this.getRedisUtil().get(redisKey); Object obj = this.getRedisUtil().get(redisKey);
if(obj!=null){ if(obj!=null){
return (GalaxyTransferNftInfoBo) obj; return (GalaxyTransferNftInfoBo) obj;
...@@ -561,23 +574,25 @@ public abstract class AbstractDataUtils { ...@@ -561,23 +574,25 @@ public abstract class AbstractDataUtils {
/** /**
* 更新nft转移信息 * 更新nft转移信息
* @param routerType * @param routerType
* @param nftId * @param transOrderId
* @param transferNftInfoBo * @param transferNftInfoBo
*/ */
public void updateTransferNftInfoBo(String routerType,String nftId, GalaxyTransferNftInfoBo transferNftInfoBo) { public void updateTransferNftInfoBo(String routerType,String transOrderId, GalaxyTransferNftInfoBo transferNftInfoBo) {
this.getRedisUtil().set(GalaxyConstant.REDIS_KEY_GALAXY_TRANSFER_NFTID.concat(routerType).concat(":") + nftId,transferNftInfoBo); this.getRedisUtil().set(GalaxyConstant.REDIS_KEY_GALAXY_TRANSFER_ORDER.concat(routerType).concat(":") + transOrderId,transferNftInfoBo);
// 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.nft_id = ?
try{ try{
this.getQueueUtil().sendMySqlRedis( this.getQueueUtil().sendMySqlRedis(
SqlMapping.get("galaxy_nft_transfer_info.insert"), SqlMapping.get("galaxy_nft_transfer_info.updateNftTransferInfo"),
new Object[]{transferNftInfoBo.getUserId(),transferNftInfoBo.getNftId(),transferNftInfoBo.getAddress(),transferNftInfoBo.getReceiveUserId(),transferNftInfoBo.getReceiveAddress(), new Object[]{transferNftInfoBo.getTransOrderId(),transferNftInfoBo.getNftId(),transferNftInfoBo.getUserId(),transferNftInfoBo.getAddress(),transferNftInfoBo.getReceiveUserId(),transferNftInfoBo.getReceiveAddress(),
transferNftInfoBo.getOwnerUserId(),transferNftInfoBo.getOwnerAddress(),transferNftInfoBo.getTransferHash(),transferNftInfoBo.getSeriesId(),transferNftInfoBo.getRouterType(), transferNftInfoBo.getOwnerUserId(),transferNftInfoBo.getOwnerAddress(),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()
); );
}catch(Exception e){ }catch(Exception e){
log.error(e.getMessage(),e); log.error(e.getMessage(),e);
log.error("#setNftTradeInfo error ==> MESSAGE:{}",e.getMessage()); log.error("#setGalaxyTransferNftInfoBo error ==> MESSAGE:{}",e.getMessage());
} }
} }
} }
...@@ -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 (user_id, nft_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,user_id, nft_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_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.nft_id = ? 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 = ?
...@@ -19,22 +19,24 @@ drop TABLE if exists `galaxy_nft_transfer_info`; ...@@ -19,22 +19,24 @@ drop TABLE if exists `galaxy_nft_transfer_info`;
create table galaxy_nft_transfer_info create table galaxy_nft_transfer_info
( (
mid bigint unsigned NOT NULL AUTO_INCREMENT, mid bigint unsigned NOT NULL AUTO_INCREMENT,
user_id varchar(200) NOT NULL COMMENT '用户ID', trans_order_id varchar(100) NOT NULL COMMENT '转让订单id',
nft_id varchar(200) COMMENT 'nftId', nft_id varchar(200) COMMENT 'nftId',
user_id varchar(200) NOT NULL COMMENT '用户ID',
address varchar(200) COMMENT '转出方地址', address varchar(200) COMMENT '转出方地址',
receive_user_id varchar(200) NOT NULL COMMENT '接收者用户id', receive_user_id varchar(200) NOT NULL COMMENT '接收者用户id',
receive_address varchar(200) NOT NULL COMMENT '接收者地址', receive_address varchar(200) NOT NULL COMMENT '接收者地址',
owner_user_id varchar(200) NOT NULL COMMENT '拥有者用户id', owner_user_id varchar(200) COMMENT '拥有者用户id',
owner_address varchar(200) NOT NULL COMMENT '拥有者地址', owner_address varchar(200) COMMENT '拥有者地址',
transfer_hash varchar(200) NOT NULL COMMENT '转让hash', transfer_hash varchar(200) COMMENT '转让hash',
series_id varchar(200) COMMENT '系列的唯一Id', series_id varchar(200) COMMENT '系列的唯一Id',
router_type varchar(20) NOT NULL COMMENT '路由类型(zxinchain、eth、antchain)', router_type varchar(20) NOT NULL COMMENT '路由类型(zxinchain、eth、antchain)',
transfer_status varchar(30) NOT NULL COMMENT '转让状态(-1初始化 0转让中 1转让成功 2转让失败 )', transfer_status varchar(30) NOT NULL COMMENT '转让状态(-1初始化 0转让中 1转让成功 2转让失败 )',
error_code varchar(200) NOT NULL COMMENT '错误code', error_code varchar(200) COMMENT '错误code',
error_msg varchar(200) COMMENT '错误信息', error_msg varchar(200) COMMENT '错误信息',
created_at timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', created_at timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
updated_at timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', updated_at timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`mid`) PRIMARY KEY (`mid`)
) ENGINE = InnoDB comment '数字藏品转让信息'; ) ENGINE = InnoDB comment '数字藏品转让信息';
create index gntri_idx_trans_order_id on galaxy_nft_transfer_info (trans_order_id);
create index gntri_idx_user_id on galaxy_nft_transfer_info (user_id); create index gntri_idx_user_id on galaxy_nft_transfer_info (user_id);
create index gntri_idx_nft_id on galaxy_nft_transfer_info (nft_id); create index gntri_idx_nft_id on galaxy_nft_transfer_info (nft_id);
...@@ -195,18 +195,17 @@ public class XuperTradeBiz { ...@@ -195,18 +195,17 @@ public class XuperTradeBiz {
return ResponseDto.failure(GalaxyErrorEnum.NFT_TRANSFER_FAIL_RECEIVER_NOT_EXIST.getCode(), GalaxyErrorEnum.NFT_TRANSFER_FAIL_RECEIVER_NOT_EXIST.getMessage()); return ResponseDto.failure(GalaxyErrorEnum.NFT_TRANSFER_FAIL_RECEIVER_NOT_EXIST.getCode(), GalaxyErrorEnum.NFT_TRANSFER_FAIL_RECEIVER_NOT_EXIST.getMessage());
} }
GalaxyTransferNftInfoBo transferNftInfoBo = dataUtils.getGalaxyTransferNftInfoBo(reqDto.getRouterType(),reqDto.getNftId()); GalaxyTransferNftInfoBo transferNftInfoBo = dataUtils.getGalaxyTransferNftInfoBo(reqDto.getRouterType(),reqDto.getTransOrderId());
//初始化转让信息 //初始化转让信息
if(transferNftInfoBo==null){ if(transferNftInfoBo==null){
transferNftInfoBo = galaxyBeanTransferBiz.buildTransferNftInfoBo(reqDto,userInfoBo,receiveUserInfoBo); transferNftInfoBo = galaxyBeanTransferBiz.buildTransferNftInfoBo(reqDto,userInfoBo,receiveUserInfoBo);
dataUtils.setGalaxyTransferNftInfoBo(reqDto.getRouterType(),reqDto.getNftId(),transferNftInfoBo); dataUtils.setGalaxyTransferNftInfoBo(reqDto.getRouterType(),reqDto.getTransOrderId(),transferNftInfoBo);
}else{ }else{
//判断藏品当前拥有者是否匹配 //判断藏品当前拥有者是否匹配
if(transferNftInfoBo.getUserId().equalsIgnoreCase(reqDto.getUserId())){ if(transferNftInfoBo.getUserId().equalsIgnoreCase(reqDto.getUserId())){
if(transferNftInfoBo.getTransferStatus().equalsIgnoreCase(GalaxyEnum.NftTransferStatusEnum.PROCESSING.getCode())){ if(transferNftInfoBo.getTransferStatus().equalsIgnoreCase(GalaxyEnum.NftTransferStatusEnum.PROCESSING.getCode())){
//获取查询结果 GalaxyNftTransferRespDto galaxyNftTransferRespDto = galaxyBeanTransferBiz.buildNftTransferRespDto(reqDto,userInfoBo,receiveUserInfoBo,transferNftInfoBo);
return ResponseDto.success(galaxyNftTransferRespDto);
return ResponseDto.success();
}else if(transferNftInfoBo.getTransferStatus().equalsIgnoreCase(GalaxyEnum.NftTransferStatusEnum.SUCCESS.getCode())){ }else if(transferNftInfoBo.getTransferStatus().equalsIgnoreCase(GalaxyEnum.NftTransferStatusEnum.SUCCESS.getCode())){
GalaxyNftTransferRespDto galaxyNftTransferRespDto = galaxyBeanTransferBiz.buildNftTransferRespDto(reqDto,userInfoBo,receiveUserInfoBo,transferNftInfoBo); GalaxyNftTransferRespDto galaxyNftTransferRespDto = galaxyBeanTransferBiz.buildNftTransferRespDto(reqDto,userInfoBo,receiveUserInfoBo,transferNftInfoBo);
return ResponseDto.success(galaxyNftTransferRespDto); return ResponseDto.success(galaxyNftTransferRespDto);
...@@ -214,6 +213,10 @@ public class XuperTradeBiz { ...@@ -214,6 +213,10 @@ public class XuperTradeBiz {
return ResponseDto.failure(GalaxyErrorEnum.NFT_TRANSFERING_ERROR.getCode(), GalaxyErrorEnum.NFT_TRANSFERING_ERROR.getMessage()); return ResponseDto.failure(GalaxyErrorEnum.NFT_TRANSFERING_ERROR.getCode(), GalaxyErrorEnum.NFT_TRANSFERING_ERROR.getMessage());
} }
}else{ }else{
transferNftInfoBo.setErrorCode(GalaxyErrorEnum.NFT_TRANSFER_OWNER_MATCH_ERROR.getCode());
transferNftInfoBo.setErrorMsg(GalaxyErrorEnum.NFT_TRANSFER_OWNER_MATCH_ERROR.getMessage());
transferNftInfoBo.setUpdatedAt(DateUtil.getNowTime());
dataUtils.updateTransferNftInfoBo(reqDto.getRouterType(),reqDto.getTransOrderId(),transferNftInfoBo);
return ResponseDto.failure(GalaxyErrorEnum.NFT_TRANSFER_OWNER_MATCH_ERROR.getCode(), GalaxyErrorEnum.NFT_TRANSFER_OWNER_MATCH_ERROR.getMessage()); return ResponseDto.failure(GalaxyErrorEnum.NFT_TRANSFER_OWNER_MATCH_ERROR.getCode(), GalaxyErrorEnum.NFT_TRANSFER_OWNER_MATCH_ERROR.getMessage());
} }
} }
...@@ -224,9 +227,9 @@ public class XuperTradeBiz { ...@@ -224,9 +227,9 @@ public class XuperTradeBiz {
Long shardId = null; Long shardId = null;
//拆分nftId 格式 {assetId_shardId} //拆分nftId 格式 {assetId_shardId}
if(StringUtil.isNotEmpty(reqDto.getNftId())){ if(StringUtil.isNotEmpty(transferNftInfoBo.getNftId())){
assetId = Long.parseLong(reqDto.getNftId().substring(0,reqDto.getNftId().lastIndexOf("_"))); assetId = Long.parseLong(transferNftInfoBo.getNftId().substring(0,reqDto.getNftId().lastIndexOf("_")));
shardId = Long.parseLong(reqDto.getNftId().substring(reqDto.getNftId().lastIndexOf("_")+1,reqDto.getNftId().length())); shardId = Long.parseLong(transferNftInfoBo.getNftId().substring(reqDto.getNftId().lastIndexOf("_")+1,reqDto.getNftId().length()));
}else{ }else{
return ResponseDto.failure(GalaxyErrorEnum.NFT_TRANSFER_NFTID_FORMAT_ERROR.getCode(), GalaxyErrorEnum.NFT_TRANSFER_NFTID_FORMAT_ERROR.getMessage()); return ResponseDto.failure(GalaxyErrorEnum.NFT_TRANSFER_NFTID_FORMAT_ERROR.getCode(), GalaxyErrorEnum.NFT_TRANSFER_NFTID_FORMAT_ERROR.getMessage());
} }
......
...@@ -72,9 +72,9 @@ public class GalaxyTradeServiceImpl implements IGalaxyTradeService { ...@@ -72,9 +72,9 @@ public class GalaxyTradeServiceImpl implements IGalaxyTradeService {
public ResponseDto<GalaxyNftTransferRespDto> nftTransfer(GalaxyNftTransferReqDto reqDto) { public ResponseDto<GalaxyNftTransferRespDto> nftTransfer(GalaxyNftTransferReqDto reqDto) {
ResponseDto<GalaxyNftTransferRespDto> responseDto = galaxyRouterStrategyContext.getTradeStrategy(reqDto.getRouterType()).nftTransfer(reqDto); ResponseDto<GalaxyNftTransferRespDto> responseDto = galaxyRouterStrategyContext.getTradeStrategy(reqDto.getRouterType()).nftTransfer(reqDto);
if(!responseDto.isSuccess()){ if(!responseDto.isSuccess()){
//系统异常允许重试,业务异常不允许重试 //系统异常允许重试
if(responseDto.getCode().equalsIgnoreCase(GalaxyErrorEnum.NFT_TRANSFER_FAIL.getCode())){ if(responseDto.getCode().equalsIgnoreCase(GalaxyErrorEnum.NFT_TRANSFER_ERROR.getCode())){
queueUtil.sendMsgByRedis(MQConst.GalaxyQueue.JSON_NFT_PUBLISH_AND_BUY.getKey(), JsonUtils.toJson(reqDto)); queueUtil.sendMsgByRedis(MQConst.GalaxyQueue.JSON_NFT_TRANSFER.getKey(), JsonUtils.toJson(reqDto));
} }
} }
return ResponseDto.success(); return ResponseDto.success();
......
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