Parcourir la source

更新敏感词bug

wuweihao il y a 3 ans
Parent
commit
c84261db39

+ 2 - 2
gis_application/src/main/resources/application-dev.properties

@@ -3,7 +3,7 @@
 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
 spring.datasource.druid.username=root
-spring.datasource.druid.url=jdbc:mysql://8.135.106.227:3306/${project.en}?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8
+spring.datasource.druid.url=jdbc:mysql://8.135.106.227:3306/${project.en}?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false
 spring.datasource.druid.password=4dkk2021testproject%
 
 
@@ -53,7 +53,7 @@ logging.config=classpath:logback-spring.xml
 logging.level.com.gis=debug
 
 # file info
-server.file.path=F:\\test\\ngin\\${project.en}_data
+server.file.path=E:\\data\\${project.en}_data
 
 # url info
 #server.url.prefix=/data/

+ 1 - 1
gis_cms/src/main/java/com/gis/cms/controller/WebController.java

@@ -93,7 +93,7 @@ public class WebController {
     @ApiOperation("弹幕-列表")
     @PostMapping("barrage/list")
     public Result barrageList(@RequestBody PageDateDto param){
-        return barrageService.search(param, 1);
+        return barrageService.webSearch(param, 1);
     }
 
 

+ 2 - 0
gis_cms/src/main/java/com/gis/cms/service/BarrageService.java

@@ -19,6 +19,8 @@ public interface BarrageService extends IBaseService<BarrageEntity, Long> {
 
     Result<PageInfo<BarrageVo>> search(PageDateDto param, Integer display);
 
+    Result<PageInfo<BarrageVo>> webSearch(PageDateDto param, Integer display);
+
     Result remove(Long id);
 
     Result saveEntity(CommentDto param);

+ 7 - 2
gis_cms/src/main/java/com/gis/cms/service/impl/BarrageServiceImpl.java

@@ -49,6 +49,13 @@ public class BarrageServiceImpl extends IBaseServiceImpl<BarrageEntity, Long> im
     public Result<PageInfo<BarrageVo>> search(PageDateDto param, Integer display) {
         startPage(param);
         PageInfo<BarrageVo> page = new PageInfo<>(entityMapper.search(param, display));
+        return Result.success(page);
+    }
+
+    @Override
+    public Result<PageInfo<BarrageVo>> webSearch(PageDateDto param, Integer display) {
+        startPage(param);
+        PageInfo<BarrageVo> page = new PageInfo<>(entityMapper.search(param, display));
         List<BarrageVo> list = page.getList();
         Set<Object> filterKey = sensitiveService.getFilterKey();
         for (BarrageVo vo : list) {
@@ -57,8 +64,6 @@ public class BarrageServiceImpl extends IBaseServiceImpl<BarrageEntity, Long> im
                 vo.setContent(MyStrUtil.getFilterMsg(filterKey, content));
             }
         }
-
-
         return Result.success(page);
     }
 

+ 36 - 1
gis_common/src/main/java/com/gis/common/util/MyStrUtil.java

@@ -1,10 +1,18 @@
 package com.gis.common.util;
 
+import cn.hutool.core.util.StrUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.junit.Test;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
 import java.util.Set;
 
 /**
  * Created by owen on 2021/10/18 0018 17:35
  */
+@Slf4j
 public class MyStrUtil {
 
 
@@ -15,11 +23,38 @@ public class MyStrUtil {
      * @return
      */
     public static String getFilterMsg(Set<Object> filterKey, String content){
+//        String a = content;
         for (Object s : filterKey) {
             if (s != null){
-                content =  content.replaceAll(s.toString(), "**");
+                String regex = s.toString();
+                if (".".equals(regex) || "*".equals(regex)){ // 处理特殊字符
+                    regex = regex.replace(regex,"");
+                    if (StrUtil.isBlank(regex)){
+                        continue;
+                    }
+                }
+//                content =  content.replaceAll(regex, "**");
+                content =  content.replace(regex, "**");
             }
         }
+//        log.info(a + ": {}", content );
         return content;
     }
+
+    @Test
+    public void test(){
+        Set<Object> set = new HashSet<>();
+        set.add(".");
+        set.add("0.0");
+        set.add(".1");
+        set.add("0.1");
+        set.add("2.1");
+        set.add("*");
+        List<String> asList = Arrays.asList("我是....点点点", "我是.点", "我是0.0零点零", "我是.1点一", "我是0107",
+                "我是0.1零点一,我是0.1零点一", "我是2.1二点一,我是2.1二点一", "我是***星星");
+        for (String s : asList) {
+            log.info(s + ": {}", getFilterMsg(set, s) );
+        }
+
+    }
 }