package com.sunxung.factoring.service.loanmanagement;

import com.baomidou.mybatisplus.extension.service.IService;
import com.sunxung.factoring.entity.financing.payment.PaymentApply;
import com.sunxung.factoring.entity.loanmanagement.ExemptionMatters;
import com.sunxung.factoring.entity.loanmanagement.ExemptionMattersApproval;
import com.sunxung.factoring.entity.project.vo.BusinessProcessingTaskVo;
import com.sunxung.factoring.entity.project.vo.SearchBusinessProcessingTask;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * <p>
 * 豁免事项跟进和付款关系表 服务类
 * </p>
 *
 * @author liutao
 * @since 2023-04-25
 */
public interface IExemptionMattersService extends IService<ExemptionMatters> {

    /**
     * 开启豁免流程
     * @param paymentApplyId
     */
   void startProcess(Long paymentApplyId);

    ExemptionMatters get(Long id);

    void add(PaymentApply paymentApply);

    void approval(ExemptionMattersApproval exemptionMattersApproval);

    List<BusinessProcessingTaskVo> findBySearch(SearchBusinessProcessingTask search);

    List<ExemptionMatters> getByPayBasicId(Long id);

    List<ExemptionMatters> getByCreditSubject(String socialCreditCode);

    ExemptionMatters getDetail(Long exemptionMattersId);

    void download(Long exemptionMattersId, HttpServletResponse response);

//    void sendEmailJob();
}
