ISysDictService.java 2.7 KB
package com.skua.modules.system.service;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import com.skua.core.api.vo.DictModel;
import com.skua.modules.system.entity.SysDict;
import com.skua.modules.system.entity.SysDictItem;
import com.skua.modules.system.model.TreeSelectModel;

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

/**
 * <p>
 * 字典表 服务类
 * </p>
 *
 * @Author zhangweijian
 * @since 2018-12-28
 */
public interface ISysDictService extends IService<SysDict> {

    /**
     * 将对象进行字典查询
     *
     * @param <T>
     * @return
     */
    <T> JSONObject translateTDictValue(T t);

    List<DictModel> queryDictItemsByCode(String code);

    List<DictModel> queryTableDictItemsByCode(String table, String text, String code);

    List<DictModel> queryTableDictItemsByCodeAndFilter(String table, String text, String code, String filterSql);

    String queryDictTextByKey(String code, String key);

    String queryTableDictTextByKey(String table, String text, String code, String key);

    /**
     * 根据字典类型删除关联表中其对应的数据
     *
     * @param sysDict
     * @return
     */
    boolean deleteByDictId(SysDict sysDict);

    /**
     * 添加一对多
     */
    void saveMain(SysDict sysDict, List<SysDictItem> sysDictItemList);

    /**
     * 查询所有部门 作为字典信息 id -->value,departName -->text
     *
     * @return
     */
    List<DictModel> queryAllDepartBackDictModel();

    /**
     * 查询所有用户  作为字典信息 username -->value,realname -->text
     *
     * @return
     */
    List<DictModel> queryAllUserBackDictModel();

    /**
     * 通过关键字查询字典表
     *
     * @param table
     * @param text
     * @param code
     * @param keyword
     * @return
     */
    List<DictModel> queryTableDictItems(String table, String text, String code, String keyword);

    /**
     * 根据表名、显示字段名、存储字段名 查询树
     *
     * @param table
     * @param text
     * @param code
     * @param pidField
     * @param pid
     * @param hasChildField
     * @return
     */
    List<TreeSelectModel> queryTreeList(String table, String text, String code, String pidField, String pid, String hasChildField);

    /**
     * 将List对象进行字典查询
     *
     * @param list
     * @param <T>
     * @return
     */
    <T> List<JSONObject> translateListDictValue(List<T> list);


    Map<String, Map<String, String>> getDictMap(String code, String type);

    Map<String, Map<String, String>> getBusinessMap(String code, String table, String text, String type);

    String queryDictIdByCode(String code);

    Map<String, String> getDictMapByCode(String code);
}