parent
9b1336f408
commit
2a3eb2c486
@ -0,0 +1,51 @@
|
||||
package com.mashibing.strategy.service.strategyfilter.impl;
|
||||
|
||||
import com.mashibing.common.constant.CacheConstant;
|
||||
import com.mashibing.common.pojo.StandardSubmit;
|
||||
import com.mashibing.strategy.feignclient.CacheClient;
|
||||
import com.mashibing.strategy.service.strategyfilter.StrategyFilter;
|
||||
import com.mashibing.strategy.utils.DirtyWordTree;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.wltea.analyzer.core.IKSegmenter;
|
||||
import org.wltea.analyzer.core.Lexeme;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.StringReader;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* @author heqijun
|
||||
* @ClassName: DirtyWordStrategyFilter
|
||||
* @Description: 敏感词校验
|
||||
* @date 2025/6/7 20:26
|
||||
*/
|
||||
|
||||
@Slf4j
|
||||
@Service(value = "dfaDirtyword")
|
||||
public class DFADirtyWordStrategyFilter implements StrategyFilter {
|
||||
|
||||
@Autowired
|
||||
CacheClient cacheClient;
|
||||
|
||||
@Override
|
||||
public void strategy(StandardSubmit submit) {
|
||||
log.info("【策略模块-敏感词校验】开始====================================");
|
||||
String text = submit.getText();
|
||||
Set<String> set = new HashSet<>();
|
||||
long start = System.currentTimeMillis();
|
||||
long end = System.currentTimeMillis();
|
||||
|
||||
log.info("【策略模块-敏感词校验】通过敏感词树校验敏感词");
|
||||
Set<String> result = DirtyWordTree.getDirtyWord(text);
|
||||
|
||||
if (!result.isEmpty()) {
|
||||
log.error("【策略模块-敏感词校验】短信内容包含敏感词:{}", result);
|
||||
return;
|
||||
// throw new RuntimeException("短信内容包含敏感词");
|
||||
}
|
||||
log.info("【策略模块-敏感词校验】敏感词校验通过");
|
||||
}
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
package com.mashibing.strategy.utils;
|
||||
|
||||
import org.springframework.beans.BeansException;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.ApplicationContextAware;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* @author heqijun
|
||||
* @ClassName: StringUtil
|
||||
* @Description: 用于在非ioc管理的类中使用spring中的bean
|
||||
* @date 2025/6/8 23:09
|
||||
*/
|
||||
|
||||
@Component
|
||||
public class StringUtil implements ApplicationContextAware {
|
||||
|
||||
private static ApplicationContext applicationContext;
|
||||
|
||||
@Override
|
||||
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
|
||||
StringUtil.applicationContext = applicationContext;
|
||||
}
|
||||
|
||||
public static Object getBeanByName(String beanName) {
|
||||
return applicationContext.getBean(beanName);
|
||||
}
|
||||
|
||||
public static Object getBeanByClass(Class<?> clazz) {
|
||||
return applicationContext.getBean(clazz);
|
||||
}
|
||||
}
|
Loading…
Reference in new issue