package com.chinaweal.aiccs.aiccs.market.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.chinaweal.aiccs.aiccs.dict.entity.CascadeTreeNode;
import com.chinaweal.aiccs.aiccs.market.entity.AreaSlice;
import com.chinaweal.youfool.framework.springboot.mybatis.plus.BaseService;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 片区设置记录 服务类
 * </p>
 *
 * @author <a href="https://blog.lroyia.top">lroyia</a>
 * @since 2021-04-20
 */
public interface AreaSliceService extends BaseService<AreaSlice> {

    /**
     * 根据机关获取片区列表
     * @param org
     * @return
     */
    List<CascadeTreeNode> getListByOrg(String org);

    /**
     * 通过父片区id获取片区树
     * @param pid
     * @return
     */
    List<CascadeTreeNode> selectByParentId(String pid);

    /**
     * 通过父片区id获取所有子片区id
     * @param pid
     * @return
     */
    List<String> getIdsByParentId(String pid);

    /**
     * 获取包含监督者信息的分页
     * @param page  分页参数
     * @param params    查询参数
     * @return  获取结果
     * @author lroyia
     * @since 2021年4月20日 15:49:43
     */
    IPage<AreaSlice> getPageWithOrg(IPage<AreaSlice> page, @Param("params") Map<String, Object> params);
}
