优化统一参数命名

This commit is contained in:
hubin 2025-03-03 08:25:37 +08:00
parent faaa5cfac3
commit fc2326aa02
2 changed files with 44 additions and 43 deletions

View File

@ -330,14 +330,14 @@ public interface TaskService {
*
* @param taskId 任务ID
* @param performType 参与类型 {@link PerformType}
* @param flwTaskActors 参与者列表
* @param taskActors 参与者列表
* @param flowCreator 执行操作人员
* @return true 成功 false 失败
*/
boolean addTaskActor(Long taskId, PerformType performType, List<FlwTaskActor> flwTaskActors, FlowCreator flowCreator);
boolean addTaskActor(Long taskId, PerformType performType, List<FlwTaskActor> taskActors, FlowCreator flowCreator);
default boolean addTaskActor(Long taskId, PerformType performType, FlwTaskActor flwTaskActor, FlowCreator flowCreator) {
return this.addTaskActor(taskId, performType, Collections.singletonList(flwTaskActor), flowCreator);
default boolean addTaskActor(Long taskId, PerformType performType, FlwTaskActor taskActor, FlowCreator flowCreator) {
return this.addTaskActor(taskId, performType, Collections.singletonList(taskActor), flowCreator);
}
/**

View File

@ -490,31 +490,31 @@ public class TaskServiceImpl implements TaskService {
FlwTaskActor fta = FlwTaskActor.ofAgent(agentType, flowCreator, flwTask, taskActor);
// 插入当前用户ID作为唯一参与者
taskActorDao.insert(fta);
// 任务监听器通知
this.taskNotify(eventType, () -> flwTask, Collections.singletonList(fta), null, flowCreator);
if (taskActorDao.insert(fta)) {
// 任务监听器通知
this.taskNotify(eventType, () -> flwTask, Collections.singletonList(fta), null, flowCreator);
}
return flwTask;
}
@Override
public boolean transferTask(FlowCreator flowCreator, FlowCreator assigneeFlowCreator) {
List<FlwTaskActor> flwTaskActors = taskActorDao.selectListByActorId(flowCreator.getCreateId());
if (ObjectUtils.isEmpty(flwTaskActors)) {
List<FlwTaskActor> taskActors = taskActorDao.selectListByActorId(flowCreator.getCreateId());
if (ObjectUtils.isEmpty(taskActors)) {
return false;
}
// 遍历处理所有任务
for (FlwTaskActor flwTaskActor : flwTaskActors) {
for (FlwTaskActor taskActor : taskActors) {
// 设置委托人信息
FlwTask ft = new FlwTask();
ft.setId(flwTaskActor.getTaskId());
ft.setId(taskActor.getTaskId());
ft.taskType(TaskType.transfer);
ft.setAssignorId(flowCreator.getCreateId());
ft.setAssignor(flowCreator.getCreateBy());
if (taskDao.updateById(ft)) {
// 更新任务参与者为指定用户
FlwTaskActor fta = new FlwHisTaskActor();
fta.setId(flwTaskActor.getId());
fta.setId(taskActor.getId());
fta.setActorId(assigneeFlowCreator.getCreateId());
fta.setActorName(assigneeFlowCreator.getCreateBy());
taskActorDao.updateById(fta);
@ -544,7 +544,7 @@ public class TaskServiceImpl implements TaskService {
return false;
}
List<FlwTaskActor> flwTaskActors = new ArrayList<>();
List<FlwTaskActor> taskActors = new ArrayList<>();
// 设置任务为委派任务或者为转办任务
FlwTask flwTask = new FlwTask();
@ -559,7 +559,7 @@ public class TaskServiceImpl implements TaskService {
// 分配代理人可见代理任务
assigneeFlowCreators.forEach(t -> {
FlwTaskActor fta = FlwTaskActor.ofAgent(AgentType.agent, t, dbFlwTask, flwTaskActor);
flwTaskActors.add(fta);
taskActors.add(fta);
taskActorDao.insert(fta);
});
} else {
@ -572,7 +572,7 @@ public class TaskServiceImpl implements TaskService {
// 分配任务给办理人
FlwTaskActor fta = FlwTaskActor.ofFlowCreator(assigneeFlowCreators.get(0));
flwTaskActors.add(fta);
taskActors.add(fta);
this.assignTask(flwTaskActor.getInstanceId(), taskId, flwTaskActor.getActorType(), fta);
}
@ -585,7 +585,7 @@ public class TaskServiceImpl implements TaskService {
dbFlwTask.setAssignorId(flwTask.getAssignorId());
dbFlwTask.setAssignor(flwTask.getAssignor());
return dbFlwTask;
}, flwTaskActors, null, flowCreator);
}, taskActors, null, flowCreator);
return true;
}
@ -611,17 +611,17 @@ public class TaskServiceImpl implements TaskService {
@Override
public boolean resolveTask(Long taskId, FlowCreator flowCreator) {
// 解决任务权限验证
FlwTaskActor flwTaskActor = this.getAllowedFlwTaskActor(taskId, flowCreator);
FlwTaskActor taskActor = this.getAllowedFlwTaskActor(taskId, flowCreator);
// 当前委托任务
FlwTask flwTask = taskDao.selectCheckById(taskId);
// 任务归还至委托人
FlwTaskActor taskActor = new FlwHisTaskActor();
taskActor.setId(flwTaskActor.getId());
taskActor.setActorId(flwTask.getAssignorId());
taskActor.setActorName(flwTask.getAssignor());
if (taskActorDao.updateById(taskActor)) {
FlwTaskActor fta = new FlwHisTaskActor();
fta.setId(taskActor.getId());
fta.setActorId(flwTask.getAssignorId());
fta.setActorName(flwTask.getAssignor());
if (taskActorDao.updateById(fta)) {
// 设置任务状态为委托归还委托人设置为归还人
FlwTask temp = new FlwTask();
temp.setId(taskId);
@ -636,7 +636,7 @@ public class TaskServiceImpl implements TaskService {
flwTask.setAssignorId(temp.getCreateId());
flwTask.setAssignor(temp.getCreateBy());
return flwTask;
}, Collections.singletonList(taskActor), null, flowCreator);
}, Collections.singletonList(fta), null, flowCreator);
}
return true;
}
@ -705,14 +705,14 @@ public class TaskServiceImpl implements TaskService {
FlwTask flwTask = histTask.cloneTask(null);
taskDao.insert(flwTask);
List<FlwTaskActor> flwTaskActors = new ArrayList<>();
List<FlwTaskActor> taskActors = new ArrayList<>();
// 历史任务参与者恢复
List<FlwHisTaskActor> hisTaskActors = hisTaskActorDao.selectListByTaskId(taskId);
hisTaskActors.forEach(t -> {
FlwTaskActor fta = FlwTaskActor.ofFlwHisTaskActor(flwTask.getId(), t);
if (taskActorDao.insert(fta)) {
flwTaskActors.add(fta);
taskActors.add(fta);
}
});
@ -720,7 +720,7 @@ public class TaskServiceImpl implements TaskService {
this.updateCurrentNode(flwTask);
// 任务监听器通知
this.taskNotify(TaskEventType.resume, () -> flwTask, flwTaskActors, null, flowCreator);
this.taskNotify(TaskEventType.resume, () -> flwTask, taskActors, null, flowCreator);
return flwTask;
}
@ -1172,7 +1172,7 @@ public class TaskServiceImpl implements TaskService {
flwTasks.add(flwTask);
// 创建任务监听
this.taskNotify(TaskEventType.start, () -> flwTask, null, nodeModel, flowCreator);
this.taskNotify(TaskEventType.start, () -> flwTask, taskActors, nodeModel, flowCreator);
}
return flwTasks;
}
@ -1225,16 +1225,17 @@ public class TaskServiceImpl implements TaskService {
*/
taskActors.forEach(t -> {
FlwTask newFlwTask = flwTask.cloneTask(null);
taskDao.insert(newFlwTask);
flwTasks.add(newFlwTask);
if (taskDao.insert(newFlwTask)) {
flwTasks.add(newFlwTask);
// 分配参与者
this.assignTask(newFlwTask.getInstanceId(), newFlwTask.getId(), assignActorType(actorType, t.getActorType()), t);
// 分配参与者
this.assignTask(newFlwTask.getInstanceId(), newFlwTask.getId(), assignActorType(actorType, t.getActorType()), t);
// 创建任务监听
this.taskNotify(TaskEventType.create, () -> newFlwTask, Collections.singletonList(t), nodeModel, flowCreator);
}
});
// 所有任务创建后创建任务监听避免后续任务因为监听逻辑导致未创建情况
flwTasks.forEach(t -> this.taskNotify(TaskEventType.create, () -> t, taskActors, nodeModel, flowCreator));
// 返回创建的任务列表
return flwTasks;
}
@ -1274,18 +1275,18 @@ public class TaskServiceImpl implements TaskService {
* 向指定的任务ID添加参与者
*
* @param taskId 任务ID
* @param flwTaskActors 参与者列表
* @param taskActors 参与者列表
*/
@Override
public boolean addTaskActor(Long taskId, PerformType performType, List<FlwTaskActor> flwTaskActors, FlowCreator flowCreator) {
public boolean addTaskActor(Long taskId, PerformType performType, List<FlwTaskActor> taskActors, FlowCreator flowCreator) {
FlwTask flwTask = taskDao.selectCheckById(taskId);
Assert.isTrue(ObjectUtils.isEmpty(flwTaskActors), "actorIds cannot be empty");
Assert.isTrue(ObjectUtils.isEmpty(taskActors), "actorIds cannot be empty");
List<FlwTaskActor> taskActorList = this.getTaskActorsByTaskId(taskId);
Map<String, FlwTaskActor> taskActorMap = taskActorList.stream().collect(Collectors.toMap(FlwTaskActor::getActorId, t -> t));
for (FlwTaskActor flwTaskActor : flwTaskActors) {
for (FlwTaskActor taskActor : taskActors) {
// 不存在的参与者
if (null != taskActorMap.get(flwTaskActor.getActorId())) {
if (null != taskActorMap.get(taskActor.getActorId())) {
continue;
}
if (PerformType.countersign.eq(flwTask.getPerformType())) {
@ -1294,12 +1295,12 @@ public class TaskServiceImpl implements TaskService {
*/
FlwTask newFlwTask = flwTask.cloneTask(flowCreator.getCreateId(), flowCreator.getCreateBy());
taskDao.insert(newFlwTask);
this.assignTask(flwTask.getInstanceId(), newFlwTask.getId(), 0, flwTaskActor);
this.assignTask(flwTask.getInstanceId(), newFlwTask.getId(), 0, taskActor);
} else {
/*
* 单一任务多处理人员情况
*/
this.assignTask(flwTask.getInstanceId(), taskId, 0, flwTaskActor);
this.assignTask(flwTask.getInstanceId(), taskId, 0, taskActor);
}
}
@ -1309,7 +1310,7 @@ public class TaskServiceImpl implements TaskService {
temp.setPerformType(performType);
if (taskDao.updateById(temp)) {
// 创建任务监听
this.taskNotify(TaskEventType.addTaskActor, () -> flwTask, flwTaskActors, null, flowCreator);
this.taskNotify(TaskEventType.addTaskActor, () -> flwTask, taskActors, null, flowCreator);
return true;
}
return false;