1、增加退回任务通知接口
This commit is contained in:
@@ -148,5 +148,9 @@ public class Task {
|
||||
@Schema(description = "日志表中到期时间", example = "", accessMode = Schema.AccessMode.READ_ONLY)
|
||||
private LocalDateTime expireTime;
|
||||
|
||||
@JsonProperty("audit_info")
|
||||
@Schema(description = "审核意见", example = "审核不同意", accessMode = Schema.AccessMode.READ_ONLY)
|
||||
private String auditInfo;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -295,7 +295,7 @@ public class TaskController implements TaskControllerApi {
|
||||
|
||||
@Override
|
||||
@PostMapping("/auditInfo/{ids}")
|
||||
public ResponseResult updateAuditInfo(@PathVariable List<Integer> ids,
|
||||
public ResponseResult updateAuditInfo(@PathVariable List<Long> ids,
|
||||
@RequestBody Map<String, String> auditInfo) {
|
||||
if (auditInfo.get("auditInfo") == null || auditInfo.get("auditInfo").isEmpty()) {
|
||||
return ResponseResult.ok();
|
||||
@@ -370,4 +370,13 @@ public class TaskController implements TaskControllerApi {
|
||||
.setData("commands", taskCommandInfos);
|
||||
}
|
||||
|
||||
@Override
|
||||
@GetMapping("/auditinfo/alert/{userid}")
|
||||
public ResponseResult auditInfoNotification(@PathVariable String userId){
|
||||
|
||||
return ResponseResult.ok()
|
||||
.setData("success", true)
|
||||
.setData("alert", taskService.auditInfoNotification(userId));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -650,7 +650,7 @@ public interface TaskControllerApi {
|
||||
}
|
||||
)
|
||||
@PostMapping("/auditInfo/{ids}")
|
||||
ResponseResult updateAuditInfo(@PathVariable List<Integer> ids,
|
||||
ResponseResult updateAuditInfo(@PathVariable List<Long> ids,
|
||||
@RequestBody Map<String, String> auditInfo);
|
||||
|
||||
|
||||
@@ -822,4 +822,24 @@ public interface TaskControllerApi {
|
||||
)
|
||||
@GetMapping("/push")
|
||||
ResponseResult pushWhiteList();
|
||||
|
||||
|
||||
@Operation(
|
||||
summary = "查询用户下未通知的任务数量",
|
||||
description = "接收用户id,返回所有该用户下审核退回且wei通知的任务数量",
|
||||
responses = {
|
||||
@io.swagger.v3.oas.annotations.responses.ApiResponse(
|
||||
description = "返回是否成功",
|
||||
content = @Content(
|
||||
mediaType = "application/json",
|
||||
schema = @Schema(implementation = ResponseResult.class)
|
||||
)
|
||||
)
|
||||
},
|
||||
parameters = {
|
||||
@Parameter(name = "用户id", description = "用户的id", example = "0000148"),
|
||||
}
|
||||
)
|
||||
@GetMapping("/auditinfo/alert/{userid}")
|
||||
ResponseResult auditInfoNotification(@PathVariable String userId);
|
||||
}
|
||||
|
||||
@@ -92,7 +92,7 @@ public interface TaskMapper {
|
||||
|
||||
List<Integer> queryAuditStatusByIds(@Param("idWithAuditStatusBatch") Map<Integer, Integer> idsWithAuditStatusMap);
|
||||
|
||||
Boolean updateAuditInfo(@Param("ids")List<Integer> ids, @Param("auditInfo")String auditInfo);
|
||||
Boolean updateAuditInfo(@Param("ids")List<Long> ids, @Param("auditInfo")String auditInfo);
|
||||
|
||||
String queryAuditInfo(Integer id);
|
||||
|
||||
@@ -128,4 +128,6 @@ public interface TaskMapper {
|
||||
String queryEventTypeDepartment(String eventType);
|
||||
|
||||
String queryEventTypeAct(String eventType);
|
||||
|
||||
List<Task> queryAuditInfoNotification(String userId , Integer auditStatus);
|
||||
}
|
||||
|
||||
@@ -520,7 +520,7 @@ public class TaskService {
|
||||
return taskMapper.queryAuditStatusByIds(idsWithAuditStatusMap);
|
||||
}
|
||||
|
||||
public Boolean updateAuditInfo(List<Integer> ids, String auditInfo) {
|
||||
public Boolean updateAuditInfo(List<Long> ids, String auditInfo) {
|
||||
return taskMapper.updateAuditInfo(ids, auditInfo);
|
||||
}
|
||||
|
||||
@@ -621,4 +621,8 @@ public class TaskService {
|
||||
|
||||
|
||||
}
|
||||
|
||||
public List<Task> auditInfoNotification(String userId) {
|
||||
return taskMapper.queryAuditInfoNotification(userId,AuditStatusEnum.RETURNED.getNum());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -256,7 +256,9 @@
|
||||
</update>
|
||||
<update id="updateAuditInfo">
|
||||
UPDATE t_task
|
||||
SET task_audit_info = #{auditInfo}
|
||||
SET
|
||||
task_audit_info = #{auditInfo},
|
||||
is_need_notification = 1
|
||||
WHERE task_id IN
|
||||
<foreach collection="ids" item="id" open="(" separator="," close=")">
|
||||
#{id}
|
||||
@@ -678,4 +680,40 @@
|
||||
dict_type = 'event_type'
|
||||
AND dict_value = #{eventType}
|
||||
</select>
|
||||
|
||||
<resultMap id="taskAuditMap" type="com.realtime.protection.configuration.entity.task.Task">
|
||||
<id column="task_id" property="taskId"/>
|
||||
<result column="task_name" property="taskName"/>
|
||||
<result column="task_type" property="taskType"/>
|
||||
<result column="task_act" property="taskAct"/>
|
||||
<result column="task_range" property="taskRange"/>
|
||||
|
||||
<result column="task_status" property="taskStatus"/>
|
||||
<result column="task_audit_status" property="taskAuditStatus"/>
|
||||
|
||||
<result column="task_start_time" property="taskStartTime"/>
|
||||
<result column="task_end_time" property="taskEndTime"/>
|
||||
|
||||
<result column="task_create_username" property="taskCreateUsername"/>
|
||||
<result column="task_create_depart" property="taskCreateDepart"/>
|
||||
<result column="task_create_userid" property="taskCreateUserId"/>
|
||||
<result column="task_audit_username" property="auditUserName"/>
|
||||
<result column="task_audit_userid" property="auditUserId"/>
|
||||
<result column="task_audit_depart" property="auditUserDepart"/>
|
||||
|
||||
|
||||
<result column="task_display_id" property="taskDisplayId"/>
|
||||
|
||||
<result column="task_audit_info" property="auditInfo" />
|
||||
</resultMap>
|
||||
|
||||
|
||||
|
||||
<select id="queryAuditInfoNotification" resultMap="taskAuditMap">
|
||||
SELECT * from t_task
|
||||
WHERE
|
||||
task_create_userid = #{userId}
|
||||
AND task_audit_status = #{auditStatus}
|
||||
AND is_need_notification = 1
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -24,6 +24,7 @@ import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.dao.DataIntegrityViolationException;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
@@ -148,7 +149,7 @@ class TaskServiceTest extends ProtectionApplicationTests {
|
||||
//
|
||||
List<Task> tasks = taskService.queryTasks(null, null, null, null, null, null, null, null, null,null,null,null,null,1, 10);
|
||||
tasks.forEach(task -> System.out.println(task));
|
||||
Integer tasksnum = taskService.queryTaskTotalNum(null, null, "", "", null, "", "", "", "上述",null,null,null,null);
|
||||
Integer tasksnum = taskService.queryTaskTotalNum(null, null, "", "", null, "", "", "", "上述",null, String.valueOf(LocalDate.now()),null,null);
|
||||
System.out.println(tasksnum);
|
||||
//
|
||||
// tasks = taskService.queryTasks(0, null, null, null, null,null, null, null, null, 1, 10);
|
||||
@@ -237,48 +238,52 @@ class TaskServiceTest extends ProtectionApplicationTests {
|
||||
@Test
|
||||
void testStartStaticTask() throws DorisStartException {
|
||||
|
||||
for (int j = 0; j < 1; j++) {
|
||||
List<Integer> staticRuleIds = new ArrayList<>();
|
||||
for (int i = 0; i < 10000; i++) {
|
||||
StaticRuleObject staticRuleTest = new StaticRuleObject();
|
||||
staticRuleTest.setStaticRuleName("test_st3aticrule" + i);
|
||||
staticRuleTest.setStaticRuleCreateUsername("NSADD管理员");
|
||||
staticRuleTest.setStaticRuleCreateDepart("组织树");
|
||||
staticRuleTest.setStaticRuleCreateUserId(22222222);
|
||||
|
||||
StaticRuleObject staticRuleTest = new StaticRuleObject();
|
||||
staticRuleTest.setStaticRuleName("test_staticrule");
|
||||
staticRuleTest.setStaticRuleCreateUsername("NSADD管理员");
|
||||
staticRuleTest.setStaticRuleCreateDepart("组织树");
|
||||
staticRuleTest.setStaticRuleCreateUserId(22222222);
|
||||
staticRuleTest.setStaticRuleSip("32.33.3.1");
|
||||
staticRuleTest.setStaticRuleDip("2.2.3.2");
|
||||
staticRuleTest.setStaticRuleSport(i);
|
||||
staticRuleTest.setStaticRuleProtocol("6");
|
||||
staticRuleService.newStaticRuleObject(staticRuleTest);
|
||||
staticRuleIds.add(staticRuleTest.getStaticRuleId());
|
||||
staticRuleService.updateAuditStatus(staticRuleTest.getStaticRuleId(), 2, "NSADD管理员", 1111111, "组织树");
|
||||
}
|
||||
|
||||
staticRuleTest.setStaticRuleSip("32.2.3.1");
|
||||
staticRuleTest.setStaticRuleDip("2.2.3.2");
|
||||
staticRuleTest.setStaticRuleSport(80);
|
||||
staticRuleTest.setStaticRuleProtocol("6");
|
||||
staticRuleService.newStaticRuleObject(staticRuleTest);
|
||||
// staticRuleIds.add(staticRuleTest.getStaticRuleId());
|
||||
staticRuleService.updateAuditStatus(staticRuleTest.getStaticRuleId(), 2, "NSADD管理员", 1111111, "组织树");
|
||||
Task task = new Task();
|
||||
task.setTaskName("静态task测试-10000指令"+j);
|
||||
|
||||
LocalDateTime taskStartTime = LocalDateTime.now().plusMinutes(1);
|
||||
LocalDateTime taskEndTime = LocalDateTime.now().plusYears(1);
|
||||
|
||||
task.setTaskStartTime(taskStartTime);
|
||||
task.setTaskEndTime(taskEndTime);
|
||||
task.setTaskAct("23");
|
||||
task.setTaskType(1);
|
||||
task.setTaskRange("1009");
|
||||
task.setEventType("泛洪型DDOS");
|
||||
|
||||
task.setTaskCreateUserId(111111);
|
||||
task.setTaskCreateUsername("xxx管理员");
|
||||
task.setTaskCreateDepart("xxx");
|
||||
|
||||
task.setStaticRuleIds(staticRuleIds);
|
||||
|
||||
Long taskId = taskService.newTask(task);
|
||||
taskService.changeTaskAuditStatus(taskId, 2, "NSADD管理员", "1111111", "组织树");
|
||||
|
||||
stateChangeService.changeState(2, taskId, false);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Task task = new Task();
|
||||
task.setTaskName("静态task测试s");
|
||||
|
||||
LocalDateTime taskStartTime = LocalDateTime.now().plusMinutes(1);
|
||||
LocalDateTime taskEndTime = LocalDateTime.now().plusYears(1);
|
||||
|
||||
task.setTaskStartTime(taskStartTime);
|
||||
task.setTaskEndTime(taskEndTime);
|
||||
task.setTaskAct("23");
|
||||
task.setTaskType(1);
|
||||
task.setTaskRange("1007");
|
||||
|
||||
task.setTaskCreateUserId(111111);
|
||||
task.setTaskCreateUsername("xxx管理员");
|
||||
task.setTaskCreateDepart("xxx");
|
||||
|
||||
task.setStaticRuleIds(List.of(staticRuleTest.getStaticRuleId()));
|
||||
|
||||
Long taskId = taskService.newTask(task);
|
||||
|
||||
taskService.changeTaskAuditStatus(taskId, 2, "NSADD管理员", "1111111", "组织树");
|
||||
|
||||
stateChangeService.changeState(2, taskId, false);
|
||||
|
||||
// System.out.println(commandService.queryCommandInfos(taskId, null, null, null, null, 1, 5));
|
||||
|
||||
}
|
||||
@@ -385,4 +390,104 @@ class TaskServiceTest extends ProtectionApplicationTests {
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
void testQueryTask() throws DorisStartException {
|
||||
// task/44279/running/2
|
||||
stateChangeService.changeState(2, 44279L, false);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@DSTransactional
|
||||
@Test
|
||||
void testStartStaticTask_command() throws DorisStartException {
|
||||
|
||||
for (int j = 0; j < 1; j++) {
|
||||
List<Integer> staticRuleIds = new ArrayList<>();
|
||||
staticRuleService.queryStaticRule(
|
||||
null, null, null, null, null,null, null, 2,null,null,1, 39999)
|
||||
.forEach(staticRuleObject -> staticRuleIds.add(staticRuleObject.getStaticRuleId()));
|
||||
HashMap<Integer, Integer> map = new HashMap<>();
|
||||
// for (Integer staticRuleId : staticRuleIds) {
|
||||
// map.put(staticRuleId, 2);
|
||||
// }
|
||||
// staticRuleService.updateAuditStatusBatch(map);
|
||||
Task task = new Task();
|
||||
task.setTaskName("指令生成性能测试任务-2w-0619");
|
||||
|
||||
LocalDateTime taskStartTime = LocalDateTime.now().plusMinutes(1);
|
||||
LocalDateTime taskEndTime = LocalDateTime.now().plusYears(1);
|
||||
|
||||
task.setTaskStartTime(taskStartTime);
|
||||
task.setTaskEndTime(taskEndTime);
|
||||
task.setTaskAct("23");
|
||||
task.setTaskType(1);
|
||||
task.setTaskRange("1009");
|
||||
task.setEventType("网络后门");
|
||||
|
||||
task.setTaskCreateUserId(111111);
|
||||
task.setTaskCreateUsername("NSADD管理员");
|
||||
task.setTaskCreateDepart("一室");
|
||||
|
||||
task.setStaticRuleIds(staticRuleIds);
|
||||
|
||||
Long taskId = taskService.newTask(task);
|
||||
System.out.println(staticRuleIds.size());
|
||||
System.out.println(taskId);
|
||||
taskService.changeTaskAuditStatus(taskId, 2, "NSADD管理员", "1111111", "组织树");
|
||||
|
||||
stateChangeService.changeState(2, taskId, false);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
// System.out.println(commandService.queryCommandInfos(taskId, null, null, null, null, 1, 5));
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
void testNotificate(){
|
||||
|
||||
|
||||
List<Integer> staticRuleIds = new ArrayList<>();
|
||||
staticRuleService.queryStaticRule(
|
||||
null, null, null, null, null,null, null, 2,null,null,1, 1)
|
||||
.forEach(staticRuleObject -> staticRuleIds.add(staticRuleObject.getStaticRuleId()));
|
||||
HashMap<Integer, Integer> map = new HashMap<>();
|
||||
// for (Integer staticRuleId : staticRuleIds) {
|
||||
// map.put(staticRuleId, 2);
|
||||
// }
|
||||
// staticRuleService.updateAuditStatusBatch(map);
|
||||
Task task = new Task();
|
||||
task.setTaskName("测试用户审核退回提醒");
|
||||
|
||||
LocalDateTime taskStartTime = LocalDateTime.now().plusMinutes(1);
|
||||
LocalDateTime taskEndTime = LocalDateTime.now().plusYears(1);
|
||||
|
||||
task.setTaskStartTime(taskStartTime);
|
||||
task.setTaskEndTime(taskEndTime);
|
||||
task.setTaskAct("23");
|
||||
task.setTaskType(1);
|
||||
task.setTaskRange("1009");
|
||||
task.setEventType("网络后门");
|
||||
|
||||
task.setTaskCreateUserId(12345);
|
||||
task.setTaskCreateUsername("NSADD管理员");
|
||||
task.setTaskCreateDepart("一室");
|
||||
|
||||
task.setStaticRuleIds(staticRuleIds);
|
||||
|
||||
Long taskId = taskService.newTask(task);
|
||||
System.out.println(staticRuleIds.size());
|
||||
System.out.println(taskId);
|
||||
taskService.changeTaskAuditStatus(taskId, 1, "NSADD管理员", "123", "组织树");
|
||||
taskService.updateAuditInfo(List.of(taskId),"审核不通过,拒绝");
|
||||
|
||||
List<Task> tasks = taskService.auditInfoNotification("12345");
|
||||
System.out.println(tasks);
|
||||
assert !tasks.isEmpty();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user