|
@@ -40,7 +40,48 @@ public class TaskService {
|
|
|
@Value("${task.info.addr}")
|
|
|
String taskInfoAddr;
|
|
|
|
|
|
+
|
|
|
public List<TaskDTO> getAllTasks() {
|
|
|
+ RestTemplate rt = new RestTemplate();
|
|
|
+ StringHttpMessageConverter stringHttpMessageConverter=new StringHttpMessageConverter(Charset.forName("UTF-8"));
|
|
|
+ List<HttpMessageConverter<?>> list=new ArrayList<HttpMessageConverter<?>>();
|
|
|
+ list.add(stringHttpMessageConverter);
|
|
|
+ rt.setMessageConverters(list);
|
|
|
+ JSONObject tasksJson = JSON.parseObject(rt.getForObject(taskInfoAddr, String.class));
|
|
|
+ ListIterator<Object> tasksIter = tasksJson.getJSONArray("data").listIterator();
|
|
|
+
|
|
|
+ List<TaskDTO> dtos = new ArrayList<>();
|
|
|
+ while (tasksIter.hasNext()) {
|
|
|
+ JSONObject taskInfo = (JSONObject) tasksIter.next();
|
|
|
+
|
|
|
+ TaskDTO dto = new TaskDTO();
|
|
|
+ dto.setExamId(Long.parseLong(taskInfo.getString("task_id")));
|
|
|
+ dto.setCaseId(Long.parseLong(taskInfo.getString("case_id")));
|
|
|
+ dto.setName(taskInfo.getString("name"));
|
|
|
+
|
|
|
+ dtos.add(dto);
|
|
|
+ }
|
|
|
+
|
|
|
+ return dtos.stream()
|
|
|
+ .map(taskDTO -> {
|
|
|
+ long totalBugs = masterReportDao.countByExamIdAndCaseId(taskDTO.getExamId(), taskDTO.getCaseId());
|
|
|
+ long undealBugs = 0;
|
|
|
+ if (totalBugs == 0) {
|
|
|
+ totalBugs = bugReportService.getAllBugs(taskDTO.getExamId(), taskDTO.getCaseId()).size();
|
|
|
+ undealBugs = totalBugs;
|
|
|
+ } else {
|
|
|
+ undealBugs = masterReportDao.countByExamIdAndCaseIdAndStatus(taskDTO.getExamId(), taskDTO.getCaseId(), 0);
|
|
|
+ }
|
|
|
+ taskDTO.setNumOfTotalBug(totalBugs);
|
|
|
+ taskDTO.setNumOfUndeal(undealBugs);
|
|
|
+
|
|
|
+ return taskDTO;
|
|
|
+ }).sorted(Comparator.comparing(TaskDTO::getExamId).reversed())
|
|
|
+ .collect(Collectors.toList());
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<TaskDTO> getAllTasks2() {
|
|
|
return tasks.stream()
|
|
|
.map(task -> {
|
|
|
TaskDTO taskDTO = new TaskDTO();
|