package com.huiju.estateagents.property.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.huiju.estateagents.base.ResponseBean;
import com.huiju.estateagents.center.taUser.entity.TaUser;
import com.huiju.estateagents.property.common.UserElement;
import com.huiju.estateagents.property.model.Bill;
import org.springframework.web.multipart.MultipartFile;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
*
* 缴费项表 服务类
*
*
* @author weiximei
* @since 2019-02-13
*/
public interface IBillService extends IService {
/**
* 修改 缴费项的 收费项名称,缴费项说明,截止时间
*
* @param parameter
* @param userElement
* @return
*/
ResponseBean updateBillNameAndBillExplainAndEndDate(TaUser 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, TaUser userElement);
/**
* 上传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, TaUser userElement);
/**
* 修改 缴费项状态
* @param billStatus
* @param id
* @return
*/
ResponseBean updateBillStatus(TaUser userElement, Integer billStatus, Integer id);
/**
* 批量删除 缴费项
* @param userElement
* @param ids id 集合
* @return
*/
ResponseBean deleteBillBeach(TaUser userElement, List ids);
/**
* 下载 excel 模板
* @param userElement
* @return
*/
ResponseBean downloadExcel(TaUser userElement,String phaseId,String buildingId);
/**
* 根据payType分页获取缴费或未缴费的数据
*
* @param personId
* @param payType
* @param pageNum
* @param pageSize
* @return
*/
Map getBillsList(String personId, Integer payType, Integer pageNum, Integer pageSize);
/**
* 获取账单的详细信息
* @param billInvoiceId
* @return
*/
Map getBillInvoiceDetail(Integer orgId,Integer billInvoiceId);
/**
* 获取缴费历史
* @param userElement
* @return
*/
ResponseBean payHistory(TaUser userElement);
/**
* 订单详情
* @param orderNumber
* @return
*/
ResponseBean getOrderInfo(String orderNumber);
}