package com.xindazhou.vehicle.service.category;

import com.xindazhou.framework.common.pojo.PageResult;
import com.xindazhou.vehicle.controller.admin.vehicle.vo.VehicleCategoryPageReqVO;
import com.xindazhou.vehicle.controller.admin.vehicle.vo.VehicleCategoryRespVO;
import com.xindazhou.vehicle.controller.admin.vehicle.vo.VehicleCategorySaveReqVO;

import java.util.Collection;

/**
 * 分类管理 Service 接口
 *
 * @author xindazhou
 */
public interface VehicleCategoryService {

    /**
     * 获得分类管理分页
     *
     * @param pageReqVO 分页查询
     * @return 分类管理分页
     */
    PageResult<VehicleCategoryRespVO> getVehicleCategoryPage(VehicleCategoryPageReqVO pageReqVO);

    /**
     * 获得分类管理
     *
     * @param id 编号
     * @return 分类管理
     */
    VehicleCategoryRespVO getVehicleCategory(Long id);

    /**
     * 创建分类管理
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createVehicleCategory(VehicleCategorySaveReqVO createReqVO);

    /**
     * 更新分类管理
     *
     * @param updateReqVO 更新信息
     */
    void updateVehicleCategory(VehicleCategorySaveReqVO updateReqVO);

    /**
     * 删除分类管理
     *
     * @param id 编号
     */
    void deleteVehicleCategory(Long id);

    /**
     * 批量删除分类管理
     *
     * @param ids 编号列表
     */
    void batchDeleteVehicleCategory(Collection<Long> ids);

    /**
     * 批量显示/不显示分类管理
     *
     * @param ids 编号列表
     * @param isDisplay 是否显示
     */
    void batchDisplayVehicleCategory(Collection<Long> ids, Integer isDisplay);

}

