|
@@ -1,8 +1,11 @@
|
|
|
package com.css.simulation.resource.system.service;
|
|
|
|
|
|
+import api.common.pojo.common.ResponseBodyVO;
|
|
|
+import api.common.pojo.constants.DictConstants;
|
|
|
import api.common.pojo.param.RedisParameter;
|
|
|
import api.common.pojo.param.system.DictParam;
|
|
|
import api.common.pojo.po.system.DictPO;
|
|
|
+import api.common.pojo.vo.system.DictVO;
|
|
|
import api.common.util.JsonUtil;
|
|
|
import com.css.simulation.resource.feign.RedisService;
|
|
|
import com.css.simulation.resource.system.mapper.DictMapper;
|
|
@@ -33,33 +36,78 @@ public class DictService {
|
|
|
dictTypeList = new ArrayList<String>();
|
|
|
}
|
|
|
//数据库取值
|
|
|
- List<DictPO> DictPOlist = dictMapper.getDicts(dictTypeList);
|
|
|
+ List<DictVO> DictVOlist = dictMapper.getDicts(dictTypeList);
|
|
|
//分组转换
|
|
|
- Map<String, List<DictPO>> DictPOMap = DictPOlist.stream().collect(Collectors.groupingBy(DictPO::getDictType));
|
|
|
- //放入缓存
|
|
|
- Set<String> keySet = DictPOMap.keySet();
|
|
|
+ Map<String, List<DictVO>> DictVOMap = DictVOlist.stream().collect(Collectors.groupingBy(DictVO::getDictType));
|
|
|
+ //解析重构
|
|
|
+ List<RedisParameter> dictLists = new ArrayList<>();
|
|
|
+ List<RedisParameter> dictMaps = new ArrayList<>();
|
|
|
+ Set<String> keySet = DictVOMap.keySet();
|
|
|
for (String key: keySet) {
|
|
|
- List<DictPO> dictPOS = DictPOMap.get(key);
|
|
|
+ List<DictVO> dictVOS = DictVOMap.get(key);
|
|
|
//list 字典
|
|
|
- String dictList = JsonUtil.listToJson(dictPOS);
|
|
|
- //放入缓存 TODO
|
|
|
- RedisParameter parameter = new RedisParameter();
|
|
|
- parameter.setKey(key);
|
|
|
- parameter.setValue(dictList);
|
|
|
- parameter.setMinutes(10);
|
|
|
- redisService.set(parameter);
|
|
|
+ String dictList = JsonUtil.listToJson(dictVOS);
|
|
|
+ //放入列表
|
|
|
+ RedisParameter listParameter = new RedisParameter();
|
|
|
+ listParameter.setKey(DictConstants.BASE_KEY + DictConstants.LIST_KEY + key.toUpperCase());
|
|
|
+ listParameter.setValue(dictList);
|
|
|
+ dictLists.add(listParameter);
|
|
|
//map 字典
|
|
|
Map<String, String> map = new HashMap();
|
|
|
- for (DictPO dictPO: dictPOS) {
|
|
|
- String code = dictPO.getDictCode();
|
|
|
- String name = dictPO.getDictName();
|
|
|
+ for (DictVO dictVO: dictVOS) {
|
|
|
+ String code = dictVO.getDictCode();
|
|
|
+ String name = dictVO.getDictName();
|
|
|
map.put(code,name);
|
|
|
}
|
|
|
String dictMap = JsonUtil.beanToJson(map);
|
|
|
- //放入缓存 TODO
|
|
|
-
|
|
|
+ //放入列表
|
|
|
+ RedisParameter mapParameter = new RedisParameter();
|
|
|
+ mapParameter.setKey(DictConstants.BASE_KEY + DictConstants.MAP_KEY + key.toUpperCase());
|
|
|
+ mapParameter.setValue(dictMap);
|
|
|
+ dictMaps.add(mapParameter);
|
|
|
}
|
|
|
+ //放入缓存
|
|
|
+ redisService.setList(dictLists);//前端下拉框使用
|
|
|
+ redisService.setList(dictMaps);//后端字典翻译使用
|
|
|
//返回刷新成功的字典名称
|
|
|
return keySet.toString();
|
|
|
}
|
|
|
+
|
|
|
+ public Map<String, List<DictVO>> getDictListsByTypes(DictParam param) throws JsonProcessingException {
|
|
|
+ //解析参数进行查询
|
|
|
+ String dictTypes = param.getDictTypes();
|
|
|
+ List<String> dictTypeList = Arrays.asList(dictTypes.split(","));
|
|
|
+ ResponseBodyVO<Map<String, String>> responseBodyVO = redisService.getDictLists(dictTypeList);
|
|
|
+ //查询结果转换至java对象
|
|
|
+ Map<String, String> map = responseBodyVO.getInfo();
|
|
|
+ Map<String, List<DictVO>> dictLists = new HashMap<>();
|
|
|
+ Set<String> keySet = map.keySet();
|
|
|
+ for (String key: keySet) {
|
|
|
+ String val = map.get(key);
|
|
|
+ //json转javaBean
|
|
|
+ List<DictVO> DictVOS = JsonUtil.jsonToList(val, DictVO.class);
|
|
|
+ dictLists.put(key,DictVOS);
|
|
|
+ }
|
|
|
+ return dictLists;
|
|
|
+ }
|
|
|
+
|
|
|
+ public Map<String, Map<String,String>> getDictMapsByTypes(DictParam param) throws JsonProcessingException {
|
|
|
+ //解析参数进行查询
|
|
|
+ String dictTypes = param.getDictTypes();
|
|
|
+ List<String> dictTypeList = Arrays.asList(dictTypes.split(","));
|
|
|
+ ResponseBodyVO<Map<String, String>> responseBodyVO = redisService.getDictMaps(dictTypeList);
|
|
|
+ //查询结果转换至map对象
|
|
|
+ Map<String, String> map = responseBodyVO.getInfo();
|
|
|
+ Map<String, Map<String,String>> dictMaps = new HashMap<>();
|
|
|
+ Set<String> keySet = map.keySet();
|
|
|
+ for (String key: keySet) {
|
|
|
+ String val = map.get(key);
|
|
|
+ //json转map
|
|
|
+ HashMap hashMap = JsonUtil.jsonToBean(val, HashMap.class);
|
|
|
+ dictMaps.put(key,hashMap);
|
|
|
+ }
|
|
|
+ return dictMaps;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|