package com.ho.user.service;

import com.ho.common.tools.entity.PageVO;
import com.ho.user.entity.SysDict;
import com.ho.user.vo.req.*;
import com.ho.user.api.entity.SysSubDict;
import com.ho.user.vo.resp.DictRespVo;

import java.util.List;

/**
 * @author fancl
 * @desc:
 * @date 2022/8/18
 */
public interface DictService {
    SysDict addTypeDict(DictAddTypeVO vo);

    SysSubDict addSubDict(DictAddReqVO vo);

    SysDict updateDict(DictUpdateReqVO vo);

    SysSubDict updateSubDict(DictSubUpdateReqVO vo);

//    SysDict detailInfoById(Integer id);

//    void deletedById(Integer id);

    SysDict selectDictByType(DictAddTypeVO vo);

    PageVO<DictRespVo> all(DictPageReqVO vo);

    DictRespVo selectDict(DictTypeAndLabelReqVO vo);

//    void deletedByType(String type);

    List<DictRespVo> selectDictType(String lang);

    SysSubDict selectSubDictByValue(DictAddReqVO vo);

    List<SysSubDict> selectSubDictByType(String type,String lang);

    List<SysSubDict> selectSubDictByTypeList(List<String> typeList);

    SysSubDict selectSubDictByTV(String type, String value);

    void deletedSubById(Integer id);

    SysDict selectDictByTypeAndName(DictAddTypeVO dictAddTypeVo);

    List<SysDict> selectDictListByType(String type);

    List<SysSubDict> selectSubDictByKey(SysSubDict sysSubDict);

    SysSubDict selectSubDictBySort(String type, Long sort);


    //PageVO<SysUser> pageDeptUserInfo(UserPageUserByDeptReqVO vo);

}
