package com.cloudcross.ssp.base.service;

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

/**
 * 通用service定义。
 * 
 * @author rongying
 * @desp 
 * @param <T>
 *            实体类型
 */
public interface IDspGenericService<T> {
	
	/**
	 * 向数据库中添加一个或多个实体对象<code>T</code>。
	 * 
	 * @param list
	 *            实体对象
	 * @return <code>true</code>代表成功，否则代表失败。
	 */
	boolean add(List<T> list);

	/**
	 * 编辑数据库中一个或多个实体对象<code>T</code>。
	 * 
	 * @param list
	 *            实体对象
	 * @return <code>true</code>代表成功，否则代表失败。
	 */
	boolean update(List<T> list);
	
	/**
	 * 根据条件查询数据库中所有符合的实体<code>T</code>对应记录并以列表返回。
	 * 
	 * @param map
	 *            查询条件（dspId 或 advertiserId）
	 * @return 返回查询到记录列表
	 */
	List<T> getAll(Map<String,Object> map);

	/**
	 * 根据条件查询对应的实体信息。
	 * 
	 * @param map
	 *            查询条件
	 * @return 返回查询到记录
	 */
	List<T> get(Map<String,Object> map);
	
}