|
@ -64,11 +64,11 @@ public class BaseSensitiveService extends BaseJpaService<BaseSensitiveDO, BaseSe
|
|
|
* @param words
|
|
|
* @param explanation
|
|
|
*/
|
|
|
public void createSensitiveWords(String words, String explanation,String operatorCode,String name) {
|
|
|
public void createSensitiveWords(String words, String explanation,String status,String operatorCode,String name) {
|
|
|
BaseSensitiveDO baseSensitiveDO = new BaseSensitiveDO();
|
|
|
baseSensitiveDO.setSensitiveWord(words);
|
|
|
baseSensitiveDO.setExplanation(explanation);
|
|
|
baseSensitiveDO.setStatus("1");
|
|
|
baseSensitiveDO.setStatus(status);
|
|
|
baseSensitiveDO.setAddTime(DateUtil.getNowDate());
|
|
|
baseSensitiveDO.setOperatorCode(operatorCode);
|
|
|
baseSensitiveDO.setOperator(name);
|
|
@ -81,13 +81,14 @@ public class BaseSensitiveService extends BaseJpaService<BaseSensitiveDO, BaseSe
|
|
|
* @param words
|
|
|
* @param explanation
|
|
|
*/
|
|
|
public void updateSensitiveWords(String id, String words, String explanation,String operatorCode,String name) {
|
|
|
public void updateSensitiveWords(String id, String words, String explanation,String status,String operatorCode,String name) {
|
|
|
BaseSensitiveDO baseSensitiveDO = baseSensitiveDao.findOne(id);
|
|
|
baseSensitiveDO.setSensitiveWord(words);
|
|
|
baseSensitiveDO.setExplanation(explanation);
|
|
|
baseSensitiveDO.setRenewTime(DateUtil.getNowDate());
|
|
|
baseSensitiveDO.setOperatorCode(operatorCode);
|
|
|
baseSensitiveDO.setOperator(name);
|
|
|
baseSensitiveDO.setStatus(status);
|
|
|
baseSensitiveDao.save(baseSensitiveDO);
|
|
|
}
|
|
|
|
|
@ -132,132 +133,21 @@ public class BaseSensitiveService extends BaseJpaService<BaseSensitiveDO, BaseSe
|
|
|
sql.append(" AND (s.sensitive like'%").append(words).append("%'").append(" or ").append("s.explanation like'%").append(words).append("%')");
|
|
|
countSql.append(" AND (s.sensitive like'%").append(words).append("%'").append(" or ").append("s.explanation like'%").append(words).append("%')");
|
|
|
}
|
|
|
sql.append(" ORDER BY s.update_time LIMIT ").append((page-1)*pageSize).append(",").append(pageSize);
|
|
|
sql.append(" ORDER BY s.renew_time desc LIMIT ").append((page-1)*pageSize).append(",").append(pageSize);
|
|
|
Logger.getAnonymousLogger().info("sql="+sql.toString());
|
|
|
List<BaseSyncDataDO> list = jdbcTemplate.query(sql.toString(), new BeanPropertyRowMapper<>(BaseSyncDataDO.class));
|
|
|
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");
|
|
|
return MixEnvelop.getSuccessListWithPage(IotRequestMapping.Common.message_success_find,list,page,pageSize,count);
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 导入词汇文件
|
|
|
* @param path
|
|
|
* 导出敏感词日志
|
|
|
* @param url
|
|
|
* @param operatorCode
|
|
|
* @return
|
|
|
*/
|
|
|
public MixEnvelop importSensitiveWords(String path,String operatorCode,String name) {
|
|
|
Logger.getAnonymousLogger().info("path="+path+"----operatorCode="+operatorCode+"------name="+name);
|
|
|
List<BaseSensitiveDO> list = new ArrayList<BaseSensitiveDO>();
|
|
|
File file = null;
|
|
|
InputStream input = null;
|
|
|
if (path != null && path.length() > 7) {
|
|
|
// 判断文件是否是Excel(2003、2007)
|
|
|
String suffix = path
|
|
|
.substring(path.lastIndexOf("."), path.length());
|
|
|
file = new File(path);
|
|
|
try {
|
|
|
input = new FileInputStream(file);
|
|
|
} catch (FileNotFoundException e) {
|
|
|
System.out.println("未找到指定的文件!");
|
|
|
}
|
|
|
// Excel2003
|
|
|
if (".xls".equals(suffix)) {
|
|
|
POIFSFileSystem fileSystem = null;
|
|
|
// 工作簿
|
|
|
HSSFWorkbook workBook = null;
|
|
|
try {
|
|
|
fileSystem = new POIFSFileSystem(input);
|
|
|
workBook = new HSSFWorkbook(fileSystem);
|
|
|
} catch (IOException e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
// 获取第一个工作簿
|
|
|
HSSFSheet sheet = workBook.getSheetAt(0);
|
|
|
list = getContent((Sheet) sheet);
|
|
|
// Excel2007
|
|
|
} else if (".xlsx".equals(suffix)) {
|
|
|
XSSFWorkbook workBook = null;
|
|
|
try {
|
|
|
workBook = new XSSFWorkbook(input);
|
|
|
} catch (IOException e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
// 获取第一个工作簿
|
|
|
XSSFSheet sheet = workBook.getSheetAt(0);
|
|
|
list = getContent(sheet);
|
|
|
}
|
|
|
HashMap<String, String> rs = new HashMap<>();
|
|
|
int total = list.size();
|
|
|
rs.put("total",total+"");
|
|
|
Date nowDate = DateUtil.getNowDate();
|
|
|
for (BaseSensitiveDO one : list) {
|
|
|
BaseSensitiveDO sensitive = baseSensitiveDao.findBySensitiveWord(one.getSensitiveWord());
|
|
|
if (sensitive!=null){
|
|
|
BaseImportSensitiveDO importSensitiveDO = new BaseImportSensitiveDO();
|
|
|
importSensitiveDO.setRow(one.getId());
|
|
|
importSensitiveDO.setProblem("敏感词已存在");
|
|
|
importSensitiveDO.setCreateTime(nowDate);
|
|
|
importSensitiveDO.setCreateUser(operatorCode);
|
|
|
importSensitiveDO.setCreateUserName(name);
|
|
|
baseImportSensitiveDao.save(importSensitiveDO);
|
|
|
total-=1;
|
|
|
continue;
|
|
|
}
|
|
|
if (one.getSensitiveWord()==null){
|
|
|
BaseImportSensitiveDO importSensitiveDO = new BaseImportSensitiveDO();
|
|
|
importSensitiveDO.setRow(one.getId());
|
|
|
importSensitiveDO.setProblem("敏感词为空");
|
|
|
importSensitiveDO.setCreateTime(nowDate);
|
|
|
importSensitiveDO.setCreateUser(operatorCode);
|
|
|
importSensitiveDO.setCreateUserName(name);
|
|
|
baseImportSensitiveDao.save(importSensitiveDO);
|
|
|
total-=1;
|
|
|
continue;
|
|
|
}
|
|
|
one.setId(UUID.randomUUID().toString().replaceAll("-",""));
|
|
|
one.setStatus("1");
|
|
|
baseSensitiveDao.save(one);
|
|
|
}
|
|
|
rs.put("success",total+"");
|
|
|
} else {
|
|
|
MixEnvelop.getError("非法的文件路径!");
|
|
|
}
|
|
|
return MixEnvelop.getSuccess("导入成功");
|
|
|
}
|
|
|
|
|
|
|
|
|
// 获取Excel内容
|
|
|
public static List<BaseSensitiveDO> getContent(Sheet sheet) {
|
|
|
List<BaseSensitiveDO> list = new ArrayList<BaseSensitiveDO>();
|
|
|
// Excel数据总行数
|
|
|
int rowCount = sheet.getPhysicalNumberOfRows();
|
|
|
// 遍历数据行,略过标题行,从第二行开始
|
|
|
for (int i = 1; i < rowCount; i++) {
|
|
|
BaseSensitiveDO ub = new BaseSensitiveDO();
|
|
|
Row row = sheet.getRow(i);
|
|
|
int cellCount = row.getPhysicalNumberOfCells();
|
|
|
// 遍历行单元格
|
|
|
for (int j = 0; j < cellCount; j++) {
|
|
|
Cell cell = row.getCell(j);
|
|
|
switch (j) {
|
|
|
case 0:
|
|
|
ub.setId(cell.getStringCellValue());
|
|
|
break;
|
|
|
case 1:
|
|
|
ub.setSensitiveWord(cell.getStringCellValue());
|
|
|
break;
|
|
|
case 2:
|
|
|
ub.setExplanation(cell.getStringCellValue());
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
list.add(ub);
|
|
|
}
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public MixEnvelop exportSensitiveWordsLog(String url,String operatorCode){
|
|
|
String sql="SELECT * FROM base_import_sensitive b WHERE b.create_time=(SELECT MAX(b.create_time) FROM base_import_sensitive b) and b.operator_code="+operatorCode;
|
|
|
//获取日志
|
|
@ -314,8 +204,8 @@ public class BaseSensitiveService extends BaseJpaService<BaseSensitiveDO, BaseSe
|
|
|
importSensitiveDO.setRow(one.getId());
|
|
|
importSensitiveDO.setProblem("敏感词已存在");
|
|
|
importSensitiveDO.setCreateTime(nowDate);
|
|
|
importSensitiveDO.setCreateUser(operatorCode);
|
|
|
importSensitiveDO.setCreateUserName(name);
|
|
|
importSensitiveDO.setOperatorCode(operatorCode);
|
|
|
importSensitiveDO.setOperator(name);
|
|
|
baseImportSensitiveDao.save(importSensitiveDO);
|
|
|
total-=1;
|
|
|
continue;
|
|
@ -325,8 +215,8 @@ public class BaseSensitiveService extends BaseJpaService<BaseSensitiveDO, BaseSe
|
|
|
importSensitiveDO.setRow(one.getId());
|
|
|
importSensitiveDO.setProblem("敏感词为空");
|
|
|
importSensitiveDO.setCreateTime(nowDate);
|
|
|
importSensitiveDO.setCreateUser(operatorCode);
|
|
|
importSensitiveDO.setCreateUserName(name);
|
|
|
importSensitiveDO.setOperatorCode(operatorCode);
|
|
|
importSensitiveDO.setOperator(name);
|
|
|
baseImportSensitiveDao.save(importSensitiveDO);
|
|
|
total-=1;
|
|
|
continue;
|