package com.usky.vpp.service;

import com.usky.common.core.bean.CommonPage;
import com.usky.vpp.domain.VppSite;
import com.usky.vpp.domain.VppSiteConfig;
import com.usky.vpp.service.vo.SiteConfigDetailVO;
import com.usky.vpp.service.vo.SiteConfigRequest;
import com.usky.vpp.service.vo.SiteListVO;
import com.usky.vpp.service.vo.SiteRequest;

import java.util.Map;

/**
 * 站点管理业务接口
 */
public interface VppSiteService {

    CommonPage<VppSite> pageSite(Map<String, Object> params);

    /**
     * 站点列表（含资源类型、资源数量，支持按区域/资源类型筛选）
     */
    CommonPage<SiteListVO> pageSiteList(Map<String, Object> params);

    VppSite getSite(Long id);

    VppSite createSite(SiteRequest request);

    void updateSite(Long id, SiteRequest request);

    void deleteSite(Long id);

    VppSiteConfig getSiteConfig(Long siteId);

    /**
     * 站点参数配置详情（含响应优先级）
     */
    SiteConfigDetailVO getSiteConfigDetail(Long siteId);

    VppSiteConfig saveSiteConfig(Long siteId, SiteConfigRequest request);

    /**
     * 保存站点参数配置并返回详情
     */
    SiteConfigDetailVO saveSiteConfigDetail(Long siteId, SiteConfigRequest request);
}
