package com.prolog.cs.biz.inbound.service.failure;

import com.prolog.cs.biz.inbound.dto.PageParam;
import com.prolog.cs.biz.inbound.dto.failure.ExceptionLinesDTO;
import com.prolog.cs.biz.inbound.dto.failure.ExceptionLogDTO;
import com.prolog.cs.biz.inbound.dto.failure.ExceptionLogQueryDTO;
import com.prolog.cs.biz.inbound.dto.failure.ExceptionLogQueryVO;
import com.prolog.framework.authority.core.dto.UserDTO;
import com.prolog.framework.core.pojo.Page;

import java.util.Date;
import java.util.List;

/**
 * @Description
 * @Date 2021-03-24
 */

public interface ExceptionLogService {

	/**
	 * @Description
	 * @Date 2021-03-24 add ExceptionLogDTO
	 */
	public Object add(ExceptionLogDTO exceptionLogDTO);

	/**
	 * @Description
	 * @Date 2021-03-24 edit ExceptionLogDTO
	 */
	public Object edit(String pkId, ExceptionLogDTO exceptionLogDTO);

	/**
	 * @Description
	 * @Date 2021-03-24 delete ExceptionLogDTO
	 */
	public Object deletePkId(String pkId);

	/**
	 * @Description
	 * @Date 2021-03-24 delete ExceptionLogDTO
	 */
	public Object delIds(List<String> pkIdList);

	/**
	 * @Description
	 * @Date 2021-03-24 page condition search ExceptionLogDTO
	 */
	public Page<ExceptionLogDTO> findList(ExceptionLogDTO exceptionLogDTO, PageParam pageParam);

	/**
	 * @Description
	 * @Date 2021-03-24 batchAdd ExceptionLogDTO
	 */
	public Object batchAdd(List<ExceptionLogDTO> exceptionLogDTOList);

	/**
	 * @Description
	 * @Date 2021-03-24 batchEdit ExceptionLogDTO
	 */
	public Object batchEdit(List<ExceptionLogDTO> exceptionLogDTOList);

	/**
	 * @Description
	 * @Date 2021-03-24 condition search all ExceptionLogDTO
	 */
	public List<ExceptionLogDTO> findAll(ExceptionLogDTO exceptionLogDTO);

	/**
	 * @Description
	 * @Date 2021-03-24 findOne ExceptionLogDTO
	 */
	public ExceptionLogDTO findByPkId(String pkId);

	public ExceptionLogQueryDTO infoByPkId(String pkId);

	public Page<ExceptionLogQueryDTO> findList(ExceptionLogQueryVO queryVO);

	/**
	 * 根据异常保存异常日志
	 * 
	 * @param exceptionLineDTOList
	 * @return
	 */
	public Object saveList(List<ExceptionLinesDTO> exceptionLineDTOList,UserDTO userDTO,Date now);
}
