记得上下班打卡 | 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
da953468
Commit
da953468
authored
May 21, 2022
by
jiangxiulong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化
parent
92007c4b
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
82 additions
and
4 deletions
+82
-4
GoblinRedisConst.java
...m/liquidnet/service/goblin/constant/GoblinRedisConst.java
+1
-0
GoblinNftGoodsAppServiceImpl.java
...ice/goblin/service/impl/GoblinNftGoodsAppServiceImpl.java
+38
-0
GoblinNftJobServiceImpl.java
...ce/goblin/service/impl/inner/GoblinNftJobServiceImpl.java
+29
-4
GoblinRedisUtils.java
...a/com/liquidnet/service/goblin/util/GoblinRedisUtils.java
+14
-0
No files found.
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/constant/GoblinRedisConst.java
View file @
da953468
...
@@ -131,6 +131,7 @@ public class GoblinRedisConst {
...
@@ -131,6 +131,7 @@ public class GoblinRedisConst {
public
static
final
String
REDIS_GOBLIN_NFT_ORDER_BUG_LOCK
=
PREFIX
.
concat
(
"nft:order:lock:"
);
// nft购买用户锁 userId
public
static
final
String
REDIS_GOBLIN_NFT_ORDER_BUG_LOCK
=
PREFIX
.
concat
(
"nft:order:lock:"
);
// nft购买用户锁 userId
public
static
final
String
REDIS_GOBLIN_NFT_ORDER_EX_LOCK
=
PREFIX
.
concat
(
"nft:order:exLock:"
);
// nft兑换码锁 code
public
static
final
String
REDIS_GOBLIN_NFT_ORDER_EX_LOCK
=
PREFIX
.
concat
(
"nft:order:exLock:"
);
// nft兑换码锁 code
public
static
final
String
REDIS_GOBLIN_NFT_GOODS_LIST
=
PREFIX
.
concat
(
"nft:goodsList"
);
// nft商品列表
public
static
final
String
REDIS_GOBLIN_NFT_GOODS_LIST
=
PREFIX
.
concat
(
"nft:goodsList"
);
// nft商品列表
public
static
final
String
REDIS_GOBLIN_NFT_GOODS_LIST_INFO
=
PREFIX
.
concat
(
"nft:goodsList:info:"
);
// nft商品列表单藏品详情 skuId
public
static
final
String
REDIS_GOBLIN_NFT_NUM_ACCOUNT
=
PREFIX
.
concat
(
"nft:account:"
);
// nft用户数字账户是否开通 userId
public
static
final
String
REDIS_GOBLIN_NFT_NUM_ACCOUNT
=
PREFIX
.
concat
(
"nft:account:"
);
// nft用户数字账户是否开通 userId
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/service/impl/GoblinNftGoodsAppServiceImpl.java
View file @
da953468
...
@@ -102,6 +102,44 @@ public class GoblinNftGoodsAppServiceImpl implements IGoblinNftGoodsAppService {
...
@@ -102,6 +102,44 @@ public class GoblinNftGoodsAppServiceImpl implements IGoblinNftGoodsAppService {
return
ResponseDto
.
success
(
listVoPagedResult
);
return
ResponseDto
.
success
(
listVoPagedResult
);
}
}
/*@Override
public ResponseDto<PagedResult<GoblinNftGoodsSkuListVo>> goodsList(int page) {
List<String> startSkuIdList = goblinRedisUtils.getGoblinNftGoodsInfoListVo("1");
List<String> notStartSkuIdList = goblinRedisUtils.getGoblinNftGoodsInfoListVo("2");
List<String> soldOutSkuIdList = goblinRedisUtils.getGoblinNftGoodsInfoListVo("3");
List<String> allIdList = Stream.of(startSkuIdList, notStartSkuIdList, soldOutSkuIdList).flatMap(Collection::stream).collect(Collectors.toList());
int finalCount = (page - 1) * size;
int initCount = page * size;
if (finalCount < 0) {
finalCount = 0;
}
int allSize = allIdList.size();
if (initCount > allSize) {
initCount = allSize;
}
List<GoblinNftGoodsSkuListVo> skuList = ObjectUtil.getGoblinNftGoodsSkuListVoArrayList();
for (int i = finalCount; i < initCount; i++) {
String skuId = allIdList.get(i);
// sku信息
GoblinNftGoodsSkuListVo goblinNftGoodsListInfoVo = goblinRedisUtils.getGoblinNftGoodsListInfoVo(skuId);
if (null != goblinNftGoodsListInfoVo) {
// 库存、预约
if (soldOutSkuIdList.contains(skuId)) {// 是售罄的
goblinNftGoodsListInfoVo.setIsStock(0);
} else {
goblinNftGoodsListInfoVo.setIsStock(1);
}
// 写入列表
skuList.add(goblinNftGoodsListInfoVo);
}
}
PagedResult<GoblinNftGoodsSkuListVo> listVoPagedResult = ObjectUtil.getGoblinNftGoodsSkuListVoPagedResult();
listVoPagedResult.setList(skuList).setPageSize(GoblinNftGoodsAppServiceImpl.size).setCurrentPage(page);
return ResponseDto.success(listVoPagedResult);
}*/
@Override
@Override
public
GoblinNftGoodsSkuInfoVo
goodsDetail
(
String
skuId
)
{
public
GoblinNftGoodsSkuInfoVo
goodsDetail
(
String
skuId
)
{
LocalDateTime
now
=
LocalDateTime
.
now
();
LocalDateTime
now
=
LocalDateTime
.
now
();
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/service/impl/inner/GoblinNftJobServiceImpl.java
View file @
da953468
package
com
.
liquidnet
.
service
.
goblin
.
service
.
impl
.
inner
;
package
com
.
liquidnet
.
service
.
goblin
.
service
.
impl
.
inner
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.goblin.dto.vo.GoblinGoodsSkuInfoVo
;
import
com.liquidnet.service.goblin.dto.vo.GoblinGoodsSkuInfoVo
;
...
@@ -49,7 +48,7 @@ public class GoblinNftJobServiceImpl {
...
@@ -49,7 +48,7 @@ public class GoblinNftJobServiceImpl {
*
*
* @return
* @return
*/
*/
public
ResponseDto
<
Boolean
>
goodsList
Back
()
{
public
ResponseDto
<
Boolean
>
goodsList
()
{
// mongo初始条件
// mongo初始条件
Query
query1
=
Query
.
query
(
Query
query1
=
Query
.
query
(
Criteria
.
where
(
"skuType"
).
is
(
1
).
and
(
"delFlg"
).
is
(
"0"
)
Criteria
.
where
(
"skuType"
).
is
(
1
).
and
(
"delFlg"
).
is
(
"0"
)
...
@@ -146,7 +145,7 @@ public class GoblinNftJobServiceImpl {
...
@@ -146,7 +145,7 @@ public class GoblinNftJobServiceImpl {
return
ResponseDto
.
success
();
return
ResponseDto
.
success
();
}
}
public
ResponseDto
<
Boolean
>
goodsList
()
{
/*
public ResponseDto<Boolean> goodsList() {
// mongo初始条件
// mongo初始条件
Query query1 = Query.query(
Query query1 = Query.query(
Criteria.where("skuType").is(1).and("delFlg").is("0")
Criteria.where("skuType").is(1).and("delFlg").is("0")
...
@@ -185,6 +184,7 @@ public class GoblinNftJobServiceImpl {
...
@@ -185,6 +184,7 @@ public class GoblinNftJobServiceImpl {
for (GoblinNftGoodsSkuListJobVo info : startSkuInfoVos) {
for (GoblinNftGoodsSkuListJobVo info : startSkuInfoVos) {
HashMap<String, Object> mapData = goblinRedisUtils.getGoodsSkuInfoVo(nowTime, info.getSkuId());
HashMap<String, Object> mapData = goblinRedisUtils.getGoodsSkuInfoVo(nowTime, info.getSkuId());
GoblinGoodsSkuInfoVo skuInfoVo = (GoblinGoodsSkuInfoVo) mapData.get("vo");
GoblinGoodsSkuInfoVo skuInfoVo = (GoblinGoodsSkuInfoVo) mapData.get("vo");
Integer tagType = (Integer) mapData.get("tagType");
String listId = (String) mapData.get("listId");
String listId = (String) mapData.get("listId");
info.setSaleStartTime(skuInfoVo.getSaleStartTime());
info.setSaleStartTime(skuInfoVo.getSaleStartTime());
info.setListId(listId);
info.setListId(listId);
...
@@ -193,10 +193,23 @@ public class GoblinNftJobServiceImpl {
...
@@ -193,10 +193,23 @@ public class GoblinNftJobServiceImpl {
} else {// 已开始的
} else {// 已开始的
startSkuInfoVosNew.add(info);
startSkuInfoVosNew.add(info);
}
}
// 写入listvo
GoblinNftGoodsSkuListVo goblinNftGoodsSkuListVo = GoblinNftGoodsSkuListVo.getNew().copy(skuInfoVo);
GoblinGoodsInfoVo goodsInfoVo = goblinRedisUtils.getGoodsInfoVo(goblinNftGoodsSkuListVo.getSpuId());
GoblinNftGoodsSpuInfoVo nftGoodsSpuInfoVo = GoblinNftGoodsSpuInfoVo.getNew().copy(goodsInfoVo);
goblinNftGoodsSkuListVo.setGoblinNftGoodsSpuInfoVo(nftGoodsSpuInfoVo);
goblinNftGoodsSkuListVo.setIsStock(0);
goblinNftGoodsSkuListVo.setTagType(tagType);
AnticipateValueVo anticipateValueVo = goblinGoodsAnticipateMgService.getAnticipateValueBySkuId(info.getSkuId(), 0);
goblinNftGoodsSkuListVo.setAnticipateValueVo(anticipateValueVo);
goblinRedisUtils.setGoblinNftGoodsListInfoVo(info.getSkuId(), goblinNftGoodsSkuListVo);
}
}
for (GoblinNftGoodsSkuListJobVo info : notStartSkuInfoVos) {
for (GoblinNftGoodsSkuListJobVo info : notStartSkuInfoVos) {
HashMap<String, Object> mapData = goblinRedisUtils.getGoodsSkuInfoVo(nowTime, info.getSkuId());
HashMap<String, Object> mapData = goblinRedisUtils.getGoodsSkuInfoVo(nowTime, info.getSkuId());
GoblinGoodsSkuInfoVo skuInfoVo = (GoblinGoodsSkuInfoVo) mapData.get("vo");
GoblinGoodsSkuInfoVo skuInfoVo = (GoblinGoodsSkuInfoVo) mapData.get("vo");
Integer tagType = (Integer) mapData.get("tagType");
String listId = (String) mapData.get("listId");
String listId = (String) mapData.get("listId");
info.setSaleStartTime(skuInfoVo.getSaleStartTime());
info.setSaleStartTime(skuInfoVo.getSaleStartTime());
info.setListId(listId);
info.setListId(listId);
...
@@ -205,6 +218,18 @@ public class GoblinNftJobServiceImpl {
...
@@ -205,6 +218,18 @@ public class GoblinNftJobServiceImpl {
} else {// 已开始的
} else {// 已开始的
startSkuInfoVosNew.add(info);
startSkuInfoVosNew.add(info);
}
}
// 写入listvo
GoblinNftGoodsSkuListVo goblinNftGoodsSkuListVo = GoblinNftGoodsSkuListVo.getNew().copy(skuInfoVo);
GoblinGoodsInfoVo goodsInfoVo = goblinRedisUtils.getGoodsInfoVo(goblinNftGoodsSkuListVo.getSpuId());
GoblinNftGoodsSpuInfoVo nftGoodsSpuInfoVo = GoblinNftGoodsSpuInfoVo.getNew().copy(goodsInfoVo);
goblinNftGoodsSkuListVo.setGoblinNftGoodsSpuInfoVo(nftGoodsSpuInfoVo);
goblinNftGoodsSkuListVo.setTagType(tagType);
goblinNftGoodsSkuListVo.setIsStock(0);
AnticipateValueVo anticipateValueVo = goblinGoodsAnticipateMgService.getAnticipateValueBySkuId(info.getSkuId(), 0);
goblinNftGoodsSkuListVo.setAnticipateValueVo(anticipateValueVo);
goblinRedisUtils.setGoblinNftGoodsListInfoVo(info.getSkuId(), goblinNftGoodsSkuListVo);
}
}
// 根据新的vos排序 未开卖 时间正序
// 根据新的vos排序 未开卖 时间正序
...
@@ -238,7 +263,7 @@ public class GoblinNftJobServiceImpl {
...
@@ -238,7 +263,7 @@ public class GoblinNftJobServiceImpl {
goblinRedisUtils.setGoblinNftGoodsInfoListVo(soldOutSkuIdList, "3");
goblinRedisUtils.setGoblinNftGoodsInfoListVo(soldOutSkuIdList, "3");
return ResponseDto.success();
return ResponseDto.success();
}
}
*/
/**
/**
* 处理[未开售/开售]五分钟内的nft[优先购/分批购]库存job
* 处理[未开售/开售]五分钟内的nft[优先购/分批购]库存job
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/util/GoblinRedisUtils.java
View file @
da953468
...
@@ -1999,6 +1999,20 @@ public class GoblinRedisUtils {
...
@@ -1999,6 +1999,20 @@ public class GoblinRedisUtils {
}
}
}
}
public
void
setGoblinNftGoodsListInfoVo
(
String
skuId
,
GoblinNftGoodsSkuListVo
data
)
{
String
redisKey
=
GoblinRedisConst
.
REDIS_GOBLIN_NFT_GOODS_LIST_INFO
.
concat
(
skuId
);
redisUtil
.
set
(
redisKey
,
data
);
}
public
GoblinNftGoodsSkuListVo
getGoblinNftGoodsListInfoVo
(
String
skuId
)
{
String
redisKey
=
GoblinRedisConst
.
REDIS_GOBLIN_NFT_GOODS_LIST_INFO
.
concat
(
skuId
);
Object
obj
=
redisUtil
.
get
(
redisKey
);
if
(
obj
==
null
)
{
return
null
;
}
else
{
return
(
GoblinNftGoodsSkuListVo
)
obj
;
}
}
public
void
setGoblinNftGoodsInfoListVo
(
List
<
String
>
spuList
,
String
num
)
{
public
void
setGoblinNftGoodsInfoListVo
(
List
<
String
>
spuList
,
String
num
)
{
String
redisKey
=
GoblinRedisConst
.
REDIS_GOBLIN_NFT_GOODS_LIST
.
concat
(
num
);
String
redisKey
=
GoblinRedisConst
.
REDIS_GOBLIN_NFT_GOODS_LIST
.
concat
(
num
);
redisUtil
.
set
(
redisKey
,
spuList
);
redisUtil
.
set
(
redisKey
,
spuList
);
...
...
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