Commit e18eeece by 陈健智

词云调整

parent 74c1cf6a
...@@ -69,6 +69,6 @@ public class AppToolsetController { ...@@ -69,6 +69,6 @@ public class AppToolsetController {
@LogRecord(description = "工具库-词云提取") @LogRecord(description = "工具库-词云提取")
public ResponseResult getHighWord(@RequestParam MultipartFile file, public ResponseResult getHighWord(@RequestParam MultipartFile file,
@ApiParam(name = "type", value = "关键词|文章") @RequestParam String type){ @ApiParam(name = "type", value = "关键词|文章") @RequestParam String type){
return ResponseResult.success(toolsetService.getHighWord(file, type)); return toolsetService.getHighWord(file, type);
} }
} }
...@@ -6,6 +6,7 @@ import com.zhiwei.brandkbs2.easyexcel.dto.UploadHighWordArticleDTO; ...@@ -6,6 +6,7 @@ import com.zhiwei.brandkbs2.easyexcel.dto.UploadHighWordArticleDTO;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* @author cjz * @author cjz
...@@ -22,6 +23,13 @@ public class HighWordArticleListener extends AnalysisEventListener<UploadHighWor ...@@ -22,6 +23,13 @@ public class HighWordArticleListener extends AnalysisEventListener<UploadHighWor
} }
@Override @Override
public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context){
if (!"序号".equals(headMap.get(0)) || !"标题".equals(headMap.get(1)) || !"文本".equals(headMap.get(2)) || !"链接".equals(headMap.get(3))) {
throw new IllegalArgumentException("表格格式有误");
}
}
@Override
public void invoke(UploadHighWordArticleDTO data, AnalysisContext context) { public void invoke(UploadHighWordArticleDTO data, AnalysisContext context) {
if (StringUtils.isNotBlank(data.getContent())) { if (StringUtils.isNotBlank(data.getContent())) {
contents.add(data.getContent()); contents.add(data.getContent());
......
...@@ -22,6 +22,13 @@ public class HighWordKeywordListener extends AnalysisEventListener<UploadHighWor ...@@ -22,6 +22,13 @@ public class HighWordKeywordListener extends AnalysisEventListener<UploadHighWor
} }
@Override @Override
public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context){
if (!"序号".equals(headMap.get(0)) || !"关键词".equals(headMap.get(1)) || !"词频".equals(headMap.get(2))) {
throw new IllegalArgumentException("表格格式有误");
}
}
@Override
public void invoke(UploadHighWordKeywordDTO data, AnalysisContext context) { public void invoke(UploadHighWordKeywordDTO data, AnalysisContext context) {
map.compute(data.getKeyword(), (k, v) ->{ map.compute(data.getKeyword(), (k, v) ->{
if (Objects.isNull(v)){ if (Objects.isNull(v)){
......
...@@ -68,5 +68,5 @@ public interface ToolsetService { ...@@ -68,5 +68,5 @@ public interface ToolsetService {
* @param type 类型 关键词|文章 * @param type 类型 关键词|文章
* @return * @return
*/ */
List<JSONObject> getHighWord(MultipartFile file, String type); ResponseResult getHighWord(MultipartFile file, String type);
} }
...@@ -291,7 +291,7 @@ public class ToolsetServiceImpl implements ToolsetService { ...@@ -291,7 +291,7 @@ public class ToolsetServiceImpl implements ToolsetService {
} }
@Override @Override
public List<JSONObject> getHighWord(MultipartFile file, String type) { public ResponseResult getHighWord(MultipartFile file, String type) {
if (Objects.equals("关键词", type)){ if (Objects.equals("关键词", type)){
return getKeywordHighWord(file); return getKeywordHighWord(file);
} }
...@@ -303,14 +303,21 @@ public class ToolsetServiceImpl implements ToolsetService { ...@@ -303,14 +303,21 @@ public class ToolsetServiceImpl implements ToolsetService {
* @param file excel文件 * @param file excel文件
* @return * @return
*/ */
private List<JSONObject> getKeywordHighWord(MultipartFile file){ private ResponseResult getKeywordHighWord(MultipartFile file){
Map<String, Integer> map = new HashMap<>(); Map<String, Integer> map = new HashMap<>();
// excel信息提取 // excel信息提取
try {
ReadExcelDTO<UploadHighWordKeywordDTO> readExcel = new ReadExcelDTO<>(); ReadExcelDTO<UploadHighWordKeywordDTO> readExcel = new ReadExcelDTO<>();
readExcel.setClazz(UploadHighWordKeywordDTO.class); readExcel.setClazz(UploadHighWordKeywordDTO.class);
readExcel.setAnalysisEventListener(new HighWordKeywordListener(map)); readExcel.setAnalysisEventListener(new HighWordKeywordListener(map));
EasyExcelUtil.read(file, readExcel); EasyExcelUtil.read(file, readExcel);
Map<String, Integer> sortMap = Tools.sortMap(map, 200); }catch (Exception e){
return ResponseResult.failure("表格格式有误");
}
if (map.size() > 500){
return ResponseResult.failure("表格关键词数量超过上限500");
}
Map<String, Integer> sortMap = Tools.sortMap(map, 500);
List<JSONObject> res = new ArrayList<>(); List<JSONObject> res = new ArrayList<>();
for (Map.Entry<String, Integer> entry : sortMap.entrySet()) { for (Map.Entry<String, Integer> entry : sortMap.entrySet()) {
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
...@@ -318,7 +325,7 @@ public class ToolsetServiceImpl implements ToolsetService { ...@@ -318,7 +325,7 @@ public class ToolsetServiceImpl implements ToolsetService {
jsonObject.put("value", entry.getValue()); jsonObject.put("value", entry.getValue());
res.add(jsonObject); res.add(jsonObject);
} }
return res; return ResponseResult.success(res);
} }
/** /**
...@@ -326,14 +333,21 @@ public class ToolsetServiceImpl implements ToolsetService { ...@@ -326,14 +333,21 @@ public class ToolsetServiceImpl implements ToolsetService {
* @param file excel文件 * @param file excel文件
* @return * @return
*/ */
private List<JSONObject> getArticleHighWord(MultipartFile file){ private ResponseResult getArticleHighWord(MultipartFile file){
List<String> contents = new ArrayList<>(); List<String> contents = new ArrayList<>();
// excel信息提取 // excel信息提取
try {
ReadExcelDTO<UploadHighWordArticleDTO> readExcel = new ReadExcelDTO<>(); ReadExcelDTO<UploadHighWordArticleDTO> readExcel = new ReadExcelDTO<>();
readExcel.setClazz(UploadHighWordArticleDTO.class); readExcel.setClazz(UploadHighWordArticleDTO.class);
readExcel.setAnalysisEventListener(new HighWordArticleListener(contents)); readExcel.setAnalysisEventListener(new HighWordArticleListener(contents));
EasyExcelUtil.read(file, readExcel); EasyExcelUtil.read(file, readExcel);
return textUtil.getHighWordsJsonDifferentFieldName(contents, 200); }catch (Exception e){
return ResponseResult.failure("表格格式有误");
}
if (contents.size() > 500){
return ResponseResult.failure("表格文章数量超过上限500");
}
return ResponseResult.success(textUtil.getHighWordsJsonDifferentFieldName(contents, 500));
} }
/** /**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment