package com.ruoyi.bst.part.service;

import java.util.List;
import com.ruoyi.bst.part.domain.Part;
import com.ruoyi.bst.part.domain.PartVO;
import com.ruoyi.bst.part.domain.PartQuery;

/**
 * 分区Service接口
 *
 * @author ruoyi
 * @date 2025-04-18
 */
public interface PartService
{
    /**
     * 查询分区
     *
     * @param id 分区主键
     * @return 分区
     */
    public PartVO selectPartById(Long id, boolean scope);

    default PartVO selectPartById(Long id) {
        return this.selectPartById(id, false);
    }

    public PartVO selectOne(PartQuery query);

    /**
     * 查询分区列表
     *
     * @param partQuery 分区
     * @return 分区集合
     */
    public List<PartVO> selectPartList(PartQuery partQuery);

    /**
     * 新增分区
     *
     * @param part 分区
     * @return 结果
     */
    public int insertPart(Part part);

    /**
     * 修改分区
     *
     * @param part 分区
     * @return 结果
     */
    public int updatePart(Part part);

    /**
     * 批量删除分区
     *
     * @param partIds 需要删除的分区主键集合
     * @return 结果
     */
    public int deletePartByPartIds(List<Long> partIds);

    /**
     * 删除分区信息
     *
     * @param partId 分区主键
     * @return 结果
     */
    public int deletePartByPartId(Long partId);

}
