package com.microservices.zone.partners.service;

import com.microservices.common.core.web.page.GenericsTableDataInfo;
import com.microservices.zone.partners.domain.ZonePartners;
import com.microservices.zone.partners.domain.vo.ZonePartnersOverviewVo;
import com.microservices.zone.partners.domain.vo.ZonePartnersUpdateVo;

import java.util.List;

/**
 * 特色专区合作伙伴Service接口
 * 
 * @author otto
 * @date 2023-06-07
 */
public interface IZonePartnersService 
{
    /**
     * 查询特色专区合作伙伴
     * 
     * @param id 特色专区合作伙伴主键
     * @return 特色专区合作伙伴
     */
    public ZonePartners selectZonePartnersById(Long id);

    /**
     * 查询特色专区合作伙伴列表
     * 
     * @param zonePartners 特色专区合作伙伴
     * @return 特色专区合作伙伴集合
     */
    public GenericsTableDataInfo<ZonePartners> selectZonePartnersList(ZonePartners zonePartners);

    /**
     * 新增特色专区合作伙伴
     * 
     * @param zonePartners 特色专区合作伙伴
     * @return 结果
     */
    public int insertZonePartners(ZonePartners zonePartners);

    /**
     * 修改特色专区合作伙伴
     *
     * @param zonePartnersUpdateVo 特色专区合作伙伴
     * @return 结果
     */
    public int updateZonePartners(ZonePartnersUpdateVo zonePartnersUpdateVo);

    /**
     * 批量删除特色专区合作伙伴
     * 
     * @param ids 需要删除的特色专区合作伙伴主键集合
     * @return 结果
     */
    public int deleteZonePartnersByIds(Long[] ids);

    /**
     * 删除特色专区合作伙伴信息
     *
     * @param id 特色专区合作伙伴主键
     * @return 结果
     */
    public int deleteZonePartnersById(Long id);

    /**
     * 查询合作伙伴总数
     *
     * @param toZonePartners
     * @return
     */
    Integer selectZonePartnersCount(ZonePartners toZonePartners);

    /**
     * 查询合作伙伴总览列表
     *
     * @param zoneId
     * @return
     */
    List<ZonePartnersOverviewVo> selectZonePartnersOverviewList(Long zoneId);
}
