package com.leanwo.activiti.service.base;

import java.util.List;
import java.util.Map;

import com.leanwo.activiti.dto.BaseResponse;

public interface DeploymentVariableService {

	/**
	 * 保存部署
	 * @param deploymentId 部署Id
	 * @param name 名称
	 * @param value 值
	 */
	void save(String deploymentId, String name, String value);

	/**
	 * 根据部署Id和变量名称查询变量值
	 * @param deploymentId
	 * @param name
	 * @return
	 */
	DeploymentVariable uniqueByDeploymentIdName(String deploymentId, String name);

	/**
	 * 增加额外的数据
	 * @param deploymentId 工作流部署Id
	 * @param deploymentExtraDatas 额外的数据
	 * @return
	 */
	BaseResponse addDeploymentVariables(String deploymentId, Map<String, String> deploymentExtraDatas);

	/**
	 * 查询流程部署变量
	 * @param deploymentId
	 * @param variableNames 变量名称
	 * @return
	 */
	Map<String, String> listDeploymentVariables(String deploymentId, List<String> variableNames);
	
}
