package com.chinaweal.aiccs.aiccs.dict.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.chinaweal.aiccs.aiccs.abnormal.entity.vo.DissentListVo;
import com.chinaweal.aiccs.aiccs.dict.entity.CascadeTreeNode;
import com.chinaweal.aiccs.aiccs.dict.entity.CmsDictCode;
import com.chinaweal.aiccs.common.util.StringUtils;
import com.chinaweal.youfool.framework.springboot.mybatis.plus.BaseService;

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

/**
 * <p>
 * 字典代码 服务类
 * </p>
 *
 * @author Lee
 * @since 2021-11-17
 */
public interface CmsDictCodeService extends BaseService<CmsDictCode> {

    /**
     * 获取违法行为字典列表分页
     * @param page 分页参数
     * @param customParamMap 查询条件
     * @return 分页结果
     */
    IPage<CmsDictCode> getCodeListPage(Page<CmsDictCode> page, Map<String, Object> customParamMap);

    /**
     * 根据类型和层级获取列表
     * @param level
     * @param type
     * @return
     */
    List<CascadeTreeNode> getList(int level, String type);

    /**
     * 获取子列表
     * @param parentid
     * @return
     */
    List<CascadeTreeNode> getChildList(String parentid);

    /**
     * 根据类型和编码获取列表
     * @param code
     * @param type
     * @return
     */
    CmsDictCode getList(String type, String code);

    /**
     * 获取类型下所有常量的Map
     * @param type  类型
     * @return  常量Map
     */
    Map<String, CmsDictCode> getAllCodeMap(String type);

}
