DictDataServiceImpl.java
4.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
package com.lhcredit.project.system.dict.service;
import java.util.List;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import com.lhcredit.common.utils.security.ShiroUtils;
import com.lhcredit.common.utils.text.Convert;
import com.lhcredit.project.system.dict.domain.DictData;
import com.lhcredit.project.system.dict.mapper.DictDataMapper;
/**
* 字典 业务层处理
*/
@Service
public class DictDataServiceImpl implements IDictDataService {
@Autowired
private DictDataMapper dictDataMapper;
private static final String DEMO_CACHE_NAME = "dict";
/**
* 根据条件分页查询字典数据
*
* @param dictData 字典数据信息
* @return 字典数据集合信息
*/
@Override
public List<DictData> selectDictDataList(DictData dictData) {
return dictDataMapper.selectDictDataList(dictData);
}
/**
* 获取系统部门转为字典信息
*
* @return
*/
@Override
public List<DictData> getSysDictData() {
return dictDataMapper.getSysDictData();
}
/**
* 根据字典类型查询字典数据
*
* @param dictType 字典类型
* @return 字典数据集合信息
*/
@Override
@Cacheable(value =DEMO_CACHE_NAME,key="'dict_type_'+#dictType" )
public List<DictData> selectDictDataByType(String dictType) {
return dictDataMapper.selectDictDataByType(dictType);
}
/**
* 根据字典类型和字典键值查询字典数据信息
*
* @param dictType 字典类型
* @param dictValue 字典键值
* @return 字典标签
*/
@Override
@Cacheable(value =DEMO_CACHE_NAME,key="'dict_key_value_'+#dictType+'_'+#dictValue" )
public String selectDictLabel(String dictType, String dictValue) {
// System.err.println(">>>>>>>>>>");
return dictDataMapper.selectDictLabel(dictType, dictValue);
}
@Override
@Cacheable(value =DEMO_CACHE_NAME,key="'dict_value_key_'+#dictType+'_'+#dictLabel" )
public String selectDictValue(String dictType, String dictLabel) {
// System.err.println("未走缓存");
return dictDataMapper.selectDictValue(dictType, dictLabel);
}
/**
* 根据字典数据ID查询信息
*
* @param dictCode 字典数据ID
* @return 字典数据
*/
@Override
public DictData selectDictDataById(Long dictCode) {
return dictDataMapper.selectDictDataById(dictCode);
}
/**
* 通过字典ID删除字典数据信息
*
* @param dictCode 字典数据ID
* @return 结果
*/
@Override
public int deleteDictDataById(Long dictCode) {
return dictDataMapper.deleteDictDataById(dictCode);
}
/**
* 批量删除字典数据
*
* @param ids 需要删除的数据
* @return 结果
*/
@Override
@CacheEvict(value = DEMO_CACHE_NAME ,allEntries=true)
public int deleteDictDataByIds(String ids) {
return dictDataMapper.deleteDictDataByIds(Convert.toStrArray(ids));
}
/**
* 新增保存字典数据信息
*
* @param dictData 字典数据信息
* @return 结果
*/
@Override
public int insertDictData(DictData dictData) {
dictData.setCreateBy(ShiroUtils.getLoginName());
return dictDataMapper.insertDictData(dictData);
}
/**
* 修改保存字典数据信息
*
* @param dictData 字典数据信息
* @return 结果
*/
@Override
@CacheEvict(value = DEMO_CACHE_NAME ,allEntries=true)
public int updateDictData(DictData dictData) {
dictData.setUpdateBy(ShiroUtils.getLoginName());
return dictDataMapper.updateDictData(dictData);
}
/**
* 根据 类型和值 查村字典数据
*
* @param dictType
* @param dictValueArr
* @return
*/
@Override
public List<DictData> selectDictDataByTypeAndVal(String dictType, String[] dictValueArr) {
return dictDataMapper.selectDictDataByTypeAndVal(dictType,dictValueArr);
}
/**
* 根据 字典value获取lable
* @param ditType
* @param dictValue
* @return
*/
@Override
@Cacheable(value = DEMO_CACHE_NAME, key = "'dict_lable_'+#dictType+'_'+#dictValue")
public String selectDictLable(String ditType ,String dictValue){
// System.out.println("111111111");
List<DictData> sysDictData = selectDictDataByType(ditType);
//
if (CollectionUtils.isNotEmpty(sysDictData)){
for (DictData dictData : sysDictData) {
if (dictData.getDictValue().equals(dictValue))
return dictData.getDictLabel();
}
}
return null;
}
}