记得上下班打卡 | 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
ba9f16cb
Commit
ba9f16cb
authored
Oct 25, 2022
by
张国柄
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/pre' into pre
parents
ad649625
a3187d8d
Changes
8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
402 additions
and
55 deletions
+402
-55
GalaxyTransferNftInfoBo.java
...uidnet/service/galaxy/dto/bo/GalaxyTransferNftInfoBo.java
+10
-0
GalaxyBeanTransferBiz.java
...m/liquidnet/service/galaxy/biz/GalaxyBeanTransferBiz.java
+3
-0
XuperTradeCommonBiz.java
.../service/galaxy/router/xuper/biz/XuperTradeCommonBiz.java
+63
-47
AbstractDataUtils.java
...com/liquidnet/service/galaxy/utils/AbstractDataUtils.java
+9
-4
sqlmap-galaxy.properties
...goblin-common/src/main/resources/sqlmap-galaxy.properties
+2
-2
db_galaxy_20220907.sql
...liquidnet-service-goblin-impl/docu/db_galaxy_20220907.sql
+5
-0
ZxinTradeBiz.java
...iquidnet/service/galaxy/router/zxin/biz/ZxinTradeBiz.java
+308
-0
GalaxyRouterStrategyZxlTradeImpl.java
...router/zxin/service/GalaxyRouterStrategyZxlTradeImpl.java
+2
-2
No files found.
liquidnet-bus-api/liquidnet-service-galaxy-api/src/main/java/com/liquidnet/service/galaxy/dto/bo/GalaxyTransferNftInfoBo.java
View file @
ba9f16cb
package
com
.
liquidnet
.
service
.
galaxy
.
dto
.
bo
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
lombok.Data
;
...
...
@@ -15,6 +16,7 @@ import java.io.Serializable;
* @date 2022/8/12 13:36
*/
@Data
@JsonIgnoreProperties
(
value
=
{
"nftOrderPayId"
,
"nftOrderPayId2"
},
ignoreUnknown
=
true
)
public
class
GalaxyTransferNftInfoBo
implements
Serializable
,
Cloneable
{
/**
* 转让流水号(平台转让订单id)
...
...
@@ -48,6 +50,14 @@ public class GalaxyTransferNftInfoBo implements Serializable,Cloneable{
* nft当前拥有者addr(转让成功后更新)
*/
private
String
ownerAddress
;
/**
* nft转让任务ID
*/
private
String
nftTransferTaskId
;
/**
* nft转让时间
*/
private
String
nftTransferChainTimestamp
;
/**
* 转让hash
*/
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-common/src/main/java/com/liquidnet/service/galaxy/biz/GalaxyBeanTransferBiz.java
View file @
ba9f16cb
...
...
@@ -161,6 +161,8 @@ public class GalaxyBeanTransferBiz {
transferNftInfoBo
.
setSeriesId
(
null
);
transferNftInfoBo
.
setRouterType
(
reqDto
.
getRouterType
());
transferNftInfoBo
.
setTransferStatus
(
GalaxyEnum
.
NftTransferStatusEnum
.
INIT
.
getCode
());
transferNftInfoBo
.
setNftTransferTaskId
(
null
);
transferNftInfoBo
.
setNftTransferChainTimestamp
(
null
);
transferNftInfoBo
.
setTransferHash
(
null
);
transferNftInfoBo
.
setErrorCode
(
null
);
transferNftInfoBo
.
setErrorMsg
(
null
);
...
...
@@ -184,6 +186,7 @@ public class GalaxyBeanTransferBiz {
respDto
.
setFromUserId
(
userInfoBo
.
getUserId
());
respDto
.
setFromAddress
(
userInfoBo
.
getBlockChainAddress
());
respDto
.
setTransferTime
(
DateUtil
.
getNowTime
());
respDto
.
setRouterType
(
transferNftInfoBo
.
getRouterType
());
respDto
.
setTransferHash
(
transferNftInfoBo
.
getTransferHash
());
return
respDto
;
}
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-common/src/main/java/com/liquidnet/service/galaxy/router/xuper/biz/XuperTradeCommonBiz.java
View file @
ba9f16cb
...
...
@@ -84,6 +84,9 @@ public class XuperTradeCommonBiz {
return
ResponseDto
.
failure
(
GalaxyErrorEnum
.
SERIES_NFT_INFO_NOT_EXIST
.
getCode
(),
GalaxyErrorEnum
.
SERIES_NFT_INFO_NOT_EXIST
.
getMessage
());
}
//生成nftId
String
nftId
=
this
.
createNftId
(
reqDto
,
seriesNftInfoBo
);
//获取订单信息
GalaxyNftOrderBo
nftOrderBo
=
dataUtils
.
getNftOrderBo
(
reqDto
.
getRouterType
(),
reqDto
.
getNftOrderPayId
());
//初始化订单数据
...
...
@@ -92,6 +95,11 @@ public class XuperTradeCommonBiz {
nftOrderBo
.
setNftPublishTaskId
(
seriesNftInfoBo
.
getSeriesId
());
nftOrderBo
.
setNftPublishFromAddress
(
xuperConfig
.
getNftPlatformAddress
());
nftOrderBo
.
setNftBuyFromAddress
(
xuperConfig
.
getNftPlatformAddress
());
//设置购买标志
nftOrderBo
.
setNftId
(
nftId
);
nftOrderBo
.
setNftPublishChainTimestamp
(
seriesNftInfoBo
.
getUpdatedAt
().
toString
());
nftOrderBo
.
setNftPublishTradeHash
(
seriesNftInfoBo
.
getNftPublishTradeHash
());
nftOrderBo
.
setNftPublishStatus
(
seriesNftInfoBo
.
getNftPublishStatus
());
dataUtils
.
setNftOrderBo
(
reqDto
.
getRouterType
(),
reqDto
.
getNftOrderPayId
(),
nftOrderBo
);
}
else
if
(
StringUtil
.
isNotNull
(
nftOrderBo
)){
if
(
nftOrderBo
.
getNftPublishStatus
().
equalsIgnoreCase
(
GalaxyEnum
.
TaskStatusEnum
.
TASK_SUCCESS
.
getCode
())
...
...
@@ -116,14 +124,7 @@ public class XuperTradeCommonBiz {
}
}
//开始索引
Integer
seriesBeginIndex
=
null
;
/**
* 根据sku获取系列Id
*/
String
seriesId
=
seriesNftInfoBo
.
getSeriesId
();
//返回参数nftId
String
nftId
=
null
;
String
publishTaskId
=
null
;
Long
nftPublishChainTimestamp
=
null
;
Integer
nftPublishStatus
=
null
;
...
...
@@ -135,46 +136,6 @@ public class XuperTradeCommonBiz {
boolean
isPublishSuccess
=
false
;
try
{
/**
* 获取订单和nft绑定信息
*/
GalaxyNftOrderBindBo
nftOrderBindBo
=
dataUtils
.
getGalaxyNftOrderBindBo
(
reqDto
.
getRouterType
(),
reqDto
.
getNftOrderPayId
());
if
(
StringUtil
.
isNull
(
nftOrderBindBo
)){
//获取发行索引
long
nftIdNo
=
dataUtils
.
incrNftIdNo
(
reqDto
.
getRouterType
(),
reqDto
.
getSkuId
());
//如果发行数大于最大发行数量
if
(
nftIdNo
>
seriesNftInfoBo
.
getNftTotalCount
()){
//发行失败
throw
new
GalaxyNftPublishException
(
GalaxyErrorEnum
.
NFT_PUBLISH_ERROR
.
getCode
(),
"该sku:"
+
reqDto
.
getSkuId
()+
" 总共"
+
seriesNftInfoBo
.
getNftTotalCount
()+
"个NFT已经发行完毕,没有剩余库存!"
);
}
//判断是否切换订单
while
(
galaxyTradeBiz
.
isNeedSwitch
(
reqDto
.
getSkuId
(),
String
.
valueOf
(
nftIdNo
))){
long
finalNftIdNo
=
nftIdNo
;
//开启新线程去执行购买
executorService
.
submit
(()
->
{
galaxyTradeBiz
.
switchBuyRouterBySkuId
(
reqDto
.
getSkuId
(),
String
.
valueOf
(
finalNftIdNo
),
seriesNftInfoBo
);
});
nftIdNo
=
dataUtils
.
incrNftIdNo
(
reqDto
.
getRouterType
(),
reqDto
.
getSkuId
());
}
nftOrderBindBo
=
GalaxyNftOrderBindBo
.
getNew
();
nftOrderBindBo
.
setNftOrderPayId
(
reqDto
.
getNftOrderPayId
());
nftOrderBindBo
.
setSeriesId
(
seriesNftInfoBo
.
getSeriesId
());
nftOrderBindBo
.
setSeriesCode
(
seriesNftInfoBo
.
getSeriesCode
());
nftOrderBindBo
.
setNftIdIndex
(
Integer
.
valueOf
(
String
.
valueOf
(
nftIdNo
)));
nftOrderBindBo
.
setRouterType
(
reqDto
.
getRouterType
());
String
nowTimeStr
=
DateUtil
.
Formatter
.
yyyyMMddHHmmss
.
format
(
LocalDateTime
.
now
());
nftOrderBindBo
.
setCreatedAt
(
nowTimeStr
);
dataUtils
.
setGalaxyNftOrderBindBo
(
reqDto
.
getRouterType
(),
reqDto
.
getNftOrderPayId
(),
nftOrderBindBo
);
}
seriesBeginIndex
=
nftOrderBindBo
.
getNftIdIndex
();
//设置nftId
nftId
=
seriesId
.
concat
(
"_"
).
concat
(
seriesBeginIndex
.
toString
());
//设置购买标志
nftOrderBo
.
setNftId
(
nftId
);
/**
* 如果已经发行成功
*/
...
...
@@ -367,6 +328,61 @@ public class XuperTradeCommonBiz {
return
nftPublishAndBuyRespDto
;
}
/**
* 生成nftId
* @param reqDto
* @param seriesNftInfoBo
* @return
*/
private
String
createNftId
(
GalaxyNftPublishAndBuyReqDto
reqDto
,
GalaxySeriesNftInfoBo
seriesNftInfoBo
){
//开始索引
Integer
seriesBeginIndex
=
null
;
/**
* 根据sku获取系列Id
*/
String
seriesId
=
seriesNftInfoBo
.
getSeriesId
();
//返回参数nftId
String
nftId
=
null
;
/**
* 获取订单和nft绑定信息
*/
GalaxyNftOrderBindBo
nftOrderBindBo
=
dataUtils
.
getGalaxyNftOrderBindBo
(
reqDto
.
getRouterType
(),
reqDto
.
getNftOrderPayId
());
if
(
StringUtil
.
isNull
(
nftOrderBindBo
)){
//获取发行索引
long
nftIdNo
=
dataUtils
.
incrNftIdNo
(
reqDto
.
getRouterType
(),
reqDto
.
getSkuId
());
//如果发行数大于最大发行数量
if
(
nftIdNo
>
seriesNftInfoBo
.
getNftTotalCount
()){
//发行失败
throw
new
GalaxyNftPublishException
(
GalaxyErrorEnum
.
NFT_PUBLISH_ERROR
.
getCode
(),
"该sku:"
+
reqDto
.
getSkuId
()+
" 总共"
+
seriesNftInfoBo
.
getNftTotalCount
()+
"个NFT已经发行完毕,没有剩余库存!"
);
}
//判断是否切换订单
while
(
galaxyTradeBiz
.
isNeedSwitch
(
reqDto
.
getSkuId
(),
String
.
valueOf
(
nftIdNo
))){
long
finalNftIdNo
=
nftIdNo
;
//开启新线程去执行购买
executorService
.
submit
(()
->
{
galaxyTradeBiz
.
switchBuyRouterBySkuId
(
reqDto
.
getSkuId
(),
String
.
valueOf
(
finalNftIdNo
),
seriesNftInfoBo
);
});
nftIdNo
=
dataUtils
.
incrNftIdNo
(
reqDto
.
getRouterType
(),
reqDto
.
getSkuId
());
}
nftOrderBindBo
=
GalaxyNftOrderBindBo
.
getNew
();
nftOrderBindBo
.
setNftOrderPayId
(
reqDto
.
getNftOrderPayId
());
nftOrderBindBo
.
setSeriesId
(
seriesNftInfoBo
.
getSeriesId
());
nftOrderBindBo
.
setSeriesCode
(
seriesNftInfoBo
.
getSeriesCode
());
nftOrderBindBo
.
setNftIdIndex
(
Integer
.
valueOf
(
String
.
valueOf
(
nftIdNo
)));
nftOrderBindBo
.
setRouterType
(
reqDto
.
getRouterType
());
String
nowTimeStr
=
DateUtil
.
Formatter
.
yyyyMMddHHmmss
.
format
(
LocalDateTime
.
now
());
nftOrderBindBo
.
setCreatedAt
(
nowTimeStr
);
dataUtils
.
setGalaxyNftOrderBindBo
(
reqDto
.
getRouterType
(),
reqDto
.
getNftOrderPayId
(),
nftOrderBindBo
);
}
seriesBeginIndex
=
nftOrderBindBo
.
getNftIdIndex
();
//设置nftId
nftId
=
seriesId
.
concat
(
"_"
).
concat
(
seriesBeginIndex
.
toString
());
return
nftId
;
}
/**
* 保持线程循环查询
* @param nftId
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-common/src/main/java/com/liquidnet/service/galaxy/utils/AbstractDataUtils.java
View file @
ba9f16cb
...
...
@@ -545,8 +545,11 @@ public abstract class AbstractDataUtils {
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
(),
new
Object
[]{
transferNftInfoBo
.
getTransOrderId
(),
transferNftInfoBo
.
getNftId
(),
transferNftInfoBo
.
getUserId
(),
transferNftInfoBo
.
getAddress
()
,
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
()}
,
MQConst
.
GalaxyQueue
.
SQL_NFT_TRADE_INFO
.
getKey
()
);
...
...
@@ -583,8 +586,10 @@ public abstract class AbstractDataUtils {
try
{
this
.
getQueueUtil
().
sendMySqlRedis
(
SqlMapping
.
get
(
"galaxy_nft_transfer_info.updateNftTransferInfo"
),
new
Object
[]{
transferNftInfoBo
.
getOwnerUserId
(),
transferNftInfoBo
.
getOwnerAddress
(),
transferNftInfoBo
.
getTransferHash
(),
transferNftInfoBo
.
getTransferStatus
(),
transferNftInfoBo
.
getErrorCode
(),
transferNftInfoBo
.
getErrorMsg
()
new
Object
[]{
transferNftInfoBo
.
getOwnerUserId
(),
transferNftInfoBo
.
getOwnerAddress
()
,
transferNftInfoBo
.
getNftTransferTaskId
(),
transferNftInfoBo
.
getNftTransferChainTimestamp
()
,
transferNftInfoBo
.
getTransferHash
()
,
transferNftInfoBo
.
getTransferStatus
(),
transferNftInfoBo
.
getErrorCode
(),
transferNftInfoBo
.
getErrorMsg
()
,
transferNftInfoBo
.
getUpdatedAt
(),
transferNftInfoBo
.
getTransOrderId
()}
,
MQConst
.
GalaxyQueue
.
SQL_NFT_TRADE_INFO
.
getKey
()
);
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-common/src/main/resources/sqlmap-galaxy.properties
View file @
ba9f16cb
...
...
@@ -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_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 = ?
...
...
@@ -34,4 +34,4 @@ galaxy_series_nft_info.updateSeriesNftPublishStatus=update galaxy_series_nft_inf
# ------------------------同步用户数字账户信息到adam---------------------------
adam_user_busi_acct.add
=
INSERT INTO adam_user_busi_acct (`uid`, busi, uuid, `work`, ppwd, `state`, created_at) VALUES (?,?,?,?,?,?,?)
# ------------------------更新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 = ?
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/docu/db_galaxy_20220907.sql
0 → 100644
View file @
ba9f16cb
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
;
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/galaxy/router/zxin/biz/ZxinTradeBiz.java
View file @
ba9f16cb
This diff is collapsed.
Click to expand it.
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/galaxy/router/zxin/service/GalaxyRouterStrategyZxlTradeImpl.java
View file @
ba9f16cb
...
...
@@ -62,11 +62,11 @@ public class GalaxyRouterStrategyZxlTradeImpl implements IGalaxyRouterStrategyTr
@Override
public
ResponseDto
<
GalaxyNftTransferRespDto
>
nftTransfer
(
GalaxyNftTransferReqDto
reqDto
)
{
return
null
;
return
zxinTradeBiz
.
nftTransfer
(
reqDto
)
;
}
@Override
public
ResponseDto
<
GalaxyNftTransferQueryRespDto
>
nftTransferQuery
(
GalaxyNftTransferQueryReqDto
reqDto
)
{
return
null
;
return
zxinTradeBiz
.
nftTransferQuery
(
reqDto
)
;
}
}
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