package com.ozs.appshow.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.ozs.appshow.dto.RelSubjectChartDTO;
import com.ozs.appshow.dto.SubjectInfoDTO;
import com.ozs.appshow.dto.SubjectPageInfoDTO;

public interface SubjectManageMapper {

	List<SubjectInfoDTO> listSubjectByState(@Param("subjectName") String subjectName, @Param("state") Integer state);

	/**
	 * 保存专题F
	 * 
	 * @param subjectInfo
	 * @return
	 */
	Integer saveSubject(SubjectInfoDTO subjectInfo);

	/**
	 * 通过Id获取专题信息
	 * 
	 * @param subjectName
	 * @return
	 */
	SubjectInfoDTO getSubjectById(@Param("id") String id);

	/**
	 * 通过专题名获取专题信息
	 * 
	 * @param subjectName
	 * @return
	 */
	SubjectInfoDTO getSubjectByName(@Param("subjectName") String subjectName);

	/**
	 * 删除专题
	 * 
	 * @param id
	 * @return
	 */
	Integer removeSubject(@Param("id") String id);

	/**
	 * 删除专题图表关联信息
	 * 
	 * @param id
	 */
	Integer removeRelSubjectChart(@Param("subjectId") String subjectId);

	/**
	 * 修改专题
	 * 
	 * @param subjectInfo
	 */
	Integer updateSubject(SubjectInfoDTO subjectInfo);

	/**
	 * 保存专题图表关联关系
	 * 
	 * @param relChartList
	 * @return
	 */
	Integer saveRelSubjectChart(@Param("list") List<RelSubjectChartDTO> relChartList);

	/**
	 * 修改专题
	 * 
	 * @param subjectInfo
	 * @return
	 */
	Integer updateSubjectState(SubjectInfoDTO subjectInfo);

	/**
	 * 获取专题图表关联信息
	 * 
	 * @param id
	 * @return
	 */
	List<RelSubjectChartDTO> listRelSubjectChart(@Param("subjectId") String subjectId);

	/**
	 * 保存专题每页信息
	 * 
	 * @param subjectPages
	 * @return
	 */
	Integer saveSubjectPage(@Param("list") List<SubjectPageInfoDTO> subjectPages);

	/**
	 * 获取专题每页信息
	 * 
	 * @param subjectId
	 * @return
	 */
	List<SubjectPageInfoDTO> listSubjectPageInfo(@Param("subjectId") String subjectId);

}
