记得上下班打卡 | 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
7b85bc23
Commit
7b85bc23
authored
Apr 14, 2022
by
GaoHu
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev_nft_411' into dev_nft_411
parents
057a7eb6
8c0a260e
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
49 additions
and
24 deletions
+49
-24
RedisStreamConfig.java
...iquidnet.common.cache/redis/config/RedisStreamConfig.java
+19
-6
GoblinNftGoodsAppServiceImpl.java
...ice/goblin/service/impl/GoblinNftGoodsAppServiceImpl.java
+27
-15
GoblinRedisUtils.java
...a/com/liquidnet/service/goblin/util/GoblinRedisUtils.java
+3
-3
No files found.
liquidnet-bus-common/liquidnet-common-cache/liquidnet-common-cache-redis/src/main/java/com.liquidnet.common.cache/redis/config/RedisStreamConfig.java
View file @
7b85bc23
...
@@ -2,8 +2,6 @@ package com.liquidnet.common.cache.redis.config;
...
@@ -2,8 +2,6 @@ package com.liquidnet.common.cache.redis.config;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.var
;
import
lombok.var
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.data.redis.connection.RedisConnectionFactory
;
import
org.springframework.data.redis.connection.RedisConnectionFactory
;
import
org.springframework.data.redis.connection.stream.MapRecord
;
import
org.springframework.data.redis.connection.stream.MapRecord
;
import
org.springframework.data.redis.connection.stream.RecordId
;
import
org.springframework.data.redis.connection.stream.RecordId
;
...
@@ -11,7 +9,6 @@ import org.springframework.data.redis.connection.stream.StreamRecords;
...
@@ -11,7 +9,6 @@ import org.springframework.data.redis.connection.stream.StreamRecords;
import
org.springframework.data.redis.core.StreamOperations
;
import
org.springframework.data.redis.core.StreamOperations
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
import
org.springframework.data.redis.stream.StreamMessageListenerContainer
;
import
org.springframework.data.redis.stream.StreamMessageListenerContainer
;
import
org.springframework.stereotype.Component
;
import
java.net.InetAddress
;
import
java.net.InetAddress
;
import
java.net.UnknownHostException
;
import
java.net.UnknownHostException
;
...
@@ -49,10 +46,26 @@ public class RedisStreamConfig {
...
@@ -49,10 +46,26 @@ public class RedisStreamConfig {
}
}
public
StreamMessageListenerContainer
<
String
,
MapRecord
<
String
,
String
,
String
>>
buildStreamMessageListenerContainer
(
RedisConnectionFactory
factory
)
{
public
StreamMessageListenerContainer
<
String
,
MapRecord
<
String
,
String
,
String
>>
buildStreamMessageListenerContainer
(
RedisConnectionFactory
factory
)
{
var
options
=
StreamMessageListenerContainer
// var options = StreamMessageListenerContainer
.
StreamMessageListenerContainerOptions
// .StreamMessageListenerContainerOptions
// .builder()
// .pollTimeout(Duration.ofMillis(1))
// .build();
// 创建配置对象
StreamMessageListenerContainer
.
StreamMessageListenerContainerOptions
<
String
,
MapRecord
<
String
,
String
,
String
>>
options
=
StreamMessageListenerContainer
.
StreamMessageListenerContainerOptions
.
builder
()
.
builder
()
.
pollTimeout
(
Duration
.
ofMillis
(
1
))
// 一次性最多拉取多少条消息
.
batchSize
(
1
)
// 执行消息轮询的执行器
// .executor(this.threadPoolTaskExecutor)
// 消息消费异常的handler
.
errorHandler
(
t
->
{
// StreamListener中的异常会在这里抛出
System
.
out
.
println
(
"errorHandler: "
+
t
.
getMessage
());
})
// 超时时间,设置为0,表示不超时(超时后会抛出异常)
.
pollTimeout
(
Duration
.
ZERO
)
.
build
();
.
build
();
return
StreamMessageListenerContainer
.
create
(
factory
,
options
);
return
StreamMessageListenerContainer
.
create
(
factory
,
options
);
}
}
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/service/impl/GoblinNftGoodsAppServiceImpl.java
View file @
7b85bc23
...
@@ -7,7 +7,6 @@ import com.liquidnet.service.base.ResponseDto;
...
@@ -7,7 +7,6 @@ import com.liquidnet.service.base.ResponseDto;
import
com.liquidnet.service.goblin.dto.manage.vo.AnticipateValueVo
;
import
com.liquidnet.service.goblin.dto.manage.vo.AnticipateValueVo
;
import
com.liquidnet.service.goblin.dto.vo.*
;
import
com.liquidnet.service.goblin.dto.vo.*
;
import
com.liquidnet.service.goblin.service.GoblinCouponService
;
import
com.liquidnet.service.goblin.service.GoblinCouponService
;
import
com.liquidnet.service.goblin.service.IGoblinGoodsAnticipateService
;
import
com.liquidnet.service.goblin.service.IGoblinNftGoodsAppService
;
import
com.liquidnet.service.goblin.service.IGoblinNftGoodsAppService
;
import
com.liquidnet.service.goblin.service.manage.IGoblinGoodsAnticipateMgService
;
import
com.liquidnet.service.goblin.service.manage.IGoblinGoodsAnticipateMgService
;
import
com.liquidnet.service.goblin.util.GoblinMongoUtils
;
import
com.liquidnet.service.goblin.util.GoblinMongoUtils
;
...
@@ -29,7 +28,6 @@ import java.time.LocalDateTime;
...
@@ -29,7 +28,6 @@ import java.time.LocalDateTime;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Comparator
;
import
java.util.Comparator
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
@Service
@Service
...
@@ -56,6 +54,11 @@ public class GoblinNftGoodsAppServiceImpl implements IGoblinNftGoodsAppService {
...
@@ -56,6 +54,11 @@ public class GoblinNftGoodsAppServiceImpl implements IGoblinNftGoodsAppService {
int
size
=
40
;
int
size
=
40
;
//条件
//条件
List
<
String
>
skuIdList
=
goblinRedisUtils
.
getGoblinNftGoodsInfoListVo
();
List
<
GoblinNftGoodsSkuListVo
>
skuList
=
new
ArrayList
<>();
if
(
null
==
skuIdList
||
page
>
1
)
{
skuIdList
=
new
ArrayList
<>();
// 分页 排序:按照开售时间
Query
query
=
Query
.
query
(
Query
query
=
Query
.
query
(
Criteria
.
where
(
"skuType"
).
is
(
1
)
Criteria
.
where
(
"skuType"
).
is
(
1
)
.
and
(
"delFlg"
).
is
(
"0"
)
.
and
(
"delFlg"
).
is
(
"0"
)
...
@@ -63,17 +66,13 @@ public class GoblinNftGoodsAppServiceImpl implements IGoblinNftGoodsAppService {
...
@@ -63,17 +66,13 @@ public class GoblinNftGoodsAppServiceImpl implements IGoblinNftGoodsAppService {
.
and
(
"shelvesStatus"
).
is
(
"3"
)
.
and
(
"shelvesStatus"
).
is
(
"3"
)
.
and
(
"skuAppear"
).
is
(
"0"
)
.
and
(
"skuAppear"
).
is
(
"0"
)
);
);
List
<
GoblinNftGoodsSkuListVo
>
skuList
=
goblinRedisUtils
.
getGoblinNftGoodsInfoListVo
();
if
(
null
==
skuList
||
page
>
1
)
{
skuList
=
new
ArrayList
<>();
// 分页 排序:按照开售时间
Pageable
pageable
=
PageRequest
.
of
(
page
-
1
,
size
,
Sort
.
by
(
Sort
.
Direction
.
ASC
,
"saleStartTime"
));
Pageable
pageable
=
PageRequest
.
of
(
page
-
1
,
size
,
Sort
.
by
(
Sort
.
Direction
.
ASC
,
"saleStartTime"
));
query
.
with
(
pageable
);
query
.
with
(
pageable
);
List
<
GoblinGoodsSkuInfoVo
>
skuInfoVos
=
mongoTemplate
.
find
(
query
,
GoblinGoodsSkuInfoVo
.
class
,
GoblinGoodsSkuInfoVo
.
class
.
getSimpleName
());
List
<
GoblinGoodsSkuInfoVo
>
skuInfoVos
=
mongoTemplate
.
find
(
query
,
GoblinGoodsSkuInfoVo
.
class
,
GoblinGoodsSkuInfoVo
.
class
.
getSimpleName
());
for
(
GoblinGoodsSkuInfoVo
info
:
skuInfoVos
)
{
for
(
GoblinGoodsSkuInfoVo
info
:
skuInfoVos
)
{
//获取预约相关
//获取预约相关
AnticipateValueVo
anticipateValueVo
=
goblinGoodsAnticipateMgService
.
getAnticipateValueBySkuId
(
info
.
getSkuId
(),
0
);
AnticipateValueVo
anticipateValueVo
=
goblinGoodsAnticipateMgService
.
getAnticipateValueBySkuId
(
info
.
getSkuId
(),
0
);
// sku信息
// sku信息
GoblinNftGoodsSkuListVo
nftGoodsSkuInfoVo
=
GoblinNftGoodsSkuListVo
.
getNew
().
copy
(
info
,
anticipateValueVo
);
GoblinNftGoodsSkuListVo
nftGoodsSkuInfoVo
=
GoblinNftGoodsSkuListVo
.
getNew
().
copy
(
info
,
anticipateValueVo
);
// spu信息
// spu信息
...
@@ -82,9 +81,22 @@ public class GoblinNftGoodsAppServiceImpl implements IGoblinNftGoodsAppService {
...
@@ -82,9 +81,22 @@ public class GoblinNftGoodsAppServiceImpl implements IGoblinNftGoodsAppService {
nftGoodsSkuInfoVo
.
setGoblinNftGoodsSpuInfoVo
(
nftGoodsSpuInfoVo
);
nftGoodsSkuInfoVo
.
setGoblinNftGoodsSpuInfoVo
(
nftGoodsSpuInfoVo
);
// 写入列表
// 写入列表
skuList
.
add
(
nftGoodsSkuInfoVo
);
skuList
.
add
(
nftGoodsSkuInfoVo
);
skuIdList
.
add
(
nftGoodsSkuInfoVo
.
getSkuId
());
}
}
if
(
page
<=
1
)
{
if
(
page
<=
1
)
{
goblinRedisUtils
.
setGoblinNftGoodsInfoListVo
(
skuList
);
goblinRedisUtils
.
setGoblinNftGoodsInfoListVo
(
skuIdList
);
}
}
else
{
for
(
String
skuId
:
skuIdList
)
{
GoblinGoodsSkuInfoVo
goodsSkuInfoVo
=
goblinRedisUtils
.
getGoodsSkuInfoVo
(
skuId
);
GoblinNftGoodsSkuListVo
goblinNftGoodsSkuListVo
=
GoblinNftGoodsSkuListVo
.
getNew
().
copy
(
goodsSkuInfoVo
,
null
);
// spu信息
GoblinGoodsInfoVo
goodsInfoVo
=
goblinRedisUtils
.
getGoodsInfoVo
(
goodsSkuInfoVo
.
getSpuId
());
GoblinNftGoodsSpuInfoVo
nftGoodsSpuInfoVo
=
GoblinNftGoodsSpuInfoVo
.
getNew
().
copy
(
goodsInfoVo
);
goblinNftGoodsSkuListVo
.
setGoblinNftGoodsSpuInfoVo
(
nftGoodsSpuInfoVo
);
skuList
.
add
(
goblinNftGoodsSkuListVo
);
}
}
}
}
for
(
GoblinNftGoodsSkuListVo
skuInfoVo
:
skuList
)
{
for
(
GoblinNftGoodsSkuListVo
skuInfoVo
:
skuList
)
{
...
@@ -119,7 +131,7 @@ public class GoblinNftGoodsAppServiceImpl implements IGoblinNftGoodsAppService {
...
@@ -119,7 +131,7 @@ public class GoblinNftGoodsAppServiceImpl implements IGoblinNftGoodsAppService {
GoblinGoodsSkuInfoVo
goodsSkuInfoVo
=
goblinRedisUtils
.
getGoodsSkuInfoVo
(
skuId
);
GoblinGoodsSkuInfoVo
goodsSkuInfoVo
=
goblinRedisUtils
.
getGoodsSkuInfoVo
(
skuId
);
if
(
goblinRedisUtils
.
getSkuAllStatusShow
(
goodsSkuInfoVo
))
{
if
(
goblinRedisUtils
.
getSkuAllStatusShow
(
goodsSkuInfoVo
))
{
//获取预约相关
//获取预约相关
AnticipateValueVo
anticipateValueVo
=
goblinGoodsAnticipateMgService
.
getAnticipateValueBySkuId
(
skuId
,
1
);
AnticipateValueVo
anticipateValueVo
=
goblinGoodsAnticipateMgService
.
getAnticipateValueBySkuId
(
skuId
,
1
);
GoblinNftGoodsSkuInfoVo
nftGoodsSkuInfoVo
=
GoblinNftGoodsSkuInfoVo
.
getNew
().
copy
(
goodsSkuInfoVo
,
anticipateValueVo
);
GoblinNftGoodsSkuInfoVo
nftGoodsSkuInfoVo
=
GoblinNftGoodsSkuInfoVo
.
getNew
().
copy
(
goodsSkuInfoVo
,
anticipateValueVo
);
// 限购数量
// 限购数量
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/util/GoblinRedisUtils.java
View file @
7b85bc23
...
@@ -1507,17 +1507,17 @@ public class GoblinRedisUtils {
...
@@ -1507,17 +1507,17 @@ public class GoblinRedisUtils {
}
}
}
}
public
List
<
GoblinNftGoodsSkuListVo
>
getGoblinNftGoodsInfoListVo
()
{
public
List
<
String
>
getGoblinNftGoodsInfoListVo
()
{
String
redisKey
=
GoblinRedisConst
.
REDIS_GOBLIN_NFT_GOODS_LIST
;
String
redisKey
=
GoblinRedisConst
.
REDIS_GOBLIN_NFT_GOODS_LIST
;
Object
obj
=
redisUtil
.
get
(
redisKey
);
Object
obj
=
redisUtil
.
get
(
redisKey
);
if
(
obj
==
null
)
{
if
(
obj
==
null
)
{
return
null
;
return
null
;
}
else
{
}
else
{
return
(
List
<
GoblinNftGoodsSkuListVo
>)
obj
;
return
(
List
<
String
>)
obj
;
}
}
}
}
public
void
setGoblinNftGoodsInfoListVo
(
List
<
GoblinNftGoodsSkuListVo
>
spuList
)
{
public
void
setGoblinNftGoodsInfoListVo
(
List
<
String
>
spuList
)
{
String
redisKey
=
GoblinRedisConst
.
REDIS_GOBLIN_NFT_GOODS_LIST
;
String
redisKey
=
GoblinRedisConst
.
REDIS_GOBLIN_NFT_GOODS_LIST
;
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