package cn.com.ty.lift.system.settings.service;

import cn.com.ty.lift.system.settings.dao.entity.MaintenanceCompany;
import cn.com.ty.lift.system.settings.dao.entity.model.MaintenanceCompanyRequest;
import cn.com.xwy.boot.web.dto.RestResponse;
import com.baomidou.mybatisplus.extension.service.IService;

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

/**
 * <p>
 * 维保公司 服务类
 * </p>
 *
 * @author huangy
 * @since 2019-12-09
 */
public interface IMaintenanceCompanyService extends IService<MaintenanceCompany> {

    /**
     * @param
     * @return
     * @description 分页获取团队信息
     * @date 2019-12-11 10:26
     */
    RestResponse list(MaintenanceCompanyRequest maintenanceCompanyRequest);

    /**
     * @param maintenanceCompanyRequest 申请团队信息
     * @return
     * @description 申请团队
     * @date 2019-12-11 14:05
     */
    RestResponse createTeam(MaintenanceCompanyRequest maintenanceCompanyRequest);

    /***
     * @description 更新团队信息
     * @date 2019-12-13 11:20
     * @param
     * @return
     */
    RestResponse updateMaintenanceCompany(MaintenanceCompanyRequest maintenanceCompanyRequest);

    /**
     * @param maintenanceCompanyRequest
     * @return
     * @description 获取用户团队信息
     * @date 2019-12-23 13:03
     */
    RestResponse ownList(MaintenanceCompanyRequest maintenanceCompanyRequest);

    /**
     * @param maintenanceCompanyList 团队列表
     * @return
     * @description 设置团队人数
     * @date 2020-01-03 11:42
     */
    void setCompanyUserNum(List<MaintenanceCompany> maintenanceCompanyList);

    /**
     * @param
     * @return
     * @description 认证企业统计
     * @date 2020/2/14 2:46 下午
     */
    RestResponse getConfirmCompanyList(MaintenanceCompanyRequest maintenanceCompanyRequest);

    /**
     * @param
     * @return
     * @description 获取省份编码对应的公司数据
     * @date 2020/2/17 11:24 上午
     */
    Map<String, List<MaintenanceCompany>> getProvinceCodeToMaintenanceCompany();

    /**
     * @param
     * @return
     * @description 获取团队详情
     * @date 2020/5/3 11:50 上午
     */
    RestResponse teamInfo(MaintenanceCompanyRequest maintenanceCompanyRequest);
}
