package com.bonus.canteen.core.alloc.service;

import java.util.List;
import com.bonus.canteen.core.alloc.domain.AllocArea;
import com.bonus.canteen.core.common.domain.TreeSelect;

/**
 * 区域Service接口
 * 
 * @author xsheng
 * @date 2025-04-03
 */
public interface IAllocAreaService {

    public List<TreeSelect> selectAreaTreeList(AllocArea area);

    /**
     * 查询区域
     * 
     * @param areaId 区域主键
     * @return 区域
     */
    public AllocArea selectAllocAreaByAreaId(Long areaId);

    /**
     * 查询区域列表
     * 
     * @param allocArea 区域
     * @return 区域集合
     */
    public List<AllocArea> selectAllocAreaList(AllocArea allocArea);

    /**
     * 新增区域
     * 
     * @param allocArea 区域
     * @return 结果
     */
    public int insertAllocArea(AllocArea allocArea);

    /**
     * 修改区域
     * 
     * @param allocArea 区域
     * @return 结果
     */
    public int updateAllocArea(AllocArea allocArea);

    /**
     * 批量删除区域
     * 
     * @param areaIds 需要删除的区域主键集合
     * @return 结果
     */
    public int deleteAllocAreaByAreaIds(Long[] areaIds);

    /**
     * 删除区域信息
     * 
     * @param areaId 区域主键
     * @return 结果
     */
    public int deleteAllocAreaByAreaId(Long areaId);

    public List<TreeSelect> buildAreaTreeSelect(List<AllocArea> areas);

    public List<AllocArea> buildAreaTree(List<AllocArea> areas);
}
