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.TpBuildingOwnerInfo;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * <p>
 * 楼栋业主资料信息表 服务类
 * </p>
 *
 * @author weiximei
 * @since 2018-12-18
 */
public interface IBuildingOwnerInfoService extends IService<TpBuildingOwnerInfo> {
    /**
     * 分页查询已认证通过的业主
     * @param paramets
     * @return
     */
    ResponseBean selectUserApprove(String paramets,Integer CommunityId);
    /**
     * 根据条件查询
     * @param parameter
     * @param userElement 用户登陆后的信息
     * @return
     */
    ResponseBean listQuery(String parameter, UserElement userElement);

    /**
     * 修改 楼栋业主信息
     * @param parameter
     * @param userElement
     * @return
     */
    ResponseBean update(String parameter, UserElement userElement);

    /**
     * 添加 楼栋业主信息
     * @param parameter
     * @param userElement
     * @return
     */
    ResponseBean add(String parameter, UserElement userElement);
    
    /**
     * 根据excel获取相关信息
     * @param file
     * @return
     */
    ResponseBean getExcelData(MultipartFile file);

    /**
     * 查询 楼栋/单元/楼层/号
     *
     *   楼栋是根据 小区ID查询
     *
     * @param communityId
     * @return
     */
    ResponseBean getPhaseList(Integer communityId);
    
    /**
     * 上传excel里面的内容
     * @param file
     * @param userElement
     * @return
     */
    ResponseBean submitExcelData(MultipartFile file, UserElement userElement);

    /**
     * 认证用户是否停用
     * @param paramets
     * @return
     */
    ResponseBean updataApprove(String paramets);

    /**
     * 根据Id删除
     * @param ids
     * @param propertyUserId
     * @return
     */
    ResponseBean deleteIds(List<Integer> ids, Integer propertyUserId);

    /**
     * 楼栋资料库列表
     * @param paramets
     * @param userElement
     * @return
     */
    ResponseBean buildinglist(String paramets, UserElement userElement);

    /**
     * 小区楼栋资料表-查询 楼栋/单元/楼层/户号
     * @param parameter
     * @param communityId
     * @return
     */
    ResponseBean puildinghouse(String parameter, Integer communityId);

    /**
     *
     * @param parameter
     * @param communityId
     * @return
     */
    ResponseBean communitybuildingUpdate(String parameter, Integer communityId);

    /**
     * 下载Excel模板(小区楼栋信息)
     * @param userElement
     * @return
     */
    ResponseBean downloadExcel(UserElement userElement);
    
    /**
     * 获取楼栋信息
     * @param phaseId
     * @param communityId
     * @return
     */
    ResponseBean getBuildingList(Integer phaseId, Integer communityId);
    
    /**
     * 获取单元信息
     * @param buildingId
     * @param communityId
     * @return
     */
    ResponseBean getUnitList(Integer buildingId, Integer communityId);
    
    /**
     * 获取楼层信息
     * @param unitId
     * @param communityId
     * @return
     */
    ResponseBean getLevelList(Integer unitId, Integer communityId);
    
    /**
     * 获取室号信息
     * @param levelId
     * @param communityId
     * @return
     */
    ResponseBean getRoomNoList(Integer levelId, Integer communityId);

    /**
     * 查看住户详情
     * @param paramets
     * @param userElement
     * @return
     */
    ResponseBean buildingDetails(String paramets, UserElement userElement);
}
