SysDictionaryFacade.java 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package com.diagbot.facade;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.diagbot.dto.SysDictionaryInfoDTO;
  4. import com.diagbot.entity.SysDictionaryInfo;
  5. import com.diagbot.enums.IsDeleteEnum;
  6. import com.diagbot.service.impl.SysDictionaryInfoServiceImpl;
  7. import com.diagbot.util.BeanUtil;
  8. import com.diagbot.util.EntityUtil;
  9. import com.diagbot.util.ListUtil;
  10. import org.springframework.cache.annotation.Cacheable;
  11. import org.springframework.stereotype.Component;
  12. import java.util.HashMap;
  13. import java.util.List;
  14. import java.util.Map;
  15. /**
  16. * @Description:
  17. * @Author:zhoutg
  18. * @time: 2018/11/23 11:37
  19. */
  20. @Component
  21. public class SysDictionaryFacade extends SysDictionaryInfoServiceImpl {
  22. /**
  23. * 返回字典信息
  24. *
  25. * @return
  26. */
  27. public Map<Long, List<SysDictionaryInfoDTO>> getDictionary() {
  28. List<SysDictionaryInfo> list = this.list(new QueryWrapper<SysDictionaryInfo>()
  29. .in("return_type", ListUtil.arrayToList(new Long[] { 0L, 2L }))
  30. .eq("is_deleted", IsDeleteEnum.N.getKey())
  31. .orderByAsc("group_type", "order_no"));
  32. List<SysDictionaryInfoDTO> listRes = BeanUtil.listCopyTo(list, SysDictionaryInfoDTO.class);
  33. return EntityUtil.makeEntityListMap(listRes, "groupType");
  34. }
  35. /**
  36. * 返回字典信息
  37. *
  38. * @return
  39. */
  40. @Cacheable(value = "cache", key = "'qcdict'")
  41. public Map<Long, Map<String, String>> getDictionaryWithKey() {
  42. Map<Long, Map<String, String>> res = new HashMap<>();
  43. List<SysDictionaryInfo> list = this.list(new QueryWrapper<SysDictionaryInfo>()
  44. .in("return_type", ListUtil.arrayToList(new Long[] { 0L, 2L }))
  45. .eq("is_deleted", IsDeleteEnum.N.getKey())
  46. .orderByAsc("group_type", "order_no"));
  47. Map<Long, List<SysDictionaryInfo>> mapSource = EntityUtil.makeEntityListMap(list, "groupType");
  48. for (Long group : mapSource.keySet()) {
  49. Map<String, String> m = new HashMap<>();
  50. for (SysDictionaryInfo dic : mapSource.get(group)) {
  51. m.put(dic.getName(), dic.getVal());
  52. }
  53. res.put(group, m);
  54. }
  55. return res;
  56. }
  57. }