Commit afdc5713 by shenjunjie

Merge branch 'release' into 'master'

Release

See merge request !508
parents 0c7373dc 84fa592e
......@@ -4,6 +4,7 @@ import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.zhiwei.brandkbs2.easyexcel.dto.UploadBytedanceEventDTO;
import com.zhiwei.brandkbs2.pojo.BytedanceCustomEventUpdateTaskData;
import org.apache.commons.collections4.CollectionUtils;
import java.util.List;
import java.util.Map;
......@@ -17,14 +18,14 @@ import java.util.Objects;
*/
public class BytedanceEventListener extends AnalysisEventListener<UploadBytedanceEventDTO> {
private String taskId;
private List<BytedanceCustomEventUpdateTaskData> data;
private List<Boolean> correctHead;
public BytedanceEventListener(String taskId, List<BytedanceCustomEventUpdateTaskData> data){
this.taskId = taskId;
public BytedanceEventListener(List<BytedanceCustomEventUpdateTaskData> data, List<Boolean> correctHead){
this.data = data;
this.correctHead = correctHead;
}
/**
......@@ -40,14 +41,16 @@ public class BytedanceEventListener extends AnalysisEventListener<UploadBytedanc
|| !"情感倾向".equals(headMap.get(9)) || !"事件标签".equals(headMap.get(10)) || !"在看".equals(headMap.get(11))
|| !"阅读".equals(headMap.get(12)) || !"点赞".equals(headMap.get(13)) || !"评论".equals(headMap.get(14))
|| !"转发".equals(headMap.get(15))) {
throw new IllegalArgumentException("表格格式有误-计算失败");
correctHead.add(false);
}
}
@Override
public void invoke(UploadBytedanceEventDTO dto, AnalysisContext context) {
if (CollectionUtils.isNotEmpty(correctHead) && !correctHead.get(0)){
return;
}
BytedanceCustomEventUpdateTaskData taskData = new BytedanceCustomEventUpdateTaskData();
taskData.setTaskId(taskId);
taskData.setPlatformType(dto.getPlatformType());
taskData.setPlatform(dto.getPlatform());
taskData.setChannel(dto.getChannel());
......
......@@ -14,8 +14,6 @@ import lombok.Setter;
@Setter
@NoArgsConstructor
public class BytedanceCustomEventUpdateTaskData extends AbstractBaseMongo {
private String taskId;
private String platformType;
private String platform;
......
......@@ -369,22 +369,18 @@ public class ToolsetServiceImpl implements ToolsetService {
@Override
public ResponseResult primaryEventUpdate(MultipartFile file, Boolean extraCompute) {
BytedanceCustomEventUpdateTask task = BytedanceCustomEventUpdateTask.createTaskPrimary(extraCompute);
bytedanceCustomEventUpdateTaskDao.insertOne(task);
List<BytedanceCustomEventUpdateTaskData> data = new ArrayList<>();
try {
// excel信息提取
ReadExcelDTO<UploadBytedanceEventDTO> readExcel = new ReadExcelDTO<>();
readExcel.setClazz(UploadBytedanceEventDTO.class);
readExcel.setAnalysisEventListener(new BytedanceEventListener(task.getId(), data));
EasyExcelUtil.readWithoutTryCatch(file, readExcel);
}catch (Exception e){
if (Objects.equals("表格格式有误-计算失败", e.getMessage())){
return ResponseResult.failure(e.getMessage());
}
log.error("主品牌事件影响力计算表格读取出错-", e);
return ResponseResult.failure("计算失败");
List<Boolean> correctHead = new ArrayList<>(1);
// excel信息提取
ReadExcelDTO<UploadBytedanceEventDTO> readExcel = new ReadExcelDTO<>();
readExcel.setClazz(UploadBytedanceEventDTO.class);
readExcel.setAnalysisEventListener(new BytedanceEventListener(data, correctHead));
EasyExcelUtil.read(file, readExcel);
if (CollectionUtils.isNotEmpty(correctHead) && !correctHead.get(0)){
return ResponseResult.failure("表格模板错误,计算失败");
}
BytedanceCustomEventUpdateTask task = BytedanceCustomEventUpdateTask.createTaskPrimary(extraCompute);
bytedanceCustomEventUpdateTaskDao.insertOne(task);
// 更新处理进度
resetProcessSchedule(task.getId(), data.size());
ApplicationProjectListener.getThreadPool().execute(() -> processEventUpdate(data, task, extraCompute));
......@@ -407,7 +403,7 @@ public class ToolsetServiceImpl implements ToolsetService {
// excel信息提取
ReadExcelDTO<UploadBytedanceEventDTO> readExcel = new ReadExcelDTO<>();
readExcel.setClazz(UploadBytedanceEventDTO.class);
readExcel.setAnalysisEventListener(new BytedanceEventListener(taskId, data));
readExcel.setAnalysisEventListener(new BytedanceEventListener(data, null));
EasyExcelUtil.read(file, readExcel);
// 将旧数据与新数据合并
List<BytedanceCustomEventUpdateTaskData> taskData = bytedanceCustomEventUpdateTaskDataDao.findList(new Query(Criteria.where("taskId").is(taskId)));
......@@ -696,6 +692,7 @@ public class ToolsetServiceImpl implements ToolsetService {
private void updateStatus(String taskId, BytedanceCustomEventUpdateTask.TaskStatus taskStatus){
BytedanceCustomEventUpdateTask task = bytedanceCustomEventUpdateTaskDao.findOneById(taskId);
task.setRead(true);
updateStatus(task, taskStatus, null);
}
......
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