瀏覽代碼

Merge branch 'check_word' into zouxuan

zouxuan 3 年之前
父節點
當前提交
cd7e6c3127

+ 7 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseHomeworkServiceImpl.java

@@ -19,6 +19,7 @@ import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
 import com.yonge.cooleshow.biz.dal.enums.CourseScheduleEnum;
 import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
 import com.yonge.cooleshow.biz.dal.service.*;
+import com.yonge.cooleshow.biz.dal.wordfilter.WordFilter;
 import com.yonge.cooleshow.common.constant.SysConfigConstant;
 import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import com.yonge.toolset.mybatis.support.PageUtil;
@@ -68,6 +69,9 @@ public class CourseHomeworkServiceImpl extends ServiceImpl<CourseHomeworkDao, Co
     @Autowired
     private SysConfigService sysConfigService;
 
+    @Autowired
+    private WordFilter wordFilter;
+
 	@Override
     public CourseHomeworkVo detail(Long id) {
         return baseMapper.detail(id);
@@ -286,9 +290,11 @@ public class CourseHomeworkServiceImpl extends ServiceImpl<CourseHomeworkDao, Co
     @Override
     @Transactional(rollbackFor = Exception.class)
     public boolean reviewCourseHomework(CourseHomeworkReviewDto reviewDto) {
+        if (wordFilter.include(reviewDto.getReview(), 3)) {
+            throw new BizException("文本包含敏感信息:{}", wordFilter.wordList(reviewDto.getReview()));
+        }
         // 检查 老师 陪练课 课程状态为完成,有学生考勤记录 没有布置作业
         checkCourseSchedule(reviewDto.getCourseScheduleId());
-
         // 检查已经布置了课后作业
         if (checkHasHomework(reviewDto.getCourseScheduleId()) == null) {
             throw new BizException("没布置作业,不能点评");

+ 10 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/CourseRepliedServiceImpl.java

@@ -20,6 +20,8 @@ import com.yonge.cooleshow.biz.dal.service.SysMessageService;
 import com.yonge.cooleshow.biz.dal.vo.CourseRepliedVo;
 import com.yonge.cooleshow.biz.dal.vo.MyRepliedVo;
 import com.yonge.cooleshow.biz.dal.vo.RepliedCountVo;
+import com.yonge.cooleshow.biz.dal.wordfilter.WordFilter;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.thirdparty.message.MessageSenderPluginContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -51,6 +53,8 @@ public class CourseRepliedServiceImpl extends ServiceImpl<CourseScheduleRepliedD
     private CourseScheduleDao scheduleDao;
     @Autowired
     private CourseScheduleStudentPaymentDao paymentDao;
+    @Autowired
+    private WordFilter wordFilter;
 
     public CourseScheduleRepliedDao getDao() {
         return repliedDao;
@@ -64,6 +68,12 @@ public class CourseRepliedServiceImpl extends ServiceImpl<CourseScheduleRepliedD
     @Transactional(rollbackFor = Exception.class)
     @Override
     public void replied(CourseScheduleReplied replied, SysUser sysUser) {
+        if (wordFilter.include(replied.getStudentReplied(), 3)) {
+            throw new BizException("文本包含敏感信息:{}", wordFilter.wordList(replied.getStudentReplied()));
+        }
+        if (wordFilter.include(replied.getTeacherReplied(), 3)) {
+            throw new BizException("文本包含敏感信息:{}", wordFilter.wordList(replied.getTeacherReplied()));
+        }
         Long userId = sysUser.getId();
         Long scheduleId = replied.getCourseScheduleId();
         Long studentId = replied.getStudentId();

+ 6 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TeacherServiceImpl.java

@@ -8,6 +8,7 @@ import com.yonge.cooleshow.auth.api.dto.RealnameAuthReq;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.enums.*;
 import com.yonge.cooleshow.biz.dal.vo.MyFens;
+import com.yonge.cooleshow.biz.dal.wordfilter.WordFilter;
 import com.yonge.cooleshow.common.constant.SysConfigConstant;
 import com.yonge.cooleshow.biz.dal.dao.EmployeeDao;
 import com.yonge.cooleshow.biz.dal.dto.TeacherDto;
@@ -57,7 +58,7 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
     @Autowired
     private SysConfigService sysConfigService;
     @Autowired
-    private LiveRoomService liveRoomService;
+    private WordFilter wordFilter;
     @Autowired
     private StudentStarService studentStarService;
     @Autowired
@@ -381,6 +382,10 @@ public class TeacherServiceImpl extends ServiceImpl<TeacherDao, Teacher> impleme
     @Override
     @Transactional(rollbackFor = Exception.class)
     public HttpResponseResult<TeacherVo> saveTeacherStyle(TeacherDto teacherDto) {
+        //校验敏感词
+        if (wordFilter.include(teacherDto.getIntroduction(), 3)) {
+            throw new BizException("文本包含敏感信息:{}", wordFilter.wordList(teacherDto.getIntroduction()));
+        }
         //修改老师信息
         int i = baseMapper.updateById(teacherDto);
         List<TeacherStyleVideo> styleVideo = teacherDto.getStyleVideo();

+ 6 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/VideoLessonEvaluateServiceImpl.java

@@ -8,6 +8,7 @@ import com.yonge.cooleshow.biz.dal.entity.VideoLessonEvaluate;
 import com.yonge.cooleshow.biz.dal.dao.VideoLessonEvaluateDao;
 import com.yonge.cooleshow.biz.dal.service.VideoLessonEvaluateService;
 import com.yonge.cooleshow.biz.dal.vo.VideoLessonEvaluateVo;
+import com.yonge.cooleshow.biz.dal.wordfilter.WordFilter;
 import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import com.yonge.toolset.base.exception.BizException;
 import org.slf4j.Logger;
@@ -35,6 +36,8 @@ public class VideoLessonEvaluateServiceImpl extends ServiceImpl<VideoLessonEvalu
     private VideoLessonEvaluateDao videoLessonEvaluateDao;
     @Autowired
     private VideoLessonPurchaseRecordDao videoLessonPurchaseRecordDao;
+    @Autowired
+    private WordFilter wordFilter;
 
     public VideoLessonEvaluateDao getDao() {
         return videoLessonEvaluateDao;
@@ -48,6 +51,9 @@ public class VideoLessonEvaluateServiceImpl extends ServiceImpl<VideoLessonEvalu
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void evaluate(VideoLessonEvaluate evaluate, SysUser sysUser) {
+        if (wordFilter.include(evaluate.getContent(), 3)) {
+            throw new BizException("文本包含敏感信息:{}", wordFilter.wordList(evaluate.getContent()));
+        }
         Long userId = sysUser.getId();
 //        String userType = sysUser.getUserType();
         Long videoId = evaluate.getVideoId();

+ 10 - 3
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wordfilter/WordContext.java

@@ -3,6 +3,7 @@ package com.yonge.cooleshow.biz.dal.wordfilter;
 import com.yonge.cooleshow.biz.dal.service.SysConfigService;
 import com.yonge.cooleshow.common.constant.SysConfigConstant;
 import com.yonge.toolset.base.exception.BizException;
+import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -11,6 +12,8 @@ import org.springframework.context.annotation.Configuration;
 
 import javax.annotation.PostConstruct;
 import java.io.BufferedReader;
+import java.io.File;
+import java.io.IOException;
 import java.io.InputStreamReader;
 import java.util.*;
 
@@ -21,7 +24,6 @@ import java.util.*;
  *
  * @author minghu.zhang
  */
-@SuppressWarnings({"rawtypes", "unchecked"})
 @Configuration
 public class WordContext {
     private final static Logger log = LoggerFactory.getLogger(WordContext.class);
@@ -49,8 +51,13 @@ public class WordContext {
 
     @PostConstruct
     public void init() {
-        this.blackList = sysConfigService.findConfigValue(SysConfigConstant.BLACK_LIST);
-        this.whiteList = sysConfigService.findConfigValue(SysConfigConstant.WHITE_LIST);
+        try {
+            this.blackList = FileUtils.readFileToString(new File("/Users/chenxiaoyu/Documents/blacklist.txt"), "UTF-8");
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+//        this.blackList = sysConfigService.findConfigValue(SysConfigConstant.BLACK_LIST);
+//        this.whiteList = sysConfigService.findConfigValue(SysConfigConstant.WHITE_LIST);
         initKeyWord();
     }
 

+ 1 - 0
cooleshow-user/user-teacher/src/main/java/com/yonge/cooleshow/teacher/controller/TeacherController.java

@@ -5,6 +5,7 @@ import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.auth.api.entity.SysUser;
 import com.yonge.cooleshow.biz.dal.dto.TeacherDto;
 import com.yonge.cooleshow.biz.dal.entity.Subject;
+import com.yonge.cooleshow.biz.dal.service.SysUserService;
 import com.yonge.cooleshow.biz.dal.service.TeacherService;
 import com.yonge.toolset.mybatis.support.PageUtil;
 import com.yonge.cooleshow.biz.dal.vo.MyFens;