|
@ -1,47 +1,25 @@
|
|
|
package com.yihu.jw.base.service.word;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.yihu.jw.base.dao.word.BaseImportSensitiveDao;
|
|
|
import com.yihu.jw.base.dao.word.BaseSensitiveDao;
|
|
|
import com.yihu.jw.base.service.doctor.excelImport.BaseDoctorExcelDO;
|
|
|
import com.yihu.jw.base.service.word.excelImport.BaseSensitiveExcelDO;
|
|
|
import com.yihu.jw.base.useragent.UserAgent;
|
|
|
import com.yihu.jw.base.util.SensitiveWordInit;
|
|
|
import com.yihu.jw.base.util.SensitivewordFilter;
|
|
|
import com.yihu.jw.doctor.dao.BaseDoctorDao;
|
|
|
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
|
|
|
import com.yihu.jw.entity.base.sync.BaseSyncDataDO;
|
|
|
import com.yihu.jw.utils.SensitivewordFilter;
|
|
|
import com.yihu.jw.entity.base.words.BaseImportSensitiveDO;
|
|
|
import com.yihu.jw.entity.base.words.BaseSensitiveDO;
|
|
|
import com.yihu.jw.file_upload.FileUploadService;
|
|
|
import com.yihu.jw.restmodel.iot.common.UploadVO;
|
|
|
import com.yihu.jw.restmodel.web.MixEnvelop;
|
|
|
import com.yihu.jw.rm.health.house.HealthyHouseMapping;
|
|
|
import com.yihu.jw.rm.iot.IotRequestMapping;
|
|
|
import com.yihu.jw.util.date.DateUtil;
|
|
|
import com.yihu.mysql.query.BaseJpaService;
|
|
|
import jxl.Workbook;
|
|
|
import jxl.write.*;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.apache.poi.hssf.usermodel.HSSFSheet;
|
|
|
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
|
|
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
|
|
|
import org.apache.poi.ss.usermodel.Row;
|
|
|
import org.apache.poi.ss.usermodel.Sheet;
|
|
|
import org.apache.poi.ss.usermodel.Cell;
|
|
|
import org.apache.poi.xssf.usermodel.XSSFSheet;
|
|
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.jdbc.core.BeanPropertyRowMapper;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.servlet.ServletException;
|
|
|
import javax.servlet.ServletOutputStream;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
import java.io.*;
|
|
|
import java.util.*;
|
|
|
import java.util.logging.Logger;
|
|
|
|
|
|
/**
|
|
|
* @author HZY
|
|
@ -63,7 +41,7 @@ public class BaseSensitiveService extends BaseJpaService<BaseSensitiveDO, BaseSe
|
|
|
FileUploadService fileUploadService;
|
|
|
|
|
|
|
|
|
|
|
|
private static final org.slf4j.Logger logger = LoggerFactory.getLogger(BaseSensitiveService.class);
|
|
|
/**
|
|
|
* 创建敏感词汇
|
|
|
* @param words
|
|
@ -150,7 +128,7 @@ public class BaseSensitiveService extends BaseJpaService<BaseSensitiveDO, BaseSe
|
|
|
countSql.append(" AND (s.sensitive_word like'%").append(words).append("%'").append(" or ").append("s.explanation like'%").append(words).append("%')");
|
|
|
}
|
|
|
sql.append(" ORDER BY s.update_time desc LIMIT ").append((page-1)*pageSize).append(",").append(pageSize);
|
|
|
Logger.getAnonymousLogger().info("sql="+sql.toString());
|
|
|
logger.info("sql="+sql.toString());
|
|
|
List<BaseSensitiveDO> list = jdbcTemplate.query(sql.toString(), new BeanPropertyRowMapper<>(BaseSensitiveDO.class));
|
|
|
List<Map<String, Object>> mapList = jdbcTemplate.queryForList(countSql.toString());
|
|
|
long count = (long)mapList.get(0).get("count");
|
|
@ -284,11 +262,11 @@ public class BaseSensitiveService extends BaseJpaService<BaseSensitiveDO, BaseSe
|
|
|
try {
|
|
|
String url = exportSensitiveWordsLog(os, operatorCode, fastdfs_file_url);
|
|
|
rs.put("downloadLogUrl",url);
|
|
|
Logger.getGlobal().info("downloadLogUrl="+url);
|
|
|
logger.info("downloadLogUrl="+url);
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
rs.put("downloadLogUrl","导出日志失败");
|
|
|
Logger.getGlobal().info("Logerror="+e.getMessage());
|
|
|
logger.info("Logerror="+e.getMessage());
|
|
|
}
|
|
|
rs.put("success",total);
|
|
|
return rs;
|
|
@ -300,7 +278,7 @@ public class BaseSensitiveService extends BaseJpaService<BaseSensitiveDO, BaseSe
|
|
|
* @param txt
|
|
|
* @return
|
|
|
*/
|
|
|
public MixEnvelop filterSensitiveWords(String txt){
|
|
|
public String filterSensitiveWords(String txt){
|
|
|
List<BaseSensitiveDO> list = (List<BaseSensitiveDO>) baseSensitiveDao.findAll();
|
|
|
HashSet<String> set = new HashSet<>();
|
|
|
for (BaseSensitiveDO one : list) {
|
|
@ -308,11 +286,11 @@ public class BaseSensitiveService extends BaseJpaService<BaseSensitiveDO, BaseSe
|
|
|
}
|
|
|
SensitivewordFilter filter = new SensitivewordFilter(set);
|
|
|
Set<String> words = filter.getSensitiveWord(txt, 1);
|
|
|
Logger.getGlobal().info("语句中包含敏感词的个数为:" + words.size() + "。包含:" + words);
|
|
|
Logger.getAnonymousLogger().info("过滤前="+txt);
|
|
|
logger.info("语句中包含敏感词的个数为:" + words.size() + "。包含:" + words);
|
|
|
logger.info("过滤前="+txt);
|
|
|
String replaceTxt = filter.replaceSensitiveWord(txt, 1, "*");
|
|
|
Logger.getGlobal().info("过滤后="+replaceTxt);
|
|
|
return MixEnvelop.getSuccess("过滤成功",replaceTxt);
|
|
|
logger.info("过滤后="+replaceTxt);
|
|
|
return replaceTxt;
|
|
|
}
|
|
|
}
|
|
|
|