package com.sooka.system.mapper;

import java.util.List;
import com.sooka.system.domain.TUInterfaceinfo;
import org.apache.ibatis.annotations.Param;

/**
 * 【请填写功能名称】Mapper接口
 *
 * @author lei
 * @date 2021-07-01
 */
public interface TUInterfaceinfoMapper
{
    /**
     * 查询【请填写功能名称】
     *
     * @param id 【请填写功能名称】ID
     * @return 【请填写功能名称】
     */
    public TUInterfaceinfo selectTUInterfaceinfoById(String id);

    /**
     * 查询【请填写功能名称】列表
     *
     * @param tUInterfaceinfo 【请填写功能名称】
     * @return 【请填写功能名称】集合
     */
    public List<TUInterfaceinfo> selectTUInterfaceinfoList(TUInterfaceinfo tUInterfaceinfo);

    /**
     * 根据接口IDS获取接口LIST
     * */
    public List<TUInterfaceinfo> selectTUInterfaceinfoListByIds(String[] ids);

    /**
     * 新增【请填写功能名称】
     *
     * @param tUInterfaceinfo 【请填写功能名称】
     * @return 结果
     */
    public int insertTUInterfaceinfo(TUInterfaceinfo tUInterfaceinfo);

    /**
     * 修改【请填写功能名称】
     *
     * @param tUInterfaceinfo 【请填写功能名称】
     * @return 结果
     */
    public int updateTUInterfaceinfo(TUInterfaceinfo tUInterfaceinfo);

    /**
     * 删除【请填写功能名称】
     *
     * @param id 【请填写功能名称】ID
     * @return 结果
     */
    public int deleteTUInterfaceinfoById(String id);

    /**
     * 批量删除【请填写功能名称】
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteTUInterfaceinfoByIds(String[] ids);

    public Integer getMaxCode();

    /**
     * 查询接口数量
     * @return 结果
     */
    public List<TUInterfaceinfo> getCount();

    /**
     * 查询接口占比
     * @param year
     * @return 结果
     */
    public List<TUInterfaceinfo> getPercent(@Param("year") String year);

    /**
     * 查询接口占比
     * @param year
     * @return 结果
     */
    public List<TUInterfaceinfo> getSubPercent(@Param("deptId") String deptId, @Param("year") String year);

    /**
     * 接口审批分析
     * @return 结果
     */
    public TUInterfaceinfo getSubJkspfx(@Param("deptId") String deptId, @Param("year") String year);

    /**
     * 查询省接口调用频次TOP5
     * @return 结果
     */
    public List<TUInterfaceinfo> getProvinceTop5Frequency();

    /**
     * 查询市接口调用频次TOP5
     * @return 结果
     */
    public List<TUInterfaceinfo> getCityTop5Frequency();

    /**
     * 查询省接口调用频次TOP20
     * @return 结果
     */
    public List<TUInterfaceinfo> getProvinceTop20Frequency();

    /**
     * 查询市接口调用频次TOP20
     * @return 结果
     */
    public List<TUInterfaceinfo> getCityTop20Frequency();

    /**
     * 查询归集接口排名
     * @return 结果
     */
    public List<TUInterfaceinfo> getImputationInterfaceRanking();

    /**
     * 查询归集数据排名
     * @return 结果
     */
    public List<TUInterfaceinfo> getImputationDataRanking();

    /**
     * 查询故障接口数量
     * @return 结果
     * */
    public Integer getFaultInterfaceCount();

    /**
     * 根据部门ID查询分类数量
     * @return 结果
     * */
    public TUInterfaceinfo getShareCountByDeptId(@Param("deptId") String deptId);
}
