package com.goafanti.copyright.service;

import java.util.List;

import com.goafanti.common.enums.CopyrightStatus;
import com.goafanti.common.model.Contract;
import com.goafanti.common.model.CopyrightInfo;
import com.goafanti.common.model.CopyrightLog;
import com.goafanti.copyright.bo.CopyrightContractListBo;
import com.goafanti.copyright.bo.CopyrightInfoDetail;
import com.goafanti.copyright.bo.CopyrightInfoSummary;
import com.goafanti.copyright.bo.CopyrightLogBo;
import com.goafanti.core.mybatis.page.Pagination;

public interface CopyrightInfoService {

	CopyrightInfo insert(CopyrightInfo copyrightInfo, String aid);

	void updateByPrimaryKeySelective(CopyrightInfo copyrightInfo, CopyrightLog copyrightLog);
	
	void updateByPrimaryKey(CopyrightInfo copyrightInfo);

	CopyrightInfo selectByPrimaryKey(String id);
	
	CopyrightInfoDetail findByPrimaryKey(String id);

	int batchDeleteByPrimaryKey(List<String> id);

	Pagination<CopyrightInfo> listCopyrightInfo(String contractId, Integer province, String unitName, String copyrightName,
			CopyrightStatus status, String[] createTime, String[] acceptTime, String[] authTime, Integer pageNo,
			Integer pageSize);
	
	Pagination<CopyrightInfoSummary> listMyCopyrightInfo(String contractId, Integer province, String unitName, String copyrightName,
			CopyrightStatus status, String[] createTime, String[] acceptTime, String[] authTime, Integer pageNo,
			Integer pageSize, String uid);

	List<CopyrightLogBo> findLogsByPrimaryKey(String id);

	int batchCirculation(String[] ids, String recordTimeFormattedDate, CopyrightLog cl);

	CopyrightInfo saveCopyright(CopyrightInfo ci, String salesman);

	List<CopyrightContractListBo> listContractCopyrightByContractId(String contractId);

	void batchInsertContractRecord(Contract c);

}
