记得上下班打卡 | 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
d4e237af
Commit
d4e237af
authored
Jan 20, 2022
by
zhengfuxin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改精选商品
parent
6bd0c4a1
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
149 additions
and
2 deletions
+149
-2
GoblinRedisConst.java
...m/liquidnet/service/goblin/constant/GoblinRedisConst.java
+3
-2
GoblinFrontServiceImpl.java
...t/service/goblin/service/impl/GoblinFrontServiceImpl.java
+146
-0
No files found.
liquidnet-bus-api/liquidnet-service-goblin-api/src/main/java/com/liquidnet/service/goblin/constant/GoblinRedisConst.java
View file @
d4e237af
...
@@ -75,8 +75,9 @@ public class GoblinRedisConst {
...
@@ -75,8 +75,9 @@ public class GoblinRedisConst {
public
static
final
String
FRONT_HOTWORD_INDEX
=
PREFIX
.
concat
(
"front_hot_word_index"
);
//前端banner index
public
static
final
String
FRONT_HOTWORD_INDEX
=
PREFIX
.
concat
(
"front_hot_word_index"
);
//前端banner index
public
static
final
String
FRONT_FRONT_SECKILL
=
PREFIX
.
concat
(
"front_front_seckill"
);
//前端 首页秒杀
public
static
final
String
FRONT_FRONT_SECKILL
=
PREFIX
.
concat
(
"front_front_seckill"
);
//前端 首页秒杀
public
static
final
String
FRONT_SECKILL
=
PREFIX
.
concat
(
"front_seckill"
);
//前端 秒杀列表
public
static
final
String
FRONT_SECKILL
=
PREFIX
.
concat
(
"front_seckill"
);
//前端 秒杀列表
public
static
final
String
SELECT_GOODS
=
PREFIX
.
concat
(
"select_goods"
);
//精选商品
public
static
final
String
SELECT_GOODS
=
PREFIX
.
concat
(
"select_goods"
);
//配置的精选商品
public
static
final
String
SELECT_GOODS_PAGE1
=
PREFIX
.
concat
(
"select_goods_page1"
);
//精选商品
public
static
final
String
SELECT_GOODS_PAGE1
=
PREFIX
.
concat
(
"select_goods_page1"
);
//精选商品 第一页
public
static
final
String
SELECT_GOODS_SPUIDS
=
PREFIX
.
concat
(
"select_goods_SPUIDS"
);
//精选商品 spuids
public
static
final
String
MOUDLE_INDEX
=
PREFIX
.
concat
(
"moudle_index"
);
//moudle_index 组件排序
public
static
final
String
MOUDLE_INDEX
=
PREFIX
.
concat
(
"moudle_index"
);
//moudle_index 组件排序
public
static
final
String
COMPLIATIONS
=
PREFIX
.
concat
(
"goblinFrontCompilations"
);
// 合集
public
static
final
String
COMPLIATIONS
=
PREFIX
.
concat
(
"goblinFrontCompilations"
);
// 合集
public
static
final
String
FRONT_GOBLINFRONTCUBE
=
PREFIX
.
concat
(
"goblinFrontCube"
);
// 魔方
public
static
final
String
FRONT_GOBLINFRONTCUBE
=
PREFIX
.
concat
(
"goblinFrontCube"
);
// 魔方
...
...
liquidnet-bus-service/liquidnet-service-goblin/liquidnet-service-goblin-impl/src/main/java/com/liquidnet/service/goblin/service/impl/GoblinFrontServiceImpl.java
View file @
d4e237af
...
@@ -522,7 +522,96 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
...
@@ -522,7 +522,96 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
return
goblinFrontCategoryListVo
;
return
goblinFrontCategoryListVo
;
}
}
/**
* 获取 mongodb里面的spuId
* @return
*/
public
String
getspuId
(
String
spuids
,
int
page
,
int
pageSize
){
Query
query
=
new
Query
();
if
(
StringUtil
.
isNotBlank
(
spuids
)){
query
.
addCriteria
(
Criteria
.
where
(
"spuId"
).
nin
(
spuids
.
split
(
","
)));
}
query
.
addCriteria
(
Criteria
.
where
(
"delFlg"
).
is
(
0
));
Sort
sortName
=
Sort
.
by
(
Sort
.
Direction
.
DESC
,
"count"
);
/* Pageable pageable = PageRequest.of(page, pageSize, sortName);
query.with(pageable);*/
List
<
GoblinGoodsInfoVo
>
list
=
mongoTemplate
.
find
(
query
,
GoblinGoodsInfoVo
.
class
,
GoblinGoodsInfoVo
.
class
.
getSimpleName
());
StringBuffer
sb
=
new
StringBuffer
();
int
index
=
0
;
for
(
GoblinGoodsInfoVo
goblinGoodsInfoVo:
list
){
if
(
index
==
0
){
sb
.
append
(
goblinGoodsInfoVo
.
getSpuId
());
}
else
{
sb
.
append
(
","
+
goblinGoodsInfoVo
.
getSpuId
());
}
index
++;
}
return
sb
.
toString
();
}
public
void
setPage1
(
List
<
GoblinFrontSelectGoods
>
list
,
int
pageSize
){
StringBuffer
sb
=
new
StringBuffer
();
//足够了 拼接字符串
int
i
=
0
;
for
(
GoblinFrontSelectGoods
goblinFrontSelectGoods:
list
){
if
(
i
==
0
){
sb
.
append
(
goblinFrontSelectGoods
.
getSpuId
());
}
else
{
sb
.
append
(
","
+
goblinFrontSelectGoods
.
getSpuId
());
}
i
++;
if
(
i
==
pageSize
)
break
;
}
redisUtil
.
set
(
GoblinRedisConst
.
SELECT_GOODS_PAGE1
,
sb
.
toString
());
}
public
void
setPage1AndSpu
(
List
<
GoblinFrontSelectGoods
>
list
,
int
pageSize
){
validate
(
list
);
StringBuffer
sb
=
new
StringBuffer
();
if
(
null
!=
list
&&
list
.
size
()>
0
){
int
i
=
0
;
for
(
GoblinFrontSelectGoods
goblinFrontSelectGoods:
list
){
if
(
i
==
0
){
sb
.
append
(
goblinFrontSelectGoods
.
getSpuId
());
}
else
{
sb
.
append
(
","
+
goblinFrontSelectGoods
.
getSpuId
());
}
i
++;
}
}
String
s
=
this
.
getspuId
(
sb
.
toString
(),
0
,
0
);
String
supids
=
""
;
if
(
StringUtil
.
isNotBlank
(
sb
.
toString
())&&
StringUtil
.
isNotBlank
(
s
)){
supids
=
sb
.
toString
()+
","
+
s
;
}
else
if
(
StringUtil
.
isNotBlank
(
sb
.
toString
())){
supids
=
sb
.
toString
();
}
else
if
(
StringUtil
.
isNotBlank
(
s
)){
supids
=
s
;
}
log
.
debug
(
"spuid所有的为:{}"
,
supids
);
int
index
=
0
;
StringBuffer
sb1
=
new
StringBuffer
();
for
(
String
ss:
supids
.
split
(
","
)){
sb1
.
append
(
ss
);
index
++;
if
(
index
==
pageSize
){
break
;
}
}
redisUtil
.
set
(
GoblinRedisConst
.
SELECT_GOODS_PAGE1
,
sb1
.
toString
());
redisUtil
.
set
(
GoblinRedisConst
.
SELECT_GOODS_SPUIDS
,
supids
);
}
public
void
validate
(
List
<
GoblinFrontSelectGoods
>
list
){
if
(
null
!=
list
&
list
.
size
()>
0
){
Iterator
<
GoblinFrontSelectGoods
>
it
=
list
.
iterator
();
while
(
it
.
hasNext
())
{
GoblinFrontSelectGoods
goblinFrontSelectGoods
=
it
.
next
();
GoblinGoodsInfoVo
goblinGoodsInfoVo
=
goblinRedisUtils
.
getGoodsInfoVo
(
goblinFrontSelectGoods
.
getSpuId
());
if
(
null
==
goblinGoodsInfoVo
)
{
it
.
remove
();
}
}
}
}
/**
/**
* @author zhangfuxin
* @author zhangfuxin
* @Description:精选商品列表
* @Description:精选商品列表
...
@@ -530,6 +619,63 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
...
@@ -530,6 +619,63 @@ public class GoblinFrontServiceImpl implements GoblinFrontService {
*/
*/
@Override
@Override
public
GoblinFrontSelectGoodVo
getSelectGoods
(
int
page
,
int
pageSize
)
{
public
GoblinFrontSelectGoodVo
getSelectGoods
(
int
page
,
int
pageSize
)
{
GoblinFrontSelectGoodVo
goblinFrontSelectGoodVo
=
GoblinFrontSelectGoodVo
.
getNew
();
//先从redis里 查 是否有第一页的值
String
spuIds
=
""
;
if
(
page
==
0
){
if
(
redisUtil
.
hasKey
(
GoblinRedisConst
.
SELECT_GOODS_PAGE1
)){
String
[]
spuids
=
redisUtil
.
get
(
GoblinRedisConst
.
SELECT_GOODS_PAGE1
).
toString
().
split
(
","
);
ArrayList
<
GoblinGoodsInfoVo
>
goblinGoodsInfoVoArrayList
=
ObjectUtil
.
getGoblinGoodsInfoVos
();
for
(
String
id:
spuids
){
GoblinGoodsInfoVo
goblinGoodsInfoVo
=
goblinRedisUtils
.
getGoodsInfoVo
(
id
);
goblinGoodsInfoVoArrayList
.
add
(
goblinGoodsInfoVo
);
}
goblinFrontSelectGoodVo
.
setGoblinGoodsInfoVoList
(
goblinGoodsInfoVoArrayList
);
return
goblinFrontSelectGoodVo
;
}
else
{
//从redis里面查出配置的 spu
if
(
redisUtil
.
hasKey
(
GoblinRedisConst
.
SELECT_GOODS
)){
List
<
GoblinFrontSelectGoods
>
list
=
(
List
<
GoblinFrontSelectGoods
>)
redisUtil
.
get
(
GoblinRedisConst
.
SELECT_GOODS
);
validate
(
list
);
if
(
list
.
size
()>=
pageSize
){
this
.
setPage1
(
list
,
pageSize
);
return
this
.
getSelectGoods
(
page
,
pageSize
);
}
else
{
setPage1AndSpu
(
list
,
pageSize
);
return
this
.
getSelectGoods
(
page
,
pageSize
);
}
}
else
{
setPage1AndSpu
(
null
,
pageSize
);
return
this
.
getSelectGoods
(
page
,
pageSize
);
}
}
}
else
{
//查看是否有 配置的 spuid的顺序
if
(!
redisUtil
.
hasKey
(
GoblinRedisConst
.
SELECT_GOODS_SPUIDS
)){
List
<
GoblinFrontSelectGoods
>
list
=
(
List
<
GoblinFrontSelectGoods
>)
redisUtil
.
get
(
GoblinRedisConst
.
SELECT_GOODS
);
setPage1AndSpu
(
list
,
pageSize
);
this
.
getSelectGoods
(
page
,
pageSize
);
}
String
[]
spuidss
=
redisUtil
.
get
(
GoblinRedisConst
.
SELECT_GOODS_SPUIDS
).
toString
().
split
(
","
);
//找到对应的spuid
int
start
=
page
*
pageSize
;
int
end
=(
page
+
1
)*
pageSize
;
if
(
end
<
spuidss
.
length
){
end
=
spuidss
.
length
;
}
ArrayList
<
GoblinGoodsInfoVo
>
goblinGoodsInfoVoArrayList
=
ObjectUtil
.
getGoblinGoodsInfoVos
();
for
(
int
i
=
0
;
i
<=
end
;
i
++){
if
(
i
>=
start
){
GoblinGoodsInfoVo
goblinGoodsInfoVo
=
goblinRedisUtils
.
getGoodsInfoVo
(
spuidss
[
i
]);
goblinGoodsInfoVoArrayList
.
add
(
goblinGoodsInfoVo
);
}
}
goblinFrontSelectGoodVo
.
setGoblinGoodsInfoVoList
(
goblinGoodsInfoVoArrayList
);
goblinFrontSelectGoodVo
.
setCount
(
spuidss
.
length
);
return
goblinFrontSelectGoodVo
;
}
/* String spuIds="";
/* String spuIds="";
if(!redisUtil.hasKey(GoblinRedisConst.SELECT_GOODS)){
if(!redisUtil.hasKey(GoblinRedisConst.SELECT_GOODS)){
//查看redis里面第一页的商品
//查看redis里面第一页的商品
...
...
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