package com.cool.store.service.dict;

import com.cool.store.request.dict.DictColumnQueryRequest;
import com.cool.store.vo.dict.DictColumnSimpleVO;
import com.cool.store.vo.dict.DictColumnVO;
import com.github.pagehelper.PageInfo;

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

/**
 * <p>
 * 字典项
 * </p>
 *
 * @author wangff
 * @since 2025/2/20
 */
public interface DictColumnService {

    /**
     * 根据id查询
     * @param id id
     * @return 字典项VO
     */
    DictColumnVO getById(Long id);

    /**
     * 分页查询
     * @param dto 字典项查询DTO
     * @return 字典项VO分页对象
     */
    PageInfo<DictColumnVO> getPage(DictColumnQueryRequest dto);

    /**
     * 根据编码查询已启用的字典项
     * @param columnCode 字典项编码
     * @return 字典项简单信息VO
     */
    DictColumnSimpleVO getColumnByColumnCode(String columnCode);

    /**
     * 根据表编码查询字典项
     * @param tableCodes 字典表编码列表
     * @return 字典项简单信息映射
     */
    Map<String, List<DictColumnSimpleVO>> getMapListByTableCode(List<String> tableCodes);
}
