package com.dxhy.domestic.service.drawback;

import java.util.List;

import com.dxhy.common.vo.UserInfo;
import com.dxhy.domestic.model.dto.AuthenticationCheckConditionDTO;
import com.dxhy.domestic.model.dto.AuthenticationConditionDTO;
import com.dxhy.domestic.model.dto.AuthenticationDTO;
import com.dxhy.domestic.model.dto.AuthenticationImportDTO;
import com.dxhy.domestic.model.vo.AuthenticationCheckListVO;
import com.dxhy.domestic.model.vo.AuthenticationResultVO;
import com.dxhy.domestic.model.vo.CommonListResponseVO;
import com.dxhy.domestic.model.vo.ImportAuthenticationListVO;
import com.dxhy.domestic.model.vo.ManualAuthenticationListVO;

/**
 * @author dxhy
 */
public interface DomesticInvoiceDrawbackService {

    /**
     * 待填
     * 
     * @param dto
     * @param userInfo
     * @return
     */
    CommonListResponseVO<ManualAuthenticationListVO> authenticationList(AuthenticationConditionDTO dto,
        UserInfo userInfo);

    /**
     * 待填
     * 
     * @param dto
     * @param userInfo
     * @param userName
     * @return
     */
    AuthenticationResultVO authentication(AuthenticationDTO dto, UserInfo userInfo, String userName);

    /**
     * 待填
     * 
     * @param dtoList
     * @param userInfo
     * @param menuId
     * @return
     */
    CommonListResponseVO<ImportAuthenticationListVO> importAuthenticationCheck(List<AuthenticationImportDTO> dtoList,
        UserInfo userInfo, String menuId);

    /**
     * 待填
     * 
     * @param dto
     * @param userInfo
     * @return
     */
    CommonListResponseVO<AuthenticationCheckListVO> authenticationCheck(AuthenticationCheckConditionDTO dto,
        UserInfo userInfo);
}
