houzhongjian
2024-10-16 7da8f196dee8e3c526c009a4bc7f5983ece6bb97
提交 | 用户 | 时间
e7c126 1 package com.iailab.module.system.service.dict;
H 2
3 import com.iailab.framework.common.pojo.PageResult;
4 import com.iailab.module.system.controller.admin.dict.vo.data.DictDataPageReqVO;
5 import com.iailab.module.system.controller.admin.dict.vo.data.DictDataSaveReqVO;
6 import com.iailab.module.system.dal.dataobject.dict.DictDataDO;
7 import org.springframework.lang.Nullable;
8
9 import java.util.Collection;
10 import java.util.List;
11
12 /**
13  * 字典数据 Service 接口
14  *
15  * @author ruoyi
16  */
17 public interface DictDataService {
18
19     /**
20      * 创建字典数据
21      *
22      * @param createReqVO 字典数据信息
23      * @return 字典数据编号
24      */
25     Long createDictData(DictDataSaveReqVO createReqVO);
26
27     /**
28      * 更新字典数据
29      *
30      * @param updateReqVO 字典数据信息
31      */
32     void updateDictData(DictDataSaveReqVO updateReqVO);
33
34     /**
35      * 删除字典数据
36      *
37      * @param id 字典数据编号
38      */
39     void deleteDictData(Long id);
40
41     /**
42      * 获得字典数据列表
43      *
44      * @param status   状态
45      * @param dictType 字典类型
46      * @return 字典数据全列表
47      */
48     List<DictDataDO> getDictDataList(@Nullable Integer status, @Nullable String dictType);
49
50     /**
51      * 获得字典数据分页列表
52      *
53      * @param pageReqVO 分页请求
54      * @return 字典数据分页列表
55      */
56     PageResult<DictDataDO> getDictDataPage(DictDataPageReqVO pageReqVO);
57
58     /**
59      * 获得字典数据详情
60      *
61      * @param id 字典数据编号
62      * @return 字典数据
63      */
64     DictDataDO getDictData(Long id);
65
66     /**
67      * 获得指定字典类型的数据数量
68      *
69      * @param dictType 字典类型
70      * @return 数据数量
71      */
72     long getDictDataCountByDictType(String dictType);
73
74     /**
75      * 校验字典数据们是否有效。如下情况,视为无效:
76      * 1. 字典数据不存在
77      * 2. 字典数据被禁用
78      *
79      * @param dictType 字典类型
80      * @param values   字典数据值的数组
81      */
82     void validateDictDataList(String dictType, Collection<String> values);
83
84     /**
85      * 获得指定的字典数据
86      *
87      * @param dictType 字典类型
88      * @param value    字典数据值
89      * @return 字典数据
90      */
91     DictDataDO getDictData(String dictType, String value);
92
93     /**
94      * 解析获得指定的字典数据,从缓存中
95      *
96      * @param dictType 字典类型
97      * @param label    字典数据标签
98      * @return 字典数据
99      */
100     DictDataDO parseDictData(String dictType, String label);
101
102     /**
103      * 获得指定数据类型的字典数据列表
104      *
105      * @param dictType 字典类型
106      * @return 字典数据列表
107      */
108     List<DictDataDO> getDictDataListByDictType(String dictType);
109
110 }