package cn.superdesk.uniorder.service.order.base;

import cn.superdesk.uniorder.common.rest.response.R;
import cn.superdesk.uniorder.common.security.dto.LoginSysUser;
import cn.superdesk.uniorder.dao.entity.base.UnifiedOrder;
import cn.superdesk.uniorder.dto.param.accounting.score.customer.*;
import cn.superdesk.uniorder.dto.vo.invoice.customer.InvoiceApplyDetailDimCreditItemVo;
import cn.superdesk.uniorder.dto.vo.score.ScoreOrderReconciliationNotYetHeadVo;
import cn.superdesk.uniorder.service.base.BaseService;

import java.util.List;

/**
 * @Description: Java类作用描述
 * @Author: linjinyu
 * @CreateDate: 6/12/20 3:14 PM
 * @UpdateUser: linjinyu
 * @UpdateDate: 6/12/20 3:14 PM
 * @UpdateRemark: 修改内容
 * @Version: 1.0
 */
public interface ScoreOrderService extends BaseService<UnifiedOrder> {

	ScoreOrderReconciliationNotYetHeadVo getScoreOrderReconciliationNotYetHeadSum(
			AccountingOrderScoreCustomerNotYetDimCreditQueryCriteria queryCriteria,
			LoginSysUser loginSysUser);

	R<List<InvoiceApplyDetailDimCreditItemVo>> getScoreOrderReconciliationNotYetByPageQuery(
			AccountingOrderScoreCustomerNotYetDimCreditQueryCriteria queryCriteria,
			LoginSysUser loginSysUser);

	/**
	 * 重点关注 积分结算2.1 后封闭 按场景开放
	 *
	 * @param queryCriteria
	 * @param loginSysUser
	 * @return
	 */
//	List<InvoiceApplyDetailDimCreditItemVo> getScoreOrderReconciliationNotYet(AccountingScoreCustomerNotYetDimCreditQueryCriteria queryCriteria, LoginSysUser loginSysUser);

	List<InvoiceApplyDetailDimCreditItemVo> getScoreOrderReconciliationNotYetScene1(
			AccountingOrderScoreCustomerNotYetDimCreditScene1QueryCriteria queryCriteria,
			LoginSysUser loginSysUser);

	List<InvoiceApplyDetailDimCreditItemVo> getScoreOrderReconciliationNotYetScene2(
			AccountingOrderScoreCustomerNotYetDimCreditScene2QueryCriteria queryCriteria,
			LoginSysUser loginSysUser);

	List<InvoiceApplyDetailDimCreditItemVo> getScoreOrderReconciliationNotYetScene3(
			AccountingOrderScoreCustomerNotYetDimCreditScene3QueryCriteria queryCriteria,
			LoginSysUser loginSysUser);

	R<List<InvoiceApplyDetailDimCreditItemVo>> getScoreOrderReconciliationNotYetScene4(
			AccountingOrderScoreCustomerNotYetDimCreditScene4QueryCriteria queryCriteria,
			LoginSysUser loginSysUser);


}

