1、静态任务下发指令,写入事件类型字段
2、任务新建时,就把选择规则状态设置为使用中 3、
This commit is contained in:
@@ -109,11 +109,12 @@ public class StaticRuleService {
|
||||
@Transactional
|
||||
public Object deleteStaticRules(List<Integer> staticRuleIds) {
|
||||
//判断当前静态规则是否能够删除---是否存在任务选择的静态规则??
|
||||
|
||||
//删除静态规则
|
||||
// for (Integer id : staticRuleIds) {
|
||||
// staticRuleMapper.deleteStaticRule(id);
|
||||
// }
|
||||
List<StaticRuleObject> staticRuleObjects = staticRuleMapper.queryStaticRuleByIds(staticRuleIds);
|
||||
for (StaticRuleObject staticRuleObject : staticRuleObjects) {
|
||||
if (Objects.equals(staticRuleObject.getAuditStatus(), AuditStatusEnum.USING.getNum())) {
|
||||
throw new IllegalArgumentException("当前静态规则正在使用,无法删除");
|
||||
}
|
||||
}
|
||||
Function<StaticRuleMapper, Function<List<Integer>, Boolean>> deleteStaticRulesFunction =
|
||||
mapper -> list -> {
|
||||
if (list == null || list.isEmpty()) {
|
||||
|
||||
@@ -18,10 +18,12 @@ public interface TaskMapper {
|
||||
void newTask(@Param("task") Task task);
|
||||
|
||||
void newTaskStaticRuleConcat(@Param("task_id") Long taskId,
|
||||
@Param("rule_ids") List<Integer> staticRuleIds);
|
||||
@Param("rule_ids") List<Integer> staticRuleIds,
|
||||
@Param("status") Integer usingStatusNum);
|
||||
|
||||
void newTaskDynamicRuleConcat(@Param("task_id") Long taskId,
|
||||
@Param("rule_ids") List<Integer> dynamicRuleIds);
|
||||
@Param("rule_ids") List<Integer> dynamicRuleIds,
|
||||
@Param("status") Integer usingStatusNum);
|
||||
|
||||
void newTaskUsingCommandInfo(@Param("info") TaskCommandInfo taskCommandInfo);
|
||||
|
||||
@@ -40,9 +42,9 @@ public interface TaskMapper {
|
||||
|
||||
void updateTask(@Param("task") Task task);
|
||||
|
||||
void clearTaskConnectedStaticRule(@Param("task_id") Long taskId);
|
||||
void clearTaskConnectedStaticRule(@Param("task_id") Long taskId, @Param("status")Integer num);
|
||||
|
||||
void clearTaskConnectedDynamicRule(@Param("task_id") Long taskId);
|
||||
void clearTaskConnectedDynamicRule(@Param("task_id") Long taskId, @Param("status")Integer num);
|
||||
|
||||
void changeTaskAuditStatusWithAudior(@Param("task_id") Long taskId, @Param("audit_status") Integer auditStatus,
|
||||
@Param("auditUserName")String auditUserName,
|
||||
|
||||
@@ -76,7 +76,7 @@ public class TaskService {
|
||||
throw new IllegalArgumentException("部分静态规则已被其他任务使用");
|
||||
}
|
||||
});
|
||||
taskMapper.newTaskStaticRuleConcat(task.getTaskId(), task.getStaticRuleIds());
|
||||
taskMapper.newTaskStaticRuleConcat(task.getTaskId(), task.getStaticRuleIds(), AuditStatusEnum.USING.getNum());
|
||||
}
|
||||
|
||||
if (task.getDynamicRuleIds() != null && !task.getDynamicRuleIds().isEmpty()) {
|
||||
@@ -89,7 +89,7 @@ public class TaskService {
|
||||
throw new IllegalArgumentException("部分动态规则已被其他任务使用");
|
||||
}
|
||||
});
|
||||
taskMapper.newTaskDynamicRuleConcat(task.getTaskId(), task.getDynamicRuleIds());
|
||||
taskMapper.newTaskDynamicRuleConcat(task.getTaskId(), task.getDynamicRuleIds(), AuditStatusEnum.USING.getNum());
|
||||
}
|
||||
if (task.getTaskType() != TaskTypeEnum.STATIC.getTaskType()) {
|
||||
if (task.getProtectObjectIds() != null && !task.getProtectObjectIds().isEmpty()) {
|
||||
@@ -300,17 +300,16 @@ public class TaskService {
|
||||
//更新task
|
||||
taskMapper.updateTask(task);
|
||||
//重新关联task和protectObjects
|
||||
|
||||
taskMapper.newTaskProtectObjectConcat(task.getTaskId(), task.getProtectObjectIds());
|
||||
|
||||
taskMapper.clearTaskConnectedStaticRule(task.getTaskId());
|
||||
taskMapper.clearTaskConnectedDynamicRule(task.getTaskId());
|
||||
taskMapper.clearTaskConnectedStaticRule(task.getTaskId(), AuditStatusEnum.AUDITED.getNum());
|
||||
taskMapper.clearTaskConnectedDynamicRule(task.getTaskId(), AuditStatusEnum.AUDITED.getNum());
|
||||
|
||||
if (task.getStaticRuleIds() != null && !task.getStaticRuleIds().isEmpty())
|
||||
taskMapper.newTaskStaticRuleConcat(task.getTaskId(), task.getStaticRuleIds());
|
||||
taskMapper.newTaskStaticRuleConcat(task.getTaskId(), task.getStaticRuleIds(), AuditStatusEnum.USING.getNum());
|
||||
|
||||
if (task.getDynamicRuleIds() != null && !task.getDynamicRuleIds().isEmpty())
|
||||
taskMapper.newTaskDynamicRuleConcat(task.getTaskId(), task.getDynamicRuleIds());
|
||||
taskMapper.newTaskDynamicRuleConcat(task.getTaskId(), task.getDynamicRuleIds(),AuditStatusEnum.USING.getNum());
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -349,11 +348,12 @@ public class TaskService {
|
||||
if (task == null) {
|
||||
return true;
|
||||
}
|
||||
|
||||
//有的规则被任务选择了,但任务还没有启动,此时规则的状态不是已使用,但used_task_id已经被设置
|
||||
//所以应该选择任务的时候就
|
||||
updateStaticRuleAuditStatusInTask(taskId, AuditStatusEnum.AUDITED);
|
||||
updateDynamicRuleAuditStatusInTask(taskId, AuditStatusEnum.AUDITED);
|
||||
taskMapper.clearTaskConnectedStaticRule(task.getTaskId());
|
||||
taskMapper.clearTaskConnectedDynamicRule(task.getTaskId());
|
||||
taskMapper.clearTaskConnectedStaticRule(task.getTaskId(), AuditStatusEnum.AUDITED.getNum());
|
||||
taskMapper.clearTaskConnectedDynamicRule(task.getTaskId(), AuditStatusEnum.AUDITED.getNum());
|
||||
|
||||
commandMapper.removeCommandsByTaskId(taskId);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user