记得上下班打卡 | git大法好,push需谨慎
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liquidnet-bus-v1
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
董敬伟
liquidnet-bus-v1
Commits
62fefc75
Commit
62fefc75
authored
Apr 20, 2022
by
anjiabin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
更新购买逻辑修复购买失败记录
parent
0b831df9
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
53 additions
and
39 deletions
+53
-39
ZxinTradeCommonBiz.java
...et/service/galaxy/router/zxin/biz/ZxinTradeCommonBiz.java
+53
-39
No files found.
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-common/src/main/java/com/liquidnet/service/galaxy/router/zxin/biz/ZxinTradeCommonBiz.java
View file @
62fefc75
...
...
@@ -75,10 +75,11 @@ public class ZxinTradeCommonBiz {
//获取订单信息
GalaxyNftOrderBo
nftOrderBo
=
dataUtils
.
getNftOrderBo
(
reqDto
.
getRouterType
(),
reqDto
.
getNftOrderPayId
());
if
(
StringUtil
.
isNotNull
(
nftOrderBo
)){
/**
* 如果已经发行购买成功
*/
//初始化订单数据
if
(
nftOrderBo
==
null
){
nftOrderBo
=
galaxyBeanTransferBiz
.
buildNftOrderBo
(
reqDto
.
getNftOrderPayId
(),
userInfoBo
,
seriesNftInfoBo
);
dataUtils
.
setNftOrderBo
(
reqDto
.
getRouterType
(),
reqDto
.
getNftOrderPayId
(),
nftOrderBo
);
}
else
if
(
StringUtil
.
isNotNull
(
nftOrderBo
)){
if
(
nftOrderBo
.
getNftPublishStatus
().
equalsIgnoreCase
(
GalaxyEnum
.
TaskStatusEnum
.
TASK_SUCCESS
.
getCode
())
&&
nftOrderBo
.
getNftBuyStatus
().
equalsIgnoreCase
(
GalaxyEnum
.
TaskStatusEnum
.
TASK_SUCCESS
.
getCode
())){
return
ResponseDto
.
failure
(
GalaxyErrorEnum
.
PUBLISH_FAIL_ALREADY_EXIST
.
getCode
(),
GalaxyErrorEnum
.
PUBLISH_FAIL_ALREADY_EXIST
.
getMessage
());
...
...
@@ -146,12 +147,6 @@ public class ZxinTradeCommonBiz {
}
seriesBeginIndex
=
nftOrderBindBo
.
getNftIdIndex
();
//初始化订单数据
if
(
nftOrderBo
==
null
){
nftOrderBo
=
galaxyBeanTransferBiz
.
buildNftOrderBo
(
reqDto
.
getNftOrderPayId
(),
userInfoBo
,
seriesNftInfoBo
);
dataUtils
.
setNftOrderBo
(
reqDto
.
getRouterType
(),
reqDto
.
getNftOrderPayId
(),
nftOrderBo
);
}
// //查询系列信息(暂时不通过系列查询获取发行序列号)
// Nft032SeriesReqDto nft032ReqDto = Nft032SeriesReqDto.getNew();
// nft032ReqDto.setSeriesId(seriesId);
...
...
@@ -165,33 +160,43 @@ public class ZxinTradeCommonBiz {
// seriesBeginIndex = Integer.parseInt(String.valueOf(crtCount.longValue() + 1));
// }
//3.1.2调用NFT发行接口
/**
*
发行无限制系列
*
如果已经发行购买成功
*/
Nft034PublishReqDto
nft034ReqDto
=
Nft034PublishReqDto
.
getNew
();
nft034ReqDto
.
setAuthor
(
author
);
nft034ReqDto
.
setName
(
nftName
);
nft034ReqDto
.
setUrl
(
nftUrl
);
nft034ReqDto
.
setDisplayUrl
(
displayUrl
);
nft034ReqDto
.
setDesc
(
nftDesc
);
nft034ReqDto
.
setFlag
(
nftFlag
);
nft034ReqDto
.
setPublishCount
(
publishCount
);
//无限制零系列
nft034ReqDto
.
setSeriesId
(
seriesId
);
nft034ReqDto
.
setSeriesBeginIndex
(
seriesBeginIndex
);
nft034ReqDto
.
setSellStatus
(
Integer
.
parseInt
(
ZxlnftEnum
.
SellStatusEnum
.
CAN_SELL
.
getCode
()));
nft034ReqDto
.
setSellCount
(
sellCount
);
nft034ReqDto
.
setOperateId
(
IDGenerator
.
get32UUID
());
nft034ReqDto
.
setMetaData
(
seriesNftInfoBo
.
getNftHash
());
ZxlnftResponseDto
<
Nft034PublishRespDto
>
nft034RespDto
=
zxlnftSdkUtil
.
nft034Publish
(
nft034ReqDto
);
if
(
nft034RespDto
.
isSuccess
())
{
try
{
if
(
nftOrderBo
.
getNftPublishStatus
().
equalsIgnoreCase
(
GalaxyEnum
.
TaskStatusEnum
.
PROCESSING
.
getCode
())){
if
(
StringUtil
.
isNotEmpty
(
nftOrderBo
.
getNftPublishTaskId
())){
publishTaskId
=
nftOrderBo
.
getNftPublishTaskId
();
}
}
else
if
(
nftOrderBo
.
getNftPublishStatus
().
equalsIgnoreCase
(
GalaxyEnum
.
TaskStatusEnum
.
INIT
.
getCode
())){
//3.1.2调用NFT发行接口
/**
* 发行无限制系列
*/
Nft034PublishReqDto
nft034ReqDto
=
Nft034PublishReqDto
.
getNew
();
nft034ReqDto
.
setAuthor
(
author
);
nft034ReqDto
.
setName
(
nftName
);
nft034ReqDto
.
setUrl
(
nftUrl
);
nft034ReqDto
.
setDisplayUrl
(
displayUrl
);
nft034ReqDto
.
setDesc
(
nftDesc
);
nft034ReqDto
.
setFlag
(
nftFlag
);
nft034ReqDto
.
setPublishCount
(
publishCount
);
//无限制零系列
nft034ReqDto
.
setSeriesId
(
seriesId
);
nft034ReqDto
.
setSeriesBeginIndex
(
seriesBeginIndex
);
nft034ReqDto
.
setSellStatus
(
Integer
.
parseInt
(
ZxlnftEnum
.
SellStatusEnum
.
CAN_SELL
.
getCode
()));
nft034ReqDto
.
setSellCount
(
sellCount
);
nft034ReqDto
.
setOperateId
(
IDGenerator
.
get32UUID
());
nft034ReqDto
.
setMetaData
(
seriesNftInfoBo
.
getNftHash
());
ZxlnftResponseDto
<
Nft034PublishRespDto
>
nft034RespDto
=
zxlnftSdkUtil
.
nft034Publish
(
nft034ReqDto
);
if
(
nft034RespDto
.
isSuccess
()){
publishTaskId
=
nft034RespDto
.
getData
().
getTaskId
();
nftOrderBo
.
setNftPublishTaskId
(
publishTaskId
);
}
}
if
(
StringUtil
.
isNotEmpty
(
publishTaskId
)){
try
{
//3.1.4查询 NFT发行结果
Nft035PublishResultReqDto
nft035ReqDto
=
Nft035PublishResultReqDto
.
getNew
();
nft035ReqDto
.
setTaskId
(
publishTaskId
);
...
...
@@ -226,6 +231,7 @@ public class ZxinTradeCommonBiz {
//赋值返回参数
nftId
=
nftIdBegin
;
nftOrderBo
.
setNftId
(
nftId
);
log
.
info
(
"发行NFT后返回给前端nftID:{}"
,
nftIdBegin
);
log
.
info
(
"总共执行了{}次查询 总耗时:{} MS"
,
count
,
(
System
.
currentTimeMillis
()
-
timeStart
));
}
catch
(
GalaxyNftPublishException
e
){
...
...
@@ -237,7 +243,7 @@ public class ZxinTradeCommonBiz {
}
}
else
{
//发行失败
throw
new
GalaxyNftPublishException
(
GalaxyErrorEnum
.
NFT_PUBLISH_ERROR
.
getCode
(),
"nft034Publish_resp:
"
+
nft034RespDto
.
getMessage
()
);
throw
new
GalaxyNftPublishException
(
GalaxyErrorEnum
.
NFT_PUBLISH_ERROR
.
getCode
(),
"nft034Publish_resp:
taskId : "
+
publishTaskId
);
}
}
catch
(
GalaxyNftPublishException
e
)
{
failDesc
=
e
.
getMessage
();
...
...
@@ -250,9 +256,18 @@ public class ZxinTradeCommonBiz {
if
(
StringUtil
.
isNotEmpty
(
failDesc
)){
//记录发行异常信息
try
{
GalaxyNftOrderFailLogVo
nftOrderFailLogVo
=
galaxyBeanTransferBiz
.
buildNftOrderFailLogVo
(
GalaxyEnum
.
TradeTypeEnum
.
TRADE_PUBLISH
,
reqDto
,
GalaxyEnum
.
OrderDealWithStatusEnum
.
DATA_INIT
,
failDesc
,
null
,
userInfoBo
,
seriesNftInfoBo
,
nftOrderBo
);
dataUtils
.
setNftOrderFailLogVo
(
reqDto
.
getRouterType
(),
nftOrderFailLogVo
);
//发行异常或者失败记录任务id
if
(
StringUtil
.
isNotNull
(
nftOrderBo
)&&
StringUtil
.
isNotEmpty
(
nftOrderBo
.
getNftPublishTaskId
())){
nftOrderBo
.
setNftPublishStatus
(
GalaxyEnum
.
TaskStatusEnum
.
PROCESSING
.
getCode
());
nftOrderBo
.
setUpdatedAt
(
LocalDateTime
.
now
());
//更新nft发行状态为处理中
dataUtils
.
updateNftOrderPublishInfo
(
reqDto
.
getRouterType
(),
reqDto
.
getNftOrderPayId
(),
nftOrderBo
);
}
else
{
//记录错误信息
GalaxyNftOrderFailLogVo
nftOrderFailLogVo
=
galaxyBeanTransferBiz
.
buildNftOrderFailLogVo
(
GalaxyEnum
.
TradeTypeEnum
.
TRADE_PUBLISH
,
reqDto
,
GalaxyEnum
.
OrderDealWithStatusEnum
.
DATA_INIT
,
failDesc
,
null
,
userInfoBo
,
seriesNftInfoBo
,
nftOrderBo
);
dataUtils
.
setNftOrderFailLogVo
(
reqDto
.
getRouterType
(),
nftOrderFailLogVo
);
}
}
catch
(
Exception
e
){
log
.
error
(
reqDto
.
getNftOrderPayId
()+
"发行setNftOrderFailLogVo记录异常:"
+
e
.
getMessage
(),
e
);
}
...
...
@@ -260,8 +275,7 @@ public class ZxinTradeCommonBiz {
}
//更新订单缓存数据状态
if
(
StringUtil
.
isNotEmpty
(
nftId
)){
nftOrderBo
.
setNftId
(
nftId
);
if
(
StringUtil
.
isNotEmpty
(
nftOrderBo
.
getNftId
())){
if
(
StringUtil
.
isNotNull
(
nftPublishChainTimestamp
)){
//设置时间
String
nftPublishChainTimestampStr
=
DateUtil
.
format
(
new
Date
(
nftPublishChainTimestamp
*
1000
),
DateUtil
.
Formatter
.
yyyyMMddHHmmss
);
...
...
@@ -279,7 +293,7 @@ public class ZxinTradeCommonBiz {
}
//第二步:执行购买逻辑
if
(
StringUtil
.
isNotEmpty
(
nft
Id
)){
if
(
StringUtil
.
isNotEmpty
(
nft
OrderBo
.
getNftId
()
)){
GalaxyNftPublishAndBuyRespDto
nftPublishAndBuyRespDto
=
this
.
executeBuyBusiness
(
reqDto
,
userInfoBo
,
seriesNftInfoBo
,
nftOrderBo
);
if
(
StringUtil
.
isNotNull
(
nftPublishAndBuyRespDto
)&&
StringUtil
.
isNotEmpty
(
nftPublishAndBuyRespDto
.
getNftId
())){
return
ResponseDto
.
success
(
nftPublishAndBuyRespDto
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment