package com.dgtly.system.service;

import com.dgtly.common.core.domain.Ztree;
import com.dgtly.companyext.domain.CompanyExamine;
import com.dgtly.companyext.domain.CompanyReviewed;
import com.dgtly.system.domain.SysCompany;
import com.dgtly.system.domain.SysUser;

import java.util.List;

/**
 * 公司表Service接口
 * 
 * @author dgtly
 * @date 2020-01-08
 */
public interface ISysCompanyService 
{
    /**
     * 查询公司表
     * 
     * @param id 公司表ID
     * @return 公司表
     */
    public SysCompany selectSysCompanyById(Long id);

    /**
     * 查询公司表列表
     * 
     * @param sysCompany 公司表
     * @return 公司表集合
     */
    public List<SysCompany> selectSysCompanyList(SysCompany sysCompany);

    /**
     * 新增公司表
     * 
     * @param sysCompany 公司表
     * @return 结果
     */
    public int insertSysCompany(SysCompany sysCompany);

    /**
     * 修改公司表
     * 
     * @param sysCompany 公司表
     * @return 结果
     */
    public int updateSysCompany(SysCompany sysCompany);

    /**
     * 批量删除公司表
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteSysCompanyByIds(String ids);

    /**
     * 删除公司表信息
     * 
     * @param id 公司表ID
     * @return 结果
     */
    public int deleteSysCompanyById(Long id);

    /**
     * 创建公司同事创建用户
     * @param sysCompany
     * @param user
     * @return
     */
    public int addCompany(SysCompany sysCompany, SysUser user);

    /**
     * 公司列表转tree
     * @param sysCompany
     * @return
     */
    public List<Ztree> selectSysCompanyTree(SysCompany sysCompany);

    /**
     * 查询热门商家列表
     * @param
     * @return
     */
    public List<SysCompany> selectCompanyHotList();


    /**
     * 查询公司表排除根目录公司
     * @param:
     * @return:
     * @auther: qxp
     * @date: 2020-2-25
     */
    List<SysCompany> selectSysCompanyListExRoot(SysCompany sysCompany);

    /**
     * 审核入驻申请通过
     * @param:
     * @return:
     * @auther: qxp
     * @date: 2020-2-25
     */
    public int allowEnter(CompanyExamine companyExamine);

    /**
     * 审核修改申请通过
     * @param:
     * @return:
     * @auther: qxp
     * @date: 2020-2-25
     */
    public int allowEdit(CompanyExamine companyExamine);

    /**
     * @descption: 统计平台商户注册数量
     * @param:
     * @return:
     * @auther: LiuLingChao
     * @date: 2020-03-11 11:10
     */
    public int countCompany();
}
