记得上下班打卡 | 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
50e849e1
Commit
50e849e1
authored
Oct 28, 2022
by
Administrator
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'pre' into 'master'
Pre See merge request
!321
parents
2c0c89db
ba9f16cb
Changes
9
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
403 additions
and
56 deletions
+403
-56
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
db_ln_goblin_initialdata.sql
...net-service-goblin-impl/docu/db_ln_goblin_initialdata.sql
+1
-1
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 @
50e849e1
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 @
50e849e1
...
...
@@ -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 @
50e849e1
...
...
@@ -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 @
50e849e1
...
...
@@ -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 @
50e849e1
...
...
@@ -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 @
50e849e1
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/docu/db_ln_goblin_initialdata.sql
View file @
50e849e1
...
...
@@ -1157,7 +1157,7 @@ alter table goblin_user_digital_artwork
alter
table
goblin_user_digital_artwork
add
transfer_order_id
varchar
(
64
)
null
comment
'转赠订单号'
after
receiver_uid
;
alter
table
goblin_user_digital_artwork
add
transfer_state
varchar
(
20
)
null
comment
'转赠状态[PENDING|SUCCESS]'
after
transfer_order_id
;
add
transfer_state
varchar
(
20
)
null
comment
'转赠状态[
WAITING|
PENDING|SUCCESS]'
after
transfer_order_id
;
alter
table
goblin_user_digital_artwork
modify
source
tinyint
null
comment
'获得方式[1-购买|2-兑换|3-赠送|5-大美|6-转赠|31-空投赠送]'
;
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/galaxy/router/zxin/biz/ZxinTradeBiz.java
View file @
50e849e1
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 @
50e849e1
...
...
@@ -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