package com.ym.mec.biz.service;

import java.math.BigDecimal;

import com.ym.mec.biz.dal.dto.CashAccountDetail;
import com.ym.mec.biz.dal.dto.WithdrawInfoDto;
import com.ym.mec.biz.dal.entity.StudentWithdraw;
import com.ym.mec.biz.dal.enums.DealStatusEnum;
import com.ym.mec.biz.dal.enums.TransTypeEnum;
import com.ym.mec.common.page.PageInfo;
import com.ym.mec.common.service.BaseService;

public interface StudentWithdrawService extends BaseService<Integer, StudentWithdraw> {

	/**
	 * 确认提现
	 * @param id 提现申请编号
	 * @param status 交易状态
	 * @param memo 备注
	 * @param transNo 交易流水号
	 * @param transType 交易渠道
	 * @param platformAccountNo 平台账户号
	 * @return
	 */
	boolean confirmWithdraw(Integer id, DealStatusEnum status, String memo, String transNo, TransTypeEnum transType, String platformAccountNo);

	/**
	 * 根据学员id查询提现记录
	 * @param cashAccountDetail
	 * @return
	 */
	PageInfo<WithdrawInfoDto> queryWithdrawPage(CashAccountDetail cashAccountDetail);

	/**
	 *  新增提现记录
	 * @param bankCardNo
	 * @param amount
	 */
	void apply(String bankCardNo, BigDecimal amount) throws Exception;
}
