package com.huatek.busi.service;

import com.github.pagehelper.PageInfo;
import com.huatek.busi.dto.BusiSiteDto;
import com.huatek.busi.dto.SiteUploadCycleDto;
import com.huatek.busi.entity.BusiSite;
import com.huatek.busi.vo.BusiSiteVo;
import com.huatek.busi.vo.SiteUploadCycleVo;

import java.util.List;

/**
 * 站点表 Service
 *
 * @author anker_cheng
 * @date Jun 18, 2019 6:03:40 PM
 */
public interface BusiSiteService {

    /**
     * 分页查找查找 站点表
     *
     * @param busiSiteDto 站点表Dto
     * @return PageInfo<BusiSiteVo> 站点表List
     */
    PageInfo<BusiSiteVo> findBusiSitePage(BusiSiteDto busiSiteDto);


    /**
     * 添加 站点表
     *
     * @param token token
     * @param busiSiteDto 站点表Dto
     * @return int 影响的行数
     */
    int addBusiSite(String token,BusiSiteDto busiSiteDto);

    /**
     *  通过id查找 站点表
     *
     * @param id 主键
     * @return BusiSite 站点表
     */
    BusiSite findBusiSite(String id);

    /**
     * 修改 站点表
     *
     * @param token token
     * @param busiSiteDto 站点表Dto
     * @return int 影响的行数
     */
    int updateBusiSite(String token, BusiSiteDto busiSiteDto);

    /**
     * 删除 站点表
     *
     * @param token token
     * @param busiSiteDto 站点表Dto
     * @return int 影响的行数
    */
    boolean deleteBusiSite(String token, BusiSiteDto busiSiteDto);
    
    /**
     **  获取站点监测装置上传数据时间设置
     *   @param siteId
     *   @return SiteUploadCycleVO
     */
    SiteUploadCycleVo getSiteUploadCycleInfo(String siteId);
    
    /**
     **  获取站点监测装置上传数据时间设置
     *   @param siteUploadCycleDTO
     *   @return int 影响的行数
     */
    int saveSiteUploadCycleInfo(String token, SiteUploadCycleDto siteUploadCycleDTO);
    
    /**
     *  获取所有站点信息（视频流需要引用）
     * @return
     */
    List<BusiSiteVo> queryAllSite();
    
    /**
     * 获取站点信息
     * @return
     */
    BusiSiteVo getSiteInfo();

    List<BusiSiteDto> findAll();

    BusiSiteDto findBySiteName(String siteName);

    List<BusiSiteVo> findSiteInfo();
}
