Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
midjourney-proxy
Overview
Overview
Details
Activity
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
徐少华
midjourney-proxy
Commits
470d74ed
Commit
470d74ed
authored
Jun 10, 2020
by
吴博
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: [1002979] 部分测试书刊数据过滤规则优化
parent
b848c184
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
102 additions
and
4 deletions
+102
-4
BookConstant.java
...main/java/com/pcloud/book/book/constant/BookConstant.java
+9
-0
ESBookAndAdviserBiz.java
...main/java/com/pcloud/book/es/biz/ESBookAndAdviserBiz.java
+4
-0
ESBookAndAdviserBizImpl.java
.../com/pcloud/book/es/biz/impl/ESBookAndAdviserBizImpl.java
+75
-4
ESBookAndAdviserFacade.java
...ava/com/pcloud/book/es/facade/ESBookAndAdviserFacade.java
+14
-0
No files found.
pcloud-facade-book/src/main/java/com/pcloud/book/book/constant/BookConstant.java
View file @
470d74ed
...
...
@@ -335,9 +335,18 @@ public class BookConstant {
public
static
final
String
DEFAULT_COVER_PIC
=
"https://oss.5rs.me/oss/uploadfe/jpg/b10f42694d17429fe9ebd8dfd85704e0.jpg"
;
public
static
final
Integer
MAX_NEWS_COUNT
=
3
;
public
static
final
String
APP_PRODUCT
=
"APP/PRODUCT"
;
public
static
final
String
[]
APPANDPRODUCT
=
{
"APP"
,
"PRODUCT"
};
public
static
final
Long
[]
PROD_ADVISERS
=
new
Long
[]{
1362L
};
public
static
final
Long
[]
UAT_ADVISERS
=
new
Long
[]{
12829L
};
public
static
final
Long
[]
TEST_ADVISERS
=
new
Long
[]{
1404L
,
1001195L
};
public
static
final
String
HANZI
=
"哈或"
;
}
pcloud-service-book/src/main/java/com/pcloud/book/es/biz/ESBookAndAdviserBiz.java
View file @
470d74ed
...
...
@@ -18,4 +18,8 @@ public interface ESBookAndAdviserBiz {
Page
<
ESBookAndAdviser
>
getAdviserBooks4ES
(
String
grayStatus
,
String
keyword
,
Long
templetId
,
Long
secondTempletId
,
Integer
currentPage
,
Integer
numPerPage
);
Page
<
ESBookAndAdviser
>
getESAdviserBooks4Applet
(
String
grayStatus
,
String
keyword
,
List
<
Long
>
templetIds
,
List
<
Long
>
graLabelIds
,
List
<
Long
>
subLabelIds
,
Integer
currentPage
,
Integer
numPerPage
);
void
deleteAdviserBooks4ES
();
void
deleteChoosedAdviserBooks4ES
(
String
keyword
);
}
pcloud-service-book/src/main/java/com/pcloud/book/es/biz/impl/ESBookAndAdviserBizImpl.java
View file @
470d74ed
package
com
.
pcloud
.
book
.
es
.
biz
.
impl
;
import
com.pcloud.book.book.constant.BookConstant
;
import
com.pcloud.book.book.dao.BookDao
;
import
com.pcloud.book.consumer.user.BookcaseConsr
;
import
com.pcloud.book.es.biz.ESBookAndAdviserBiz
;
import
com.pcloud.book.es.entity.ESBookAndAdviser
;
import
com.pcloud.book.es.repository.BookAndAdviserRepository
;
...
...
@@ -10,6 +12,8 @@ import com.pcloud.book.util.properties.BookProps;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.utils.ListUtils
;
import
com.pcloud.common.utils.string.StringUtil
;
import
java.util.Iterator
;
import
lombok.extern.slf4j.Slf4j
;
import
org.elasticsearch.index.query.BoolQueryBuilder
;
import
org.elasticsearch.index.query.QueryBuilders
;
import
org.elasticsearch.index.query.TermQueryBuilder
;
...
...
@@ -32,6 +36,7 @@ import java.util.Objects;
* @Date 2020/4/13 12:21
**/
@Component
(
"esBookAndAdviserBiz"
)
@Slf4j
public
class
ESBookAndAdviserBizImpl
implements
ESBookAndAdviserBiz
{
private
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
ESBookAndAdviserBizImpl
.
class
);
...
...
@@ -76,6 +81,7 @@ public class ESBookAndAdviserBizImpl implements ESBookAndAdviserBiz {
}
try
{
List
<
ESBookAndAdviser
>
list
=
bookDao
.
findBookAndAdviserByBookIds
(
bookIds
);
filterBooks
(
list
);
if
(
ListUtils
.
isEmpty
(
list
)){
return
;
}
...
...
@@ -86,6 +92,25 @@ public class ESBookAndAdviserBizImpl implements ESBookAndAdviserBiz {
}
private
void
filterBooks
(
List
<
ESBookAndAdviser
>
books
)
{
if
((
ListUtils
.
isEmpty
(
books
))){
return
;
}
Iterator
<
ESBookAndAdviser
>
iterator
=
books
.
iterator
();
while
(
iterator
.
hasNext
())
{
ESBookAndAdviser
esBookAndAdviser
=
iterator
.
next
();
String
bookName
=
esBookAndAdviser
.
getBookName
();
if
(
StringUtil
.
isEmpty
(
bookName
)){
iterator
.
remove
();
}
if
(
bookName
.
matches
(
"^[`~!@#$%^&*()+=|{}:;\\[\\].<>/\\\\?~!@#¥%……()——+|{}【】‘;:”“’。,,、?0123456789]+$"
)
||
bookName
.
matches
(
"(["
+
BookConstant
.
HANZI
+
"])[^\1]{2,}\1"
)
||
bookName
.
matches
(
"(.*)(红榜)(.*)"
)){
iterator
.
remove
();
}
}
}
@Override
public
Page
<
ESBookAndAdviser
>
getAdviserBooks4ES
(
String
grayStatus
,
String
keyword
,
Long
templetId
,
Long
secondTempletId
,
Integer
currentPage
,
Integer
numPerPage
)
{
BoolQueryBuilder
boolQueryBuilder
=
QueryBuilders
.
boolQuery
()
...
...
@@ -137,22 +162,68 @@ public class ESBookAndAdviserBizImpl implements ESBookAndAdviserBiz {
BoolQueryBuilder
adviserIdBuilder
=
QueryBuilders
.
boolQuery
();
if
(
YesOrNoEnums
.
YES
.
getCode
().
equals
(
grayStatus
))
{
if
(
"test"
.
equalsIgnoreCase
(
BookProps
.
getSystemEnv
()))
{
adviserIdBuilder
=
QueryBuilders
.
boolQuery
().
mustNot
(
QueryBuilders
.
termQuery
(
"adviserId"
,
1404
));
for
(
Long
adviserId
:
BookConstant
.
TEST_ADVISERS
){
adviserIdBuilder
=
QueryBuilders
.
boolQuery
().
mustNot
(
QueryBuilders
.
termQuery
(
"adviserId"
,
adviserId
));
boolQueryBuilder
.
must
(
adviserIdBuilder
);
}
}
if
(
"uat"
.
equalsIgnoreCase
(
BookProps
.
getSystemEnv
()))
{
adviserIdBuilder
=
QueryBuilders
.
boolQuery
().
mustNot
(
QueryBuilders
.
termQuery
(
"adviserId"
,
12829
));
for
(
Long
adviserId
:
BookConstant
.
UAT_ADVISERS
){
adviserIdBuilder
=
QueryBuilders
.
boolQuery
().
mustNot
(
QueryBuilders
.
termQuery
(
"adviserId"
,
adviserId
));
boolQueryBuilder
.
must
(
adviserIdBuilder
);
}
}
if
(
"pro"
.
equalsIgnoreCase
(
BookProps
.
getSystemEnv
()))
{
adviserIdBuilder
=
QueryBuilders
.
boolQuery
().
mustNot
(
QueryBuilders
.
termQuery
(
"adviserId"
,
1362
));
for
(
Long
adviserId
:
BookConstant
.
PROD_ADVISERS
){
adviserIdBuilder
=
QueryBuilders
.
boolQuery
().
mustNot
(
QueryBuilders
.
termQuery
(
"adviserId"
,
adviserId
));
boolQueryBuilder
.
must
(
adviserIdBuilder
);
}
}
}
boolQueryBuilder
.
must
(
should
);
boolQueryBuilder
.
must
(
should1
);
boolQueryBuilder
.
must
(
adviserIdBuilder
);
Sort
sort
=
new
Sort
(
Sort
.
Direction
.
DESC
,
"isAdviserBook"
,
"lastModifiedDate"
,
"bookId"
);
PageRequest
pageRequest
=
new
PageRequest
(
currentPage
,
numPerPage
,
sort
);
Page
<
ESBookAndAdviser
>
search
=
bookAndAdviserRepository
.
search
(
boolQueryBuilder
,
pageRequest
);
return
search
;
}
@Override
public
void
deleteAdviserBooks4ES
()
{
Page
<
ESBookAndAdviser
>
search
=
getEsBookAndAdvisers
();
while
(
search
.
getContent
().
size
()
>
0
){
search
.
getContent
().
stream
().
forEach
(
e
->
log
.
info
(
"从es中删除的书是"
+
e
.
getVerLabelId
()
+
":"
+
e
.
getBookName
())
);
bookAndAdviserRepository
.
delete
(
search
.
getContent
());
search
=
getEsBookAndAdvisers
();
}
}
@Override
@ParamLog
(
"删除选中的书籍"
)
public
void
deleteChoosedAdviserBooks4ES
(
String
keyword
)
{
BoolQueryBuilder
boolQueryBuilder
=
QueryBuilders
.
boolQuery
().
must
(
QueryBuilders
.
termQuery
(
"bookName"
,
keyword
));
PageRequest
pageRequest
=
new
PageRequest
(
0
,
100
);
Page
<
ESBookAndAdviser
>
search
=
bookAndAdviserRepository
.
search
(
boolQueryBuilder
,
pageRequest
);
if
(
search
.
getSize
()
>
0
){
search
.
getContent
().
stream
().
forEach
(
e
->
log
.
info
(
"从es中删除的书是"
+
e
.
getVerLabelId
()
+
":"
+
e
.
getBookName
())
);
bookAndAdviserRepository
.
delete
(
search
.
getContent
());
}
}
private
Page
<
ESBookAndAdviser
>
getEsBookAndAdvisers
()
{
BoolQueryBuilder
boolQueryBuilder
=
QueryBuilders
.
boolQuery
();
BoolQueryBuilder
should1
=
QueryBuilders
.
boolQuery
()
.
should
(
QueryBuilders
.
termQuery
(
"isBookAdviserDelete"
,
0
))
.
should
(
QueryBuilders
.
termQuery
(
"isAdviserBook"
,
0
));
BoolQueryBuilder
should2
=
QueryBuilders
.
boolQuery
()
.
should
(
QueryBuilders
.
regexpQuery
(
"bookName"
,
"([`~!@#$%^&*()+=|{}:;\\[\\].<>/\\\\?~!@#¥%……()——+|{}【】‘;:”“’。,,、?]+)"
))
.
should
(
QueryBuilders
.
regexpQuery
(
"bookName"
,
"([0123456789]+)"
))
.
should
(
QueryBuilders
.
regexpQuery
(
"bookName"
,
"((.*)(["
+
BookConstant
.
HANZI
+
"]){4,}(.*))"
))
.
should
(
QueryBuilders
.
regexpQuery
(
"bookName"
,
"("
+
"(.*)(红榜)(.*)"
+
")"
));
boolQueryBuilder
.
must
(
should1
);
boolQueryBuilder
.
must
(
should2
);
PageRequest
pageRequest
=
new
PageRequest
(
0
,
10
);
return
bookAndAdviserRepository
.
search
(
boolQueryBuilder
,
pageRequest
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/es/facade/ESBookAndAdviserFacade.java
View file @
470d74ed
...
...
@@ -51,4 +51,18 @@ public class ESBookAndAdviserFacade {
return
esBookAndAdviserBiz
.
getAdviserBooks4ES
(
"0"
,
keyword
,
templetId
,
secondTempletId
,
currentPage
,
numPerPage
).
getContent
();
}
@ApiOperation
(
"es中删除部分测试图书"
)
@GetMapping
(
"deleteAdviserBooks4ES"
)
public
ResponseDto
<?>
deleteAdviserBooks4ES
()
throws
BizException
{
esBookAndAdviserBiz
.
deleteAdviserBooks4ES
();
return
new
ResponseDto
<>();
}
@ApiOperation
(
"es中删除选中图书"
)
@GetMapping
(
"deleteChoosedAdviserBooks4ES"
)
public
ResponseDto
<?>
deleteChoosedAdviserBooks4ES
(
@RequestParam
(
value
=
"keyword"
)
String
keyword
)
throws
BizException
{
esBookAndAdviserBiz
.
deleteChoosedAdviserBooks4ES
(
keyword
);
return
new
ResponseDto
<>();
}
}
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