记得上下班打卡 | 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
3b4771c8
Commit
3b4771c8
authored
Jun 13, 2022
by
zhanggb
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
~que:GoblinQueue.BIZ_ARTWORK_UPL:重新入队调整;
parent
0f1f5550
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
82 additions
and
70 deletions
+82
-70
ConsumerGoblinBizArtworkUplReceiver.java
...er/base/receiver/ConsumerGoblinBizArtworkUplReceiver.java
+6
-5
GoblinQueBizArtworkUplService.java
...lin/service/impl/inner/GoblinQueBizArtworkUplService.java
+76
-65
No files found.
liquidnet-bus-service/liquidnet-service-consumer-all/liquidnet-service-consumer-base/src/main/java/com/liquidnet/service/consumer/base/receiver/ConsumerGoblinBizArtworkUplReceiver.java
View file @
3b4771c8
...
@@ -58,11 +58,12 @@ public class ConsumerGoblinBizArtworkUplReceiver extends AbstractBizRedisReceive
...
@@ -58,11 +58,12 @@ public class ConsumerGoblinBizArtworkUplReceiver extends AbstractBizRedisReceive
try
{
try
{
postDataMap
.
add
(
"skuId"
,
skuId
);
postDataMap
.
add
(
"skuId"
,
skuId
);
String
postRespStr
=
HttpUtil
.
post
(
postUrl
,
postDataMap
);
String
postRespStr
=
HttpUtil
.
post
(
postUrl
,
postDataMap
);
JsonNode
postRespJNode
=
JsonUtils
.
fromJson
(
postRespStr
,
JsonNode
.
class
),
postRespCode
;
// 失败重新入队逻辑改至`被调用API`实现
if
(
null
==
postRespJNode
||
null
==
(
postRespCode
=
postRespJNode
.
get
(
"code"
))
||
!
postRespCode
.
asText
().
equals
(
"0"
))
{
// JsonNode postRespJNode = JsonUtils.fromJson(postRespStr, JsonNode.class), postRespCode;
log
.
warn
(
"#NFT素材上传:处理失败[paramsStr={},postRespStr={}]"
,
postDataMap
,
postRespStr
);
// if (null == postRespJNode || null == (postRespCode = postRespJNode.get("code")) || !postRespCode.asText().equals("0")) {
return
false
;
// log.warn("#NFT素材上传:处理失败[paramsStr={},postRespStr={}]", postDataMap, postRespStr);
}
// return false;
// }
return
true
;
return
true
;
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"Ex.NFT素材上传:处理异常[url={},paramsStr={}],ex:{}"
,
postUrl
,
postDataMap
,
e
.
getMessage
());
log
.
error
(
"Ex.NFT素材上传:处理异常[url={},paramsStr={}],ex:{}"
,
postUrl
,
postDataMap
,
e
.
getMessage
());
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/service/impl/inner/GoblinQueBizArtworkUplService.java
View file @
3b4771c8
...
@@ -15,6 +15,7 @@ import com.liquidnet.service.goblin.dto.vo.GoblinGoodsInfoVo;
...
@@ -15,6 +15,7 @@ import com.liquidnet.service.goblin.dto.vo.GoblinGoodsInfoVo;
import
com.liquidnet.service.goblin.dto.vo.GoblinGoodsSkuInfoVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinGoodsSkuInfoVo
;
import
com.liquidnet.service.goblin.util.GoblinMongoUtils
;
import
com.liquidnet.service.goblin.util.GoblinMongoUtils
;
import
com.liquidnet.service.goblin.util.GoblinRedisUtils
;
import
com.liquidnet.service.goblin.util.GoblinRedisUtils
;
import
com.liquidnet.service.goblin.util.QueueUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -35,6 +36,8 @@ import java.util.LinkedList;
...
@@ -35,6 +36,8 @@ import java.util.LinkedList;
@Slf4j
@Slf4j
@Service
@Service
public
class
GoblinQueBizArtworkUplService
{
public
class
GoblinQueBizArtworkUplService
{
@Autowired
QueueUtils
queueUtils
;
@Autowired
@Autowired
GoblinRedisUtils
goblinRedisUtils
;
GoblinRedisUtils
goblinRedisUtils
;
@Autowired
@Autowired
...
@@ -50,75 +53,83 @@ public class GoblinQueBizArtworkUplService {
...
@@ -50,75 +53,83 @@ public class GoblinQueBizArtworkUplService {
private
static
final
String
SQL_UPDATE_GOODS_SKU_NFT
=
"UPDATE goblin_goods_sku_nft SET upchain=?,display_url=?,nft_url=? WHERE sku_id=? AND upchain=0 "
;
private
static
final
String
SQL_UPDATE_GOODS_SKU_NFT
=
"UPDATE goblin_goods_sku_nft SET upchain=?,display_url=?,nft_url=? WHERE sku_id=? AND upchain=0 "
;
public
ResponseDto
<
String
>
bizArtworkUplProcessing
(
String
skuId
)
{
public
ResponseDto
<
String
>
bizArtworkUplProcessing
(
String
skuId
)
{
GoblinGoodsSkuInfoVo
mgtGoodsSkuInfoVo
=
goblinMongoUtils
.
getGoodsSkuInfoVo
(
skuId
);
try
{
if
(
null
==
mgtGoodsSkuInfoVo
)
{
GoblinGoodsSkuInfoVo
mgtGoodsSkuInfoVo
=
goblinMongoUtils
.
getGoodsSkuInfoVo
(
skuId
);
log
.
warn
(
"#NFT素材上传:藏品SKU不存在[skuId={}]"
,
skuId
);
if
(
null
==
mgtGoodsSkuInfoVo
)
{
return
ResponseDto
.
success
(
String
.
format
(
"藏品SKU不存在[skuId:%s]"
,
skuId
));
log
.
warn
(
"#NFT素材上传:藏品SKU不存在[skuId={}]"
,
skuId
);
}
return
ResponseDto
.
success
(
String
.
format
(
"藏品SKU不存在[skuId:%s]"
,
skuId
));
int
skuType
=
mgtGoodsSkuInfoVo
.
getSkuType
(),
upchain
=
mgtGoodsSkuInfoVo
.
getUpchain
();
}
String
unbox
=
mgtGoodsSkuInfoVo
.
getUnbox
();
int
skuType
=
mgtGoodsSkuInfoVo
.
getSkuType
(),
upchain
=
mgtGoodsSkuInfoVo
.
getUpchain
();
// 非数字藏品 || 盲盒 || 非声明中 || 已有声明系列ID
String
unbox
=
mgtGoodsSkuInfoVo
.
getUnbox
();
if
(
1
!=
skuType
||
!
"0"
.
equals
(
unbox
)
||
0
!=
upchain
||
StringUtils
.
isNotEmpty
(
mgtGoodsSkuInfoVo
.
getSeriesId
()))
{
// 非数字藏品 || 盲盒 || 非声明中 || 已有声明系列ID
log
.
warn
(
"#NFT素材上传:藏品SKU无效或已声明[skuId={},skuType={},unbox={},upchain={},seriesId={}]"
,
if
(
1
!=
skuType
||
!
"0"
.
equals
(
unbox
)
||
0
!=
upchain
||
StringUtils
.
isNotEmpty
(
mgtGoodsSkuInfoVo
.
getSeriesId
()))
{
skuId
,
skuType
,
unbox
,
upchain
,
mgtGoodsSkuInfoVo
.
getSeriesId
());
log
.
warn
(
"#NFT素材上传:藏品SKU无效或已声明[skuId={},skuType={},unbox={},upchain={},seriesId={}]"
,
return
ResponseDto
.
success
(
String
.
format
(
"藏品SKU无效或已声明[skuId:%s]"
,
skuId
));
skuId
,
skuType
,
unbox
,
upchain
,
mgtGoodsSkuInfoVo
.
getSeriesId
());
}
return
ResponseDto
.
success
(
String
.
format
(
"藏品SKU无效或已声明[skuId:%s]"
,
skuId
));
}
String
displayUrl
=
mgtGoodsSkuInfoVo
.
getDisplayUrl
(),
nftUrl
=
mgtGoodsSkuInfoVo
.
getNftUrl
();
String
displayUrl
=
mgtGoodsSkuInfoVo
.
getDisplayUrl
(),
nftUrl
=
mgtGoodsSkuInfoVo
.
getNftUrl
();
if
(
StringUtils
.
isBlank
(
displayUrl
))
{
// 未上传过的直接上传处理,已上传过的跳过上传直接声明
if
(
StringUtils
.
isBlank
(
displayUrl
))
{
// 未上传过的直接上传处理,已上传过的跳过上传直接声明
GalaxyNftUploadReqDto
galaxyNftUploadReqDto
=
GalaxyNftUploadReqDto
.
getNew
();
GalaxyNftUploadReqDto
galaxyNftUploadReqDto
=
GalaxyNftUploadReqDto
.
getNew
();
galaxyNftUploadReqDto
.
setSkuId
(
skuId
);
galaxyNftUploadReqDto
.
setSkuId
(
skuId
);
galaxyNftUploadReqDto
.
setOriginalDisplayUrl
(
mgtGoodsSkuInfoVo
.
getSkuPic
());
galaxyNftUploadReqDto
.
setOriginalDisplayUrl
(
mgtGoodsSkuInfoVo
.
getSkuPic
());
galaxyNftUploadReqDto
.
setOriginalNftUrl
(
mgtGoodsSkuInfoVo
.
getMaterialUrl
());
galaxyNftUploadReqDto
.
setOriginalNftUrl
(
mgtGoodsSkuInfoVo
.
getMaterialUrl
());
galaxyNftUploadReqDto
.
setRouterType
(
mgtGoodsSkuInfoVo
.
getRouteType
());
galaxyNftUploadReqDto
.
setRouterType
(
mgtGoodsSkuInfoVo
.
getRouteType
());
GalaxyNftUploadRespDto
galaxyNftUploadRespDto
=
this
.
uploadNftMaterial
(
galaxyNftUploadReqDto
);
GalaxyNftUploadRespDto
galaxyNftUploadRespDto
=
this
.
uploadNftMaterial
(
galaxyNftUploadReqDto
);
if
(
null
==
galaxyNftUploadRespDto
)
{
if
(
null
==
galaxyNftUploadRespDto
)
{
return
ResponseDto
.
failure
(
String
.
format
(
"藏品上传失败[skuId:%s]"
,
skuId
));
// 上传失败,重新入队处理
log
.
warn
(
"#NFT素材上传:处理失败[skuId={}]"
,
skuId
);
queueUtils
.
sendMsgByRedis
(
MQConst
.
GoblinQueue
.
BIZ_ARTWORK_UPL
.
getKey
(),
skuId
);
return
ResponseDto
.
failure
(
String
.
format
(
"藏品上传失败[skuId:%s]"
,
skuId
));
// 上传失败,重新入队处理
}
displayUrl
=
galaxyNftUploadRespDto
.
getDisplayUrl
();
nftUrl
=
galaxyNftUploadRespDto
.
getNftUrl
();
}
}
displayUrl
=
galaxyNftUploadRespDto
.
getDisplayUrl
();
GoblinGoodsInfoVo
mgtGoodsInfoVo
=
goblinMongoUtils
.
getGoodsInfoVo
(
mgtGoodsSkuInfoVo
.
getSpuId
());
nftUrl
=
galaxyNftUploadRespDto
.
getNftUrl
();
String
skuTitle
=
mgtGoodsSkuInfoVo
.
getName
()
+
mgtGoodsSkuInfoVo
.
getSubtitle
();
GalaxyArtSeriesClaimReqDto
galaxyArtSeriesClaimReqDto
=
GalaxyArtSeriesClaimReqDto
.
getNew
();
galaxyArtSeriesClaimReqDto
.
setAuthor
(
mgtGoodsInfoVo
.
getAuthor
());
galaxyArtSeriesClaimReqDto
.
setCoverUrl
(
displayUrl
);
galaxyArtSeriesClaimReqDto
.
setDisplayUrl
(
displayUrl
);
galaxyArtSeriesClaimReqDto
.
setNftDesc
(
skuTitle
);
galaxyArtSeriesClaimReqDto
.
setNftName
(
skuTitle
);
galaxyArtSeriesClaimReqDto
.
setNftUrl
(
nftUrl
);
galaxyArtSeriesClaimReqDto
.
setRouterType
(
mgtGoodsSkuInfoVo
.
getRouteType
());
galaxyArtSeriesClaimReqDto
.
setSellCount
(
String
.
valueOf
(
mgtGoodsSkuInfoVo
.
getPrice
()));
galaxyArtSeriesClaimReqDto
.
setSeriesDesc
(
skuTitle
);
galaxyArtSeriesClaimReqDto
.
setSkuId
(
skuId
);
galaxyArtSeriesClaimReqDto
.
setTotalCount
(
Long
.
valueOf
(
mgtGoodsSkuInfoVo
.
getSkuStock
()));
// 声明失败,标记`声明失败`
upchain
=
null
==
this
.
claimNftSeries
(
galaxyArtSeriesClaimReqDto
)
?
2
:
9
;
mongoTemplate
.
getCollection
(
GoblinGoodsSkuInfoVo
.
class
.
getSimpleName
()).
updateOne
(
Query
.
query
(
Criteria
.
where
(
"skuId"
).
is
(
skuId
).
and
(
"delFlg"
).
is
(
"0"
)).
getQueryObject
(),
Update
.
update
(
"upchain"
,
upchain
).
set
(
"displayUrl"
,
displayUrl
).
set
(
"nftUrl"
,
nftUrl
).
getUpdateObject
()
);
goblinRedisUtils
.
del
(
GoblinRedisConst
.
BASIC_GOODS_SKU
.
concat
(
skuId
));
// Mysql持久化
HashMap
<
String
,
String
>
sqlUpdateMap
=
CollectionUtil
.
mapStringString
();
LinkedList
<
String
>
toMqSqls
=
CollectionUtil
.
linkedListString
();
toMqSqls
.
add
(
SQL_UPDATE_GOODS_SKU_NFT
);
LinkedList
<
Object
[]>
updateGoodsSkuNftObjs
=
CollectionUtil
.
linkedListObjectArr
();
updateGoodsSkuNftObjs
.
add
(
new
Object
[]{
upchain
,
displayUrl
,
nftUrl
,
skuId
});
sqlUpdateMap
.
put
(
MQConst
.
QUEUE_MESSAGE_KEY
,
SqlMapping
.
gets
(
toMqSqls
,
updateGoodsSkuNftObjs
));
StreamOperations
<
String
,
Object
,
Object
>
streamOperations
=
stringRedisTemplate
.
opsForStream
();
streamOperations
.
add
(
StreamRecords
.
mapBacked
(
sqlUpdateMap
).
withStreamKey
(
MQConst
.
GoblinQueue
.
SQL_GOODS
.
getKey
()));
HashMap
<
String
,
String
>
toQueueBeClaimQueryMsg
=
CollectionUtil
.
mapStringString
();
toQueueBeClaimQueryMsg
.
put
(
MQConst
.
QUEUE_MESSAGE_KEY
,
skuId
.
concat
(
","
).
concat
(
String
.
valueOf
(
LocalDateTime
.
now
())));
streamOperations
.
add
(
StreamRecords
.
mapBacked
(
toQueueBeClaimQueryMsg
).
withStreamKey
(
MQConst
.
GoblinQueue
.
BIZ_ARTWORK_CLQ
.
getKey
()));
}
catch
(
Exception
e
)
{
log
.
error
(
"Ex.NFT素材上传:处理异常[skuId={}]"
,
skuId
,
e
);
queueUtils
.
sendMsgByRedis
(
MQConst
.
GoblinQueue
.
BIZ_ARTWORK_UPL
.
getKey
(),
skuId
);
return
ResponseDto
.
failure
(
String
.
format
(
"藏品上传异常[skuId:%s]"
,
skuId
));
}
}
GoblinGoodsInfoVo
mgtGoodsInfoVo
=
goblinMongoUtils
.
getGoodsInfoVo
(
mgtGoodsSkuInfoVo
.
getSpuId
());
String
skuTitle
=
mgtGoodsSkuInfoVo
.
getName
()
+
mgtGoodsSkuInfoVo
.
getSubtitle
();
GalaxyArtSeriesClaimReqDto
galaxyArtSeriesClaimReqDto
=
GalaxyArtSeriesClaimReqDto
.
getNew
();
galaxyArtSeriesClaimReqDto
.
setAuthor
(
mgtGoodsInfoVo
.
getAuthor
());
galaxyArtSeriesClaimReqDto
.
setCoverUrl
(
displayUrl
);
galaxyArtSeriesClaimReqDto
.
setDisplayUrl
(
displayUrl
);
galaxyArtSeriesClaimReqDto
.
setNftDesc
(
skuTitle
);
galaxyArtSeriesClaimReqDto
.
setNftName
(
skuTitle
);
galaxyArtSeriesClaimReqDto
.
setNftUrl
(
nftUrl
);
galaxyArtSeriesClaimReqDto
.
setRouterType
(
mgtGoodsSkuInfoVo
.
getRouteType
());
galaxyArtSeriesClaimReqDto
.
setSellCount
(
String
.
valueOf
(
mgtGoodsSkuInfoVo
.
getPrice
()));
galaxyArtSeriesClaimReqDto
.
setSeriesDesc
(
skuTitle
);
galaxyArtSeriesClaimReqDto
.
setSkuId
(
skuId
);
galaxyArtSeriesClaimReqDto
.
setTotalCount
(
Long
.
valueOf
(
mgtGoodsSkuInfoVo
.
getSkuStock
()));
// 声明失败,标记`声明失败`
upchain
=
null
==
this
.
claimNftSeries
(
galaxyArtSeriesClaimReqDto
)
?
2
:
9
;
mongoTemplate
.
getCollection
(
GoblinGoodsSkuInfoVo
.
class
.
getSimpleName
()).
updateOne
(
Query
.
query
(
Criteria
.
where
(
"skuId"
).
is
(
skuId
).
and
(
"delFlg"
).
is
(
"0"
)).
getQueryObject
(),
Update
.
update
(
"upchain"
,
upchain
).
set
(
"displayUrl"
,
displayUrl
).
set
(
"nftUrl"
,
nftUrl
).
getUpdateObject
()
);
goblinRedisUtils
.
del
(
GoblinRedisConst
.
BASIC_GOODS_SKU
.
concat
(
skuId
));
// Mysql持久化
HashMap
<
String
,
String
>
sqlUpdateMap
=
CollectionUtil
.
mapStringString
();
LinkedList
<
String
>
toMqSqls
=
CollectionUtil
.
linkedListString
();
toMqSqls
.
add
(
SQL_UPDATE_GOODS_SKU_NFT
);
LinkedList
<
Object
[]>
updateGoodsSkuNftObjs
=
CollectionUtil
.
linkedListObjectArr
();
updateGoodsSkuNftObjs
.
add
(
new
Object
[]{
upchain
,
displayUrl
,
nftUrl
,
skuId
});
sqlUpdateMap
.
put
(
MQConst
.
QUEUE_MESSAGE_KEY
,
SqlMapping
.
gets
(
toMqSqls
,
updateGoodsSkuNftObjs
));
StreamOperations
<
String
,
Object
,
Object
>
streamOperations
=
stringRedisTemplate
.
opsForStream
();
streamOperations
.
add
(
StreamRecords
.
mapBacked
(
sqlUpdateMap
).
withStreamKey
(
MQConst
.
GoblinQueue
.
SQL_GOODS
.
getKey
()));
HashMap
<
String
,
String
>
toQueueBeClaimQueryMsg
=
CollectionUtil
.
mapStringString
();
toQueueBeClaimQueryMsg
.
put
(
MQConst
.
QUEUE_MESSAGE_KEY
,
skuId
.
concat
(
","
).
concat
(
String
.
valueOf
(
LocalDateTime
.
now
())));
streamOperations
.
add
(
StreamRecords
.
mapBacked
(
toQueueBeClaimQueryMsg
).
withStreamKey
(
MQConst
.
GoblinQueue
.
BIZ_ARTWORK_CLQ
.
getKey
()));
return
ResponseDto
.
success
();
return
ResponseDto
.
success
();
}
}
...
...
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