snaker-core/src/main/java/org/snaker/engine/core/TaskService.java
public void removeTaskActor(String taskId, String... actors) {
		Task task = access().getTask(taskId);
		AssertHelper.notNull(task, "指定的任务[id=" + taskId + "]不存在");
		if(actors == null || actors.length == 0) return;
		if(task.isMajor()) {
			access().removeTaskActor(task.getId(), actors);
			Map<String, Object> taskData = task.getVariableMap();
			String actorStr = (String)taskData.get(Task.KEY_ACTOR);
			if(StringHelper.isNotEmpty(actorStr)) {
				String[] actorArray = actorStr.split(",");
				StringBuilder newActor = new StringBuilder(actorStr.length());
				boolean isMatch;
				for(String actor : actorArray) {
					isMatch = false;
					if(StringHelper.isEmpty(actor)) continue;
					for(String removeActor : actors) {
						if(actor.equals(removeActor)) {
							isMatch = true;
							break;
						}
					}
					if(isMatch) continue;
					newActor.append(actor).append(",");
				}
				newActor.deleteCharAt(newActor.length() - 1);
				taskData.put(Task.KEY_ACTOR, newActor.toString());
				task.setVariable(JsonHelper.toJson(taskData));
				access().updateTask(task);
			}
		}
	}
public void removeTaskActor(String taskId, String... actors) {
		Task task = access().getTask(taskId);
		AssertHelper.notNull(task, "指定的任务[id=" + taskId + "]不存在");
		if(actors == null || actors.length == 0) return;
		if(task.isMajor()) {
			access().removeTaskActor(task.getId(), actors);
			Map<String, Object> taskData = task.getVariableMap();
			String actorStr = (String)taskData.get(Task.KEY_ACTOR);
			if(StringHelper.isNotEmpty(actorStr)) {
				String[] actorArray = actorStr.split(",");
				StringBuilder newActor = new StringBuilder(actorStr.length());
				boolean isMatch;
				for(String actor : actorArray) {
					isMatch = false;
					if(StringHelper.isEmpty(actor)) continue;
					for(String removeActor : actors) {
						if(actor.equals(removeActor)) {
							isMatch = true;
							break;
						}
					}
					if(isMatch) continue;
					newActor.append(actor).append(",");
				}
				newActor.deleteCharAt(newActor.length() - 1);
				taskData.put(Task.KEY_ACTOR, newActor.toString());
				task.setVariable(JsonHelper.toJson(taskData));
				access().updateTask(task);
			}
		}
	}
public void removeTaskActor ( String taskId , String ... actors ) { Task task = access ( ) . getTask ( taskId ) ; AssertHelper . notNull ( task , "指定的任务[id=" + taskId  ]不存在") if ( actors == null || actors . length == 0 ) return ; if ( task . isMajor ( ) ) { access ( ) . removeTaskActor ( task . getId ( ) , actors ) ; Map < String , Object > taskData = task . getVariableMap ( ) ; String actorStr = ( String ) taskData . get ( Task . KEY_ACTOR ) ; if ( StringHelper . isNotEmpty ( actorStr ) ) { String [ ] actorArray = actorStr . split ( "," ) ; StringBuilder newActor = new StringBuilder ( actorStr . length ( ) ) ; boolean isMatch ; for ( String actor : actorArray ) { isMatch = false ; if ( StringHelper . isEmpty ( actor ) ) continue ; for ( String removeActor : actors ) { if ( actor . equals ( removeActor ) ) { isMatch = true ; break ; } } if ( isMatch ) continue ; newActor . append ( actor ) . append ( "," ) ; } newActor . deleteCharAt ( newActor . length ( ) - 1 ) ; taskData . put ( Task . KEY_ACTOR , newActor . toString ( ) ) ; task . setVariable ( JsonHelper . toJson ( taskData ) ) ; access ( ) . updateTask ( task ) ; } } }
向指定任务移除参与者
向指定任务移除参与者