|
@@ -18,6 +18,8 @@ public class KeywordStrategy implements FilterStrategy {
|
|
|
|
|
|
@ApolloJsonValue("${keywords:[]}")
|
|
@ApolloJsonValue("${keywords:[]}")
|
|
private static List<String> keywords;
|
|
private static List<String> keywords;
|
|
|
|
+ @ApolloJsonValue("${sensitive.ban.keywords:[]}")
|
|
|
|
+ private static List<String> sensitiveBanKeywords;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public FilterResult filter(FilterParam param) {
|
|
public FilterResult filter(FilterParam param) {
|
|
@@ -26,8 +28,11 @@ public class KeywordStrategy implements FilterStrategy {
|
|
List<String> result = new ArrayList<>();
|
|
List<String> result = new ArrayList<>();
|
|
List<Content> contents = param.getContents();
|
|
List<Content> contents = param.getContents();
|
|
List<Content> filterContents = new ArrayList<>();
|
|
List<Content> filterContents = new ArrayList<>();
|
|
|
|
+ List<String> banKeywords = new ArrayList<>();
|
|
|
|
+ banKeywords.addAll(keywords);
|
|
|
|
+ banKeywords.addAll(sensitiveBanKeywords);
|
|
for (Content content : contents) {
|
|
for (Content content : contents) {
|
|
- for (String keyword : keywords) {
|
|
|
|
|
|
+ for (String keyword : banKeywords) {
|
|
if (content.getTitle().contains(keyword)) {
|
|
if (content.getTitle().contains(keyword)) {
|
|
content.setFilterReason("关键词过滤");
|
|
content.setFilterReason("关键词过滤");
|
|
filterContents.add(content);
|
|
filterContents.add(content);
|