DictUtil.java 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package com.huaxu.dict;
  2. import com.huaxu.client.UserCenterClient;
  3. import com.huaxu.org.Org;
  4. import com.huaxu.util.RedisUtil;
  5. import com.huaxu.util.UserUtil;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.stereotype.Component;
  8. import java.util.HashMap;
  9. import java.util.List;
  10. import java.util.Map;
  11. @Component
  12. public class DictUtil {
  13. private static final String REDIS_CACHE_KEY_DICTINFO = "dict%s";
  14. @Autowired
  15. private RedisUtil redisUtil;
  16. @Autowired
  17. private UserCenterClient userCenterClient;
  18. public String getDictName(String code,Integer value) {
  19. String key = String.format(REDIS_CACHE_KEY_DICTINFO, code);
  20. String keysValue = (String) redisUtil.getHashValues(key,value+"");
  21. if (keysValue == null) {
  22. Map<String,String> keysValues = updateDictInfo(key,code);
  23. keysValue = keysValues.get(value+"");
  24. }
  25. return keysValue;
  26. };
  27. private Map<String,String> updateDictInfo(String key,String code) {
  28. Map<String, String> keysValues = new HashMap<>();
  29. Dict dict = new Dict();
  30. dict.setParentDictCode(code);
  31. List<Dict> dicts = userCenterClient.selectDictList(dict).getData();
  32. for (Dict item : dicts) {
  33. keysValues.put(item.getDictCode() + "", item.getDictValue());
  34. }
  35. redisUtil.putHashValues(key, keysValues);
  36. return keysValues;
  37. }
  38. }