记得上下班打卡 | 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
40b4633a
Commit
40b4633a
authored
Mar 30, 2022
by
anjiabin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
完善nft系列声明功能
parent
964f6ddb
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
77 additions
and
16 deletions
+77
-16
GalaxyConstant.java
...com/liquidnet/service/galaxy/constant/GalaxyConstant.java
+1
-1
MQConst.java
...ain/java/com/liquidnet/service/base/constant/MQConst.java
+1
-1
ZxinArtworkBiz.java
...uidnet/service/galaxy/router/zxin/biz/ZxinArtworkBiz.java
+20
-6
ZxinTradeBiz.java
...iquidnet/service/galaxy/router/zxin/biz/ZxinTradeBiz.java
+1
-3
GalaxyRouterStrategyZxlTradeImpl.java
...router/zxin/service/GalaxyRouterStrategyZxlTradeImpl.java
+2
-2
DataUtils.java
...in/java/com/liquidnet/service/galaxy/utils/DataUtils.java
+52
-3
No files found.
liquidnet-bus-api/liquidnet-service-galaxy-api/src/main/java/com/liquidnet/service/galaxy/constant/GalaxyConstant.java
View file @
40b4633a
...
...
@@ -12,7 +12,7 @@ package com.liquidnet.service.galaxy.constant;
public
class
GalaxyConstant
{
public
static
final
String
REDIS_KEY_GALAXY_USER
=
"galaxy:user:"
;
public
static
final
String
REDIS_KEY_GALAXY_SERIES
=
"galaxy:series:"
;
public
static
final
String
REDIS_KEY_GALAXY_SERIES_NFT_UPLOAD
=
"galaxy:series:nft:upload"
;
public
static
final
String
REDIS_KEY_GALAXY_SERIES_NFT_UPLOAD
=
"galaxy:series:nft:upload
:
"
;
public
static
final
String
REDIS_KEY_GALAXY_SERIES_NFT
=
"galaxy:series:nft:"
;
public
static
final
String
REDIS_KEY_GALAXY_TRADE
=
"galaxy:trade:order:"
;
...
...
liquidnet-bus-common/liquidnet-common-service-base/src/main/java/com/liquidnet/service/base/constant/MQConst.java
View file @
40b4633a
...
...
@@ -289,7 +289,7 @@ public class MQConst {
SQL_SERIES_INFO
(
"galaxy:stream:rk.sql.seriesInfo"
,
"group.sql.seriesInfo"
,
"系列信息"
),
SQL_NFT_ORDER_INFO
(
"galaxy:stream:rk.sql.nftOrderInfo"
,
"group.sql.nftOrderInfo"
,
"订单信息"
),
SQL_NFT_TRADE_INFO
(
"galaxy:stream:rk.sql.nftTradeInfo"
,
"group.sql.nftTradeInfo"
,
"交易信息"
),
JSON_NFT_PUBLISH_AND_BUY
(
"galaxy:stream:rk.json.nftPublishAndBuy
"
,
"group.sql.nftPublishAndBuy
"
,
"NFT发行和购买"
),
JSON_NFT_PUBLISH_AND_BUY
(
"galaxy:stream:rk.json.nftPublishAndBuy
Local"
,
"group.sql.nftPublishAndBuyLocal
"
,
"NFT发行和购买"
),
;
private
final
String
key
;
private
final
String
group
;
...
...
liquidnet-bus-service/liquidnet-service-galaxy/liquidnet-service-galaxy-impl/src/main/java/com/liquidnet/service/galaxy/router/zxin/biz/ZxinArtworkBiz.java
View file @
40b4633a
...
...
@@ -82,6 +82,7 @@ public class ZxinArtworkBiz {
/**
* 系列缓存初始化
*/
//获取任务ID
GalaxySeriesNftUploadBo
seriesNftUploadBo
=
dataUtils
.
getSeriesNftUploadBo
(
reqDto
.
getRouterType
(),
reqDto
.
getSkuId
());
if
(
StringUtil
.
isNotNull
(
seriesNftUploadBo
)){
...
...
@@ -95,11 +96,19 @@ public class ZxinArtworkBiz {
//返回素材上传结果
GalaxyNftUploadRespDto
galaxyNftUploadRespDto
=
GalaxyNftUploadRespDto
.
getNew
();
galaxyNftUploadRespDto
.
setSkuId
(
reqDto
.
getSkuId
());
galaxyNftUploadRespDto
.
setNftUrl
(
this
.
getFullFilePath
(
seriesName
,
originalNftUrl
));
galaxyNftUploadRespDto
.
setOriginalNftUrl
(
reqDto
.
getOriginalNftUrl
());
galaxyNftUploadRespDto
.
setDisplayUrl
(
this
.
getFullFilePath
(
seriesName
,
originalDisplayUrl
));
galaxyNftUploadRespDto
.
setOriginalDisplayUrl
(
reqDto
.
getOriginalDisplayUrl
());
try
{
galaxyNftUploadRespDto
.
setSkuId
(
reqDto
.
getSkuId
());
galaxyNftUploadRespDto
.
setNftUrl
(
this
.
getFullFilePath
(
seriesName
,
originalNftUrl
));
galaxyNftUploadRespDto
.
setOriginalNftUrl
(
reqDto
.
getOriginalNftUrl
());
galaxyNftUploadRespDto
.
setDisplayUrl
(
this
.
getFullFilePath
(
seriesName
,
originalDisplayUrl
));
galaxyNftUploadRespDto
.
setOriginalDisplayUrl
(
reqDto
.
getOriginalDisplayUrl
());
}
catch
(
ZxlNftException
e
){
log
.
error
(
e
.
getMessage
());
return
ResponseDto
.
failure
(
e
.
getCode
(),
e
.
getMessage
());
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
());
return
ResponseDto
.
failure
(
e
.
getMessage
());
}
seriesNftUploadBo
=
GalaxySeriesNftUploadBo
.
getNew
();
seriesNftUploadBo
.
setSkuId
(
reqDto
.
getSkuId
());
...
...
@@ -316,7 +325,10 @@ public class ZxinArtworkBiz {
}
public
ResponseDto
<
GalaxyArtSeriesClaimResultQueryRespDto
>
seriesClaimResultQuery
(
GalaxyArtSeriesClaimResultQueryReqDto
reqDto
)
{
String
seriesCode
=
GalaxyConstant
.
SERIES_NAME_PREFIX
.
concat
(
reqDto
.
getSkuId
());
//根据skuId获取系列nft信息
GalaxySeriesNftInfoBo
seriesNftInfoBo
=
dataUtils
.
getSeriesNftInfoBo
(
reqDto
.
getRouterType
(),
reqDto
.
getSkuId
());
String
seriesCode
=
seriesNftInfoBo
.
getSeriesCode
();
//获取任务ID
GalaxySeriesInfoBo
seriesInfoBo
=
dataUtils
.
getSeriesInfoBo
(
reqDto
.
getRouterType
(),
seriesCode
);
...
...
@@ -341,6 +353,7 @@ public class ZxinArtworkBiz {
seriesInfoBo
.
setChainTimestamp
(
nowTimeStr
);
seriesInfoBo
.
setTradeHash
(
resp
.
getData
().
getTxHash
());
seriesInfoBo
.
setSeriesId
(
resp
.
getData
().
getSeriesId
());
seriesInfoBo
.
setUpdatedAt
(
LocalDateTime
.
now
());
dataUtils
.
updateSeriesClaimStatus
(
reqDto
.
getRouterType
(),
seriesCode
,
seriesInfoBo
);
//设置成功返回参数
...
...
@@ -349,6 +362,7 @@ public class ZxinArtworkBiz {
return
ResponseDto
.
success
(
resultQueryRespDto
);
}
else
if
(
resp
.
getData
().
getTaskStatus
().
toString
().
equals
(
ZxlnftEnum
.
TaskStatusEnum
.
TASK_FAIL
.
getCode
())){
seriesInfoBo
.
setSeriesClaimStatus
(
GalaxyEnum
.
SeriesClaimStatusEnum
.
FAIL
.
getCode
());
seriesInfoBo
.
setUpdatedAt
(
LocalDateTime
.
now
());
dataUtils
.
updateSeriesClaimStatus
(
reqDto
.
getRouterType
(),
seriesCode
,
seriesInfoBo
);
return
ResponseDto
.
failure
(
GalaxyErrorEnum
.
SERIES_CLAIM_ERROR
.
getCode
(),
GalaxyErrorEnum
.
SERIES_CLAIM_ERROR
.
getMessage
());
}
...
...
liquidnet-bus-service/liquidnet-service-galaxy/liquidnet-service-galaxy-impl/src/main/java/com/liquidnet/service/galaxy/router/zxin/biz/ZxinTradeBiz.java
View file @
40b4633a
...
...
@@ -86,8 +86,6 @@ public class ZxinTradeBiz {
if
(
StringUtil
.
isNotNull
(
nftOrderBo
)){
return
ResponseDto
.
failure
(
GalaxyErrorEnum
.
PUBLISH_FAIL_ALREADY_EXIST
.
getCode
(),
GalaxyErrorEnum
.
PUBLISH_FAIL_ALREADY_EXIST
.
getMessage
());
}
//获取用户信息
GalaxyUserInfoBo
userInfoBo
=
dataUtils
.
getGalaxyUserInfo
(
reqDto
.
getRouterType
(),
reqDto
.
getUserId
());
...
...
@@ -110,7 +108,7 @@ public class ZxinTradeBiz {
/**
* 根据sku获取系列Id
*/
String
seriesId
=
seriesNftInfoBo
.
getS
ku
Id
();
String
seriesId
=
seriesNftInfoBo
.
getS
eries
Id
();
//返回参数nftId
String
nftId
=
null
;
...
...
liquidnet-bus-service/liquidnet-service-galaxy/liquidnet-service-galaxy-impl/src/main/java/com/liquidnet/service/galaxy/router/zxin/service/GalaxyRouterStrategyZxlTradeImpl.java
View file @
40b4633a
...
...
@@ -35,8 +35,8 @@ public class GalaxyRouterStrategyZxlTradeImpl implements IGalaxyRouterStrategyTr
@Override
public
ResponseDto
<
GalaxyNftPublishAndBuyRespDto
>
nftPublishAndBuy
(
GalaxyNftPublishAndBuyReqDto
reqDto
)
{
queueUtil
.
sendMsgByRedis
(
MQConst
.
GalaxyQueue
.
JSON_NFT_PUBLISH_AND_BUY
.
getKey
(),
JsonUtils
.
toJson
(
reqDto
));
return
ResponseDto
.
success
();
//
return zxinTradeBiz.nftPublishAndBuy(reqDto);
//
return ResponseDto.success();
return
zxinTradeBiz
.
nftPublishAndBuy
(
reqDto
);
}
@Override
...
...
liquidnet-bus-service/liquidnet-service-galaxy/liquidnet-service-galaxy-impl/src/main/java/com/liquidnet/service/galaxy/utils/DataUtils.java
View file @
40b4633a
...
...
@@ -19,7 +19,10 @@ import org.springframework.data.mongodb.core.query.Update;
import
org.springframework.stereotype.Component
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.stream.Collectors
;
@Slf4j
@Component
...
...
@@ -210,7 +213,6 @@ public class DataUtils {
Query
query
=
Query
.
query
(
Criteria
.
where
(
"seriesCode"
).
is
(
seriesInfoBo
.
getSeriesCode
()));
Update
update
=
Update
.
fromDocument
(
Document
.
parse
(
JsonUtils
.
toJson
(
seriesInfoBo
)));
// update.set("seriesClaimStatus", seriesInfoBo.getSeriesClaimStatus());
String
nowTimeStr
=
DateUtil
.
Formatter
.
yyyyMMddHHmmss
.
format
(
LocalDateTime
.
now
());
update
.
set
(
"updatedAt"
,
nowTimeStr
);
UpdateResult
result
=
mongoTemplate
.
updateFirst
(
query
,
update
,
GalaxySeriesInfoVo
.
class
,
GalaxySeriesInfoVo
.
class
.
getSimpleName
());
...
...
@@ -222,16 +224,63 @@ public class DataUtils {
new
Object
[]{
seriesInfoBo
.
getSeriesId
(),
seriesInfoBo
.
getChainTimestamp
(),
seriesInfoBo
.
getTradeHash
(),
seriesInfoBo
.
getSeriesClaimStatus
(),
nowTimeStr
,
seriesInfoBo
.
getSeriesCode
()}
,
MQConst
.
GalaxyQueue
.
SQL_SERIES_INFO
.
getKey
()
);
}
catch
(
Exception
e
){
log
.
error
(
e
.
getMessage
(),
e
);
log
.
error
(
"#updateSeriesClaimStatus error ==> MESSAGE:{}"
,
e
.
getMessage
());
}
//更新系列对应的系列nft状态
List
<
String
>
skuIdList
=
this
.
getSkuIdListBySeriesCode
(
seriesCode
);
skuIdList
.
stream
().
forEach
(
skuId
->
{
GalaxySeriesNftInfoBo
seriesNftInfoBo
=
this
.
getSeriesNftInfoBo
(
routerType
,
skuId
);
seriesNftInfoBo
.
setSeriesId
(
seriesInfoBo
.
getSeriesId
());
seriesNftInfoBo
.
setUpdatedAt
(
LocalDateTime
.
now
());
this
.
updateSeriesNftStatus
(
routerType
,
skuId
,
seriesNftInfoBo
);
});
}
public
void
updateSeriesNftStatus
(
String
routerType
,
String
skuId
,
GalaxySeriesNftInfoBo
seriesNftInfoBo
)
{
//更新系列nft状态
redisUtil
.
set
(
GalaxyConstant
.
REDIS_KEY_GALAXY_SERIES_NFT
.
concat
(
routerType
).
concat
(
":"
)
+
skuId
,
seriesNftInfoBo
,
keyExpireTime
);
Query
query
=
Query
.
query
(
Criteria
.
where
(
"skuId"
).
is
(
skuId
));
Update
update
=
Update
.
fromDocument
(
Document
.
parse
(
JsonUtils
.
toJson
(
seriesNftInfoBo
)));
String
nowTimeStr
=
DateUtil
.
Formatter
.
yyyyMMddHHmmss
.
format
(
seriesNftInfoBo
.
getUpdatedAt
());
update
.
set
(
"routerType"
,
routerType
);
update
.
set
(
"updatedAt"
,
nowTimeStr
);
UpdateResult
result
=
mongoTemplate
.
updateFirst
(
query
,
update
,
GalaxySeriesNftInfoVo
.
class
,
GalaxySeriesNftInfoVo
.
class
.
getSimpleName
());
log
.
info
(
"updateSeriesNftStatus result:{}"
,
result
.
toString
());
try
{
queueUtil
.
sendMySqlRedis
(
SqlMapping
.
get
(
"galaxy_series_nft_info.updateSeriesIdAndStatus"
),
new
Object
[]{
series
InfoBo
.
getSeriesId
(),
nowTimeStr
,
seriesInfoBo
.
getSeriesCode
()}
new
Object
[]{
series
NftInfoBo
.
getSeriesId
(),
nowTimeStr
,
seriesNftInfoBo
.
getSkuId
()}
,
MQConst
.
GalaxyQueue
.
SQL_SERIES_INFO
.
getKey
()
);
}
catch
(
Exception
e
){
log
.
error
(
e
.
getMessage
(),
e
);
log
.
error
(
"#updateSeriesClaimStatus error ==> MESSAGE:{}"
,
e
.
getMessage
());
log
.
error
(
"#updateSeriesNftStatus error ==> MESSAGE:{}"
,
e
.
getMessage
());
}
}
//根据系列Id获取
public
List
<
String
>
getSkuIdListBySeriesCode
(
String
seriesCode
){
//根据演出id获取用户信息 只查询5条
List
<
String
>
skuIdList
=
new
ArrayList
<>();
//获取总数
Criteria
criteria
=
Criteria
.
where
(
"seriesCode"
).
is
(
seriesCode
);
Query
query
=
Query
.
query
(
criteria
);
long
startTime
=
System
.
currentTimeMillis
();
List
<
GalaxySeriesNftInfoVo
>
seriesNftInfoVoList
=
mongoTemplate
.
find
(
query
,
GalaxySeriesNftInfoVo
.
class
,
GalaxySeriesNftInfoVo
.
class
.
getSimpleName
());
long
endTime
=
System
.
currentTimeMillis
();
log
.
info
(
"getSkuIdListBySeriesCode 根据系列code获取skuId 耗时:{}ms"
,
endTime
-
startTime
);
//根据用户id获取头像信息
if
(
StringUtil
.
isNotNull
(
seriesNftInfoVoList
)){
skuIdList
=
seriesNftInfoVoList
.
stream
().
map
(
GalaxySeriesNftInfoVo:
:
getSkuId
).
collect
(
Collectors
.
toList
());
}
return
skuIdList
;
}
public
void
setNftOrderBo
(
String
routerType
,
String
nftOrderPayId
,
GalaxyNftOrderBo
nftOrderBo
)
{
...
...
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