package com.ylx.servicecategory.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ylx.servicecategory.domain.ServiceCategory;
import com.ylx.servicecategory.domain.vo.ClientServiceCategoryVO;

import java.util.List;

/**
 * 服务类目服务接口
 */
public interface ServiceCategoryService extends IService<ServiceCategory> {

    /**
     * H5查询首页服务类目
     *
     * @return H5首页服务类目列表
     */
    List<ServiceCategory> listH5ServiceCategory();

    /**
     * 根据主键ID查询服务类目详情
     *
     * @param id 服务类目ID
     * @return 服务类目详情
     */
    ServiceCategory getServiceCategoryDetail(Long id);

    /**
     * 分页查询服务类目
     *
     * @param page            分页参数
     * @param serviceCategory 查询条件
     * @return 服务类目分页数据
     */
    Page<ServiceCategory> pageServiceCategory(Page<ServiceCategory> page, ServiceCategory serviceCategory);

    /**
     * 新增服务类目
     *
     * @param serviceCategory 服务类目
     * @return 新增后的服务类目ID
     */
    Integer addServiceCategory(ServiceCategory serviceCategory);

    /**
     * 修改服务类目
     *
     * @param serviceCategory 服务类目
     * @return 是否修改成功
     */
    Boolean updateServiceCategory(ServiceCategory serviceCategory);

    /**
     * 删除服务类目
     *
     * @param id 服务类目ID
     * @return 是否删除成功
     */
    Boolean deleteServiceCategory(Long id);

    Page<ClientServiceCategoryVO> page(Page<ServiceCategory> page);

    List<ClientServiceCategoryVO> listServiceCategory();
}
