Commit b8b0164a by gdj

查询任务状态统计信息

parent 7febd036
......@@ -2,6 +2,7 @@ package com.dji.sample.wayline.controller;
import com.dji.sample.common.model.CustomClaim;
import com.dji.sample.wayline.model.dto.TaskStatisticDTO;
import com.dji.sample.wayline.model.dto.TaskStatusStatisticDTO;
import com.dji.sample.wayline.model.dto.WaylineJobDTO;
import com.dji.sample.wayline.model.entity.WaylineJobEntity;
import com.dji.sample.wayline.model.param.CreateInFlightJobParam;
......@@ -181,4 +182,13 @@ public class WaylineJobController {
return HttpResultResponse.success();
}
/**
* 统计任务状态
*/
@GetMapping("/{workspace_id}/taskStatusCount")
public HttpResultResponse getTaskStatusCount(@PathVariable(name = "workspace_id") String workspaceId) {
List<TaskStatusStatisticDTO> taskStatusCount = waylineJobService.getTaskStatusCount(workspaceId);
return HttpResultResponse.success(taskStatusCount);
}
}
......@@ -2,6 +2,7 @@ package com.dji.sample.wayline.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dji.sample.wayline.model.dto.TaskStatisticDTO;
import com.dji.sample.wayline.model.dto.TaskStatusStatisticDTO;
import com.dji.sample.wayline.model.dto.WaylineJobDTO;
import com.dji.sample.wayline.model.entity.WaylineJobEntity;
import com.dji.sample.wayline.model.enums.WaylineJobStatusEnum;
......@@ -128,4 +129,5 @@ public interface IWaylineJobService extends IService<WaylineJobEntity> {
*/
void exportTaskList(HttpServletResponse response, String workspaceId);
List<TaskStatusStatisticDTO> getTaskStatusCount(String workspaceId);
}
......@@ -875,4 +875,42 @@ public class WaylineJobServiceImpl extends ServiceImpl<IWaylineJobMapper, Waylin
return builder.build();
}
@Override
public List<TaskStatusStatisticDTO> getTaskStatusCount(String workspaceId) {
List<WaylineJobEntity> waylineJobList = getWaylineJobList(workspaceId);
Map<Integer, List<WaylineJobEntity>> resultMap = waylineJobList.stream().collect(Collectors.groupingBy(WaylineJobEntity::getStatus));
List<TaskStatusStatisticDTO> countList = new ArrayList<>();
for (WaylineJobStatusEnum waylineJobStatusEnum : WaylineJobStatusEnum.values()) {
TaskStatusStatisticDTO tempStatusDTO = new TaskStatusStatisticDTO();
tempStatusDTO.setTaskStatus(waylineJobStatusEnum.getVal());
tempStatusDTO.setTaskStatusName(waylineJobStatusEnum.name());
List<WaylineJobEntity> tempList = resultMap.getOrDefault(waylineJobStatusEnum.getVal(), new ArrayList<>());
tempStatusDTO.setCount(tempList.size());
countList.add(tempStatusDTO);
}
return countList;
}
List<WaylineJobEntity> getWaylineJobList(String workspaceId) {
LambdaQueryWrapper<WaylineJobEntity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(WaylineJobEntity::getWorkspaceId, workspaceId);
// 获取 org
if (aboveSysAdminRole()) {
} else {
queryWrapper.eq(WaylineJobEntity::getOrgId, getOrgId());
}
List<WaylineJobEntity> list = this.list(queryWrapper);
return list;
}
}
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