package com.yuchen.saas.park.service.service.property;


import com.baomidou.mybatisplus.extension.service.IService;
import com.yuchen.saas.park.api.dto.property.PropertyFeeItemAddDto;
import com.yuchen.saas.park.api.dto.property.PropertyFeeItemQueryDto;
import com.yuchen.saas.park.api.dto.property.PropertyFeeItemUpdateStatusDto;
import com.yuchen.saas.park.api.entity.property.PropertyFeeItem;
import com.yuchen.saas.park.api.vo.property.PropertyFeeItemPageVo;
import com.yuchen.saas.park.api.vo.property.PropertyPrepaymentFeeItemInfoVo;
import org.nest.springwrap.core.mp.support.NestPage;

import java.util.List;

/**
 * <p>
 * 费用项目 服务类
 * </p>
 *
 * @author cxj
 * @since 2023-12-12
 */
public interface IPropertyFeeItemService extends IService<PropertyFeeItem> {

   Boolean saveOrUpdate(PropertyFeeItemAddDto dto);

   NestPage<PropertyFeeItemPageVo>  getPage(PropertyFeeItemQueryDto dto);

   Boolean del(Long id);

   Boolean updateStatus(PropertyFeeItemUpdateStatusDto param);

   PropertyFeeItemPageVo getDetailById(Long id);

   /**
    * 获取费用项目指定的收费标准
    * @param feeItemId
    * @return
    */
   List<Long> getFeeItemBindFeeIdList(Long feeItemId);

   /**
    * 查询预存款费用项目信息
    * @param feeItemIdList
    * @return
    */
   List<PropertyPrepaymentFeeItemInfoVo> listPrepaymentFeeItemInfo(List<Long> feeItemIdList);

}
