package com.community.huiju.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.community.commom.mode.ResponseBean;
import com.community.commom.session.UserElement;
import com.community.huiju.model.Bill;
import org.springframework.web.multipart.MultipartFile;

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

/**
 * <p>
 * 缴费项表 服务类
 * </p>
 *
 * @author weiximei
 * @since 2019-02-13
 */
public interface IBillService extends IService<Bill> {

    /**
     * 修改 缴费项的 收费项名称,缴费项说明,截止时间
     *
     * @param parameter
     * @param userElement
     * @return
     */
    ResponseBean updateBillNameAndBillExplainAndEndDate(UserElement userElement, String parameter);

    /**
     * 根据ID查询 缴费项
     * @param id
     * @return
     */
    ResponseBean getByBillId(Integer id);
	
	/**
	 * 获取收费项列表
	 * @param bill
	 * @param pageNum
	 * @param pageSize
	 * @return
	 */
	ResponseBean getBillList(Bill bill, Integer pageNum, Integer pageSize);

	/**
	 * 上传excel, 解析, 但不入库
	 * @param file
	 * @return
	 */
    ResponseBean getExcelData(MultipartFile file);

	/**
	 * 上传excel, 解析 入库
	 * @param billId
	 * @param file
	 * @param billExplain
	 * @param billName
	 * @param endDate
	 * @param billStatus
	 * @return
	 */
	ResponseBean getExcelData(Integer billId,MultipartFile file, String billExplain, String billName, Date endDate, String billStatus, UserElement userElement);

	/**
	 * 修改 缴费项状态
	 * @param billStatus
	 * @param id
	 * @return
	 */
	ResponseBean updateBillStatus(UserElement userElement, Integer billStatus, Integer id);

	/**
	 * 批量删除 缴费项
	 * @param userElement
	 * @param ids id 集合
	 * @return
	 */
    ResponseBean deleteBillBeach(UserElement userElement, List<Integer> ids);

	/**
	 * 下载 excel 模板
	 * @param userElement
	 * @return
	 */
	ResponseBean downloadExcel(UserElement userElement);
}
