package com.yh.saas.plugin.yiliangyiyun.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.yh.saas.plugin.yiliangyiyun.entity.SettledCompanyError;
import com.yh.saas.plugin.yiliangyiyun.entity.SettledCompanyInfo;
import com.baomidou.mybatisplus.service.IService;
import com.yh.saas.plugin.yiliangyiyun.exception.ServiceException;

import java.util.List;

/**
 * <p>
 * 入驻公司信息 服务类
 * </p>
 *
 * @author Gongdc
 * @since 2021-08-28
 */
public interface ISettledCompanyInfoService extends IService<SettledCompanyInfo> {

    /**
     * 添加入住公司信息
     *
     * @param settledCompanyInfo
     * @return
     */
    String addSettledCompanyInfo(SettledCompanyInfo settledCompanyInfo) throws ServiceException;

    /**
     * 编辑入住公司信息
     *
     * @param settledCompanyInfo
     * @return
     */
    String editSettledCompanyInfo(SettledCompanyInfo settledCompanyInfo) throws ServiceException;


    /**
     * 入驻公司列表
     *
     * @param settledCompanyInfo
     * @return
     */
    Page<SettledCompanyInfo> selectSettledCompanyInfo(SettledCompanyInfo settledCompanyInfo);

    /**
     * 查看详情
     *
     * @param id
     * @return
     */
    SettledCompanyInfo getSettledCompanyInfo(String id);

    /**
     * 删除
     *
     * @param id
     * @return
     */
    void deleteSettledCompanyInfo(String id);


    /**
     * 审核
     *
     * @param settledCompanyInfo
     * @return
     */
    String examine(SettledCompanyInfo settledCompanyInfo);

    /**
     * 显示隐藏
     *
     * @param id
     * @return
     */
    void showHidden(String id);

    /**
     * 收藏
     *
     * @param settledCompanyInfo
     * @return
     */
    String collection(SettledCompanyInfo settledCompanyInfo);

    /**
     * 取消收藏
     *
     * @param settledCompanyInfo
     * @return
     */
    String collectionNot(SettledCompanyInfo settledCompanyInfo);

    /**
     * 我的收藏
     *
     * @param settledCompanyInfo
     * @return
     */
    Page<SettledCompanyInfo> myCollection(SettledCompanyInfo settledCompanyInfo);

    /**
     * 纠错举报
     *
     * @param settledCompanyError
     * @return
     */
    String addSettledCompanyError(SettledCompanyError settledCompanyError) throws ServiceException;

    /**
     * 我的入驻公司
     *
     * @param settledCompanyInfo
     * @return
     */
    List<SettledCompanyInfo> companyList(SettledCompanyInfo settledCompanyInfo);

}
