1、统计接口,增加已退回的数据

2、增加规则、任务、配置的历史状态变化表查询
3、任务结束后,其选择规则再次使用报错正在使用中问题解决。修改规则审计状态同时,删去used_tasl_id的值
4、任务结束,修改is——delete报错解决,doris要使用unique key
5、分页查询逆序返回
This commit is contained in:
PushM
2024-06-05 03:29:32 +08:00
parent e4ebe2d791
commit 906bf494d9
41 changed files with 485 additions and 22 deletions

View File

@@ -262,9 +262,11 @@ public class TaskController implements TaskControllerApi {
null, null, null, null,null,null,null,null))
.setData("finished_num", taskService.queryTaskTotalNum(StateEnum.FINISHED.getStateNum(), null, null, null, null,
null, null, null, null,null,null,null,null))
.setData("unaudit_num", taskService.queryAuditTaskTotalNum(
AuditStatusEnum.PENDING.getNum()
));
.setData("unaudit_num", taskService.queryAuditTaskTotalNum(AuditStatusEnum.PENDING.getNum()))
.setData("audited_num", taskService.queryAuditTaskTotalNum(AuditStatusEnum.AUDITED.getNum()))
.setData("rejected_num", taskService.queryAuditTaskTotalNum(AuditStatusEnum.RETURNED.getNum()))
.setData("using_num", taskService.queryAuditTaskTotalNum(AuditStatusEnum.USING.getNum()));
}
@Override
@@ -285,5 +287,15 @@ public class TaskController implements TaskControllerApi {
.setData("auditInfo", taskService.queryAuditInfo(id));
}
@Override
@GetMapping("/{id}/history")
public ResponseResult queryHistory(@PathVariable Long id,
@RequestParam(value = "page", required = true) Integer page,
@RequestParam(value = "page_size", required = true) Integer pageSize) {
return ResponseResult.ok()
.setData("history", taskService.queryHistory(id, page, pageSize));
}
}

View File

@@ -670,4 +670,27 @@ public interface TaskControllerApi {
)
@GetMapping("/auditInfo/{id}")
ResponseResult queryAuditInfo(@PathVariable Integer id);
@Operation(
summary = "查询历史变化",
description = "查询历史变化只接收一个id",
responses = {
@io.swagger.v3.oas.annotations.responses.ApiResponse(
description = "返回是否成功",
content = @Content(
mediaType = "application/json",
schema = @Schema(implementation = ResponseResult.class)
)
)
},
parameters = {
@Parameter(name = "page", description = "页数", example = "2"),
@Parameter(name = "page_size", description = "每页个数", example = "10"),
}
)
@GetMapping("/{id}/history")
ResponseResult queryHistory(@PathVariable Long id,
@RequestParam(value = "page", required = true) Integer page,
@RequestParam(value = "page_size", required = true) Integer pageSize);
}

View File

@@ -112,4 +112,6 @@ public interface TaskMapper {
void insertTaskStatusLogBatch(List<Integer> idWithAuditStatusBatch);
void updateTaskStatusLogExpireTimeBatch(List<Integer> taskIds);
List<Task> queryHistory(Long id, Integer page, Integer pageSize);
}

View File

@@ -153,10 +153,12 @@ public class TaskService {
}
mapper.updateAuditStatusByIdBatch(batchMap);
insertStaticRuleStatusLog(batchMap);
batchMap.clear();
}
mapper.updateAuditStatusByIdBatch(batchMap);
insertStaticRuleStatusLog(batchMap);
batchMap.clear();
return null;
@@ -214,10 +216,12 @@ public class TaskService {
}
mapper.updateAuditStatusByIdBatch(batchMap);
insertDynamicRuleStatusLog(batchMap);
batchMap.clear();
}
mapper.updateAuditStatusByIdBatch(batchMap);
insertDynamicRuleStatusLog(batchMap);
batchMap.clear();
return null;
@@ -243,6 +247,8 @@ public class TaskService {
if (task == null) {
continue;
}
List<ProtectObject> protectObjects = taskMapper.queryProtectObjectsByTaskId(task.getTaskId());
task.setProtectObjects(protectObjects);
task.setStaticRuleIds(taskMapper.queryStaticRuleIdsFromTaskId(task.getTaskId(),
List.of(AuditStatusEnum.AUDITED.getNum(), AuditStatusEnum.USING.getNum())));
@@ -523,4 +529,46 @@ public class TaskService {
taskMapper.updateTaskStatusLogExpireTimeBatch(taskIds);
taskMapper.insertTaskStatusLogBatch(taskIds);
}
public List<Task> queryHistory(Long id, Integer page, Integer pageSize) {
List<Task> tasks = taskMapper.queryHistory(id, page, pageSize);
for (Task task : tasks) {
if (task == null) {
continue;
}
List<ProtectObject> protectObjects = taskMapper.queryProtectObjectsByTaskId(task.getTaskId());
task.setProtectObjects(protectObjects);
task.setStaticRuleIds(taskMapper.queryStaticRuleIdsFromTaskId(task.getTaskId(),
List.of(AuditStatusEnum.AUDITED.getNum(), AuditStatusEnum.USING.getNum())));
task.setDynamicRuleIds(taskMapper.queryDynamicRuleIdsFromTaskId(task.getTaskId(),
List.of(AuditStatusEnum.AUDITED.getNum(), AuditStatusEnum.USING.getNum())));
}
return tasks;
}
public void removeDynamicRuleUsedTaskIdInTask(Long taskId) {
dynamicRuleMapper.removeUsedTaskId(taskId);
}
public void removeStaticRuleUsedTaskIdInTask(Long taskId) {
staticRuleMapper.removeUsedTaskId(taskId);
}
public void insertStaticRuleStatusLog(Map<Integer, Integer> idWithAuditStatusBatch) {
Set<Integer> keys = idWithAuditStatusBatch.keySet();
ArrayList<Integer> ids = new ArrayList<>(keys);
staticRuleMapper.updateStaticRuleStatusLogExpireTimeBatch(ids);
staticRuleMapper.insertStaticRuleStatusLogBatch(ids);
}
public void insertDynamicRuleStatusLog(Map<Integer, Integer> idWithAuditStatusBatch) {
Set<Integer> keys = idWithAuditStatusBatch.keySet();
ArrayList<Integer> ids = new ArrayList<>(keys);
dynamicRuleMapper.updateStatusLogExpireTimeBatch(ids);
dynamicRuleMapper.insertStatusLogBatch(ids);
}
}

View File

@@ -69,8 +69,14 @@ public class StateHandler {
protected Boolean handleFinish(CommandService commandService, TaskService taskService, Long taskId) {
commandService.removeCommandsByTaskId(taskId);
taskService.updateDynamicRuleAuditStatusInTask(taskId, AuditStatusEnum.AUDITED);
// 要删去规则的used_task_id,因为在新建时检查了是否有重复使用的规则
taskService.removeDynamicRuleUsedTaskIdInTask(taskId);
taskService.updateStaticRuleAuditStatusInTask(taskId, AuditStatusEnum.AUDITED);
taskService.removeStaticRuleUsedTaskIdInTask(taskId);
return true;
}