feature: [评论的屏蔽字-DFA算法]
This commit is contained in:
parent
1b4f330af6
commit
d25063164b
|
@ -0,0 +1,11 @@
|
||||||
|
package com.guwan.backend.constant;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
public class SensitiveWordConstants {
|
||||||
|
public static final Set<String> SENSITIVE_WORD = Set.of(
|
||||||
|
"傻瓜",
|
||||||
|
"笨蛋",
|
||||||
|
"白痴"
|
||||||
|
);
|
||||||
|
}
|
|
@ -2,6 +2,8 @@ package com.guwan.backend.service.impl;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.guwan.backend.constant.SensitiveWordConstants;
|
||||||
|
import com.guwan.backend.filter.SensitiveWordFilter;
|
||||||
import com.guwan.backend.mapper.RatingDistributionMapper;
|
import com.guwan.backend.mapper.RatingDistributionMapper;
|
||||||
import com.guwan.backend.mapper.ReviewMapper;
|
import com.guwan.backend.mapper.ReviewMapper;
|
||||||
import com.guwan.backend.pojo.dto.SubmitReviewDTO;
|
import com.guwan.backend.pojo.dto.SubmitReviewDTO;
|
||||||
|
@ -13,7 +15,10 @@ import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author 12455
|
* @author 12455
|
||||||
|
@ -40,7 +45,14 @@ public class ReviewServiceImpl extends ServiceImpl<ReviewMapper, Review>
|
||||||
review.setUserId(String.valueOf(submitReviewDTO.getUserId()));
|
review.setUserId(String.valueOf(submitReviewDTO.getUserId()));
|
||||||
Integer rating = submitReviewDTO.getRating();
|
Integer rating = submitReviewDTO.getRating();
|
||||||
review.setRating(rating);
|
review.setRating(rating);
|
||||||
review.setContent(submitReviewDTO.getContent());
|
// TODO DFA算法
|
||||||
|
|
||||||
|
SensitiveWordFilter filter = new SensitiveWordFilter(SensitiveWordConstants.SENSITIVE_WORD);
|
||||||
|
|
||||||
|
String content = submitReviewDTO.getContent();
|
||||||
|
content = filter.replace(content);
|
||||||
|
|
||||||
|
review.setContent(content);
|
||||||
review.setDate(new Date());
|
review.setDate(new Date());
|
||||||
review.setCreatedAt(new Date());
|
review.setCreatedAt(new Date());
|
||||||
review.setUpdatedAt(new Date());
|
review.setUpdatedAt(new Date());
|
||||||
|
|
Loading…
Reference in New Issue