package com.iformall.mapper;

import com.iformall.common.CommonMapper;
import com.iformall.domain.po.WxBillProperty;
import com.iformall.domain.po.WxBillRent;
import com.iformall.domain.po.WxPropertyContract;
import com.iformall.domain.po.WxRentContract;

import java.util.List;
import java.util.Map;

/**
 * @author gongbiao
 */
public interface WxBillPropertyMapper extends CommonMapper<WxBillProperty, Long> {

	List<WxBillProperty> findList(WxBillProperty wxBillProperty);

    List<WxBillProperty> queryBillPropertyList(WxBillProperty record);

	Map<String,Object> queryPayInfo(Map<String,Object> params);

	Map<String,Object> queryPayInfoTotal(Map<String,Object> params);

	Map<String,Object> queryOweInfo(Map<String,Object> params);

	void updateNotPaidStatus(Map<String,Object> params);

	void updateWaitPayStatus(Map<String,Object> params);

	void updateInvalidStatus(WxBillProperty wxBillProperty);

	void updateInvalidStatusByRent(WxRentContract wxRentContract);

	void deletePreviewBill(WxPropertyContract wxPropertyContract);

	void updateForReceivePay(WxBillProperty record);

	void updatePreviewStatus(WxBillProperty record);

	Long oweBillCount(Long contractId);

    void updateBills(List<WxBillProperty> resultList);

    void insertBills(List<WxBillProperty> resultList);

    WxBillProperty selectBillOne(WxBillProperty propertyQuery);

	/**
	 * 累加每一天的滞纳金
	 */
	void autoAddLatePayPrice();

	/**
	 * 保存billAction
	 */
	void insertBillAction();
}
