SystemDictService.java 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. package cn.cslg.pas.service.business;
  2. import cn.cslg.pas.common.utils.Response;
  3. import cn.cslg.pas.domain.business.SystemDict;
  4. import cn.cslg.pas.mapper.SystemDictMapper;
  5. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  6. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  7. import lombok.RequiredArgsConstructor;
  8. import org.springframework.context.annotation.Lazy;
  9. import org.springframework.stereotype.Service;
  10. import java.util.*;
  11. import java.util.stream.Collectors;
  12. /**
  13. * <p>
  14. * 系统字典 服务类
  15. * </p>
  16. *
  17. * @author 王岩
  18. * @since 2022-03-30
  19. */
  20. @Service
  21. @RequiredArgsConstructor(onConstructor_ = {@Lazy})
  22. public class SystemDictService extends ServiceImpl<SystemDictMapper, SystemDict> {
  23. public Map<String, List<SystemDict>> getOsSystemDict(List<String> types) {
  24. Map<String, List<SystemDict>> systemDictMap = new HashMap<>();
  25. LambdaQueryWrapper<SystemDict> queryWrapper = new LambdaQueryWrapper<>();
  26. if (types != null && types.size() > 0) {
  27. queryWrapper.in(SystemDict::getType, types);
  28. }
  29. List<SystemDict> systemDictList = this.list(queryWrapper);
  30. types = systemDictList.stream().map(SystemDict::getType).collect(Collectors.toList());
  31. types = types.stream().distinct().collect(Collectors.toList());
  32. Set set = new HashSet();
  33. set.addAll(systemDictList);
  34. types.forEach(item -> {
  35. List<SystemDict> systemDictList1 = systemDictList.stream().filter(t -> t.getType().equals(item)).collect(Collectors.toList());
  36. systemDictMap.put(item, systemDictList1);
  37. });
  38. return systemDictMap;
  39. }
  40. public List<SystemDict> getSystemDictListByType(List<String> type) {
  41. if (type == null || type.size() == 0) {
  42. return new ArrayList<>();
  43. }
  44. LambdaQueryWrapper<SystemDict> queryWrapper = new LambdaQueryWrapper<>();
  45. queryWrapper.in(SystemDict::getType, type);
  46. return this.list(queryWrapper);
  47. }
  48. public String getSystemDictLabelByTypeAndValue(String type, Object value) {
  49. LambdaQueryWrapper<SystemDict> queryWrapper = new LambdaQueryWrapper<>();
  50. queryWrapper.eq(SystemDict::getType, type);
  51. queryWrapper.eq(SystemDict::getValue, value);
  52. SystemDict systemDict = this.getOne(queryWrapper);
  53. if (systemDict != null) {
  54. return systemDict.getLabel();
  55. }
  56. return "";
  57. }
  58. public List<String> getScenarioOrderIds(Integer orderType) {
  59. LambdaQueryWrapper<SystemDict> queryWrapper = new LambdaQueryWrapper<>();
  60. queryWrapper.select(SystemDict::getValue);
  61. queryWrapper.eq(SystemDict::getType, "ENTERPRISE_APPLICATION_SCENARIO");
  62. if (orderType != null && orderType.equals(0)) {
  63. queryWrapper.orderByAsc(SystemDict::getLabel);
  64. } else {
  65. queryWrapper.orderByDesc(SystemDict::getLabel);
  66. }
  67. java.util.function.Function<Object, String> f = (o -> o.toString());
  68. List<String> ids = this.listObjs(queryWrapper, f);
  69. return ids;
  70. }
  71. public List<String> getCronsOrderIds(Integer orderType) {
  72. LambdaQueryWrapper<SystemDict> queryWrapper = new LambdaQueryWrapper<>();
  73. queryWrapper.select(SystemDict::getValue);
  74. queryWrapper.eq(SystemDict::getGroupType, "ASSESS");
  75. if (orderType.equals(0)) {
  76. queryWrapper.orderByAsc(SystemDict::getLabel);
  77. } else {
  78. queryWrapper.orderByDesc(SystemDict::getLabel);
  79. }
  80. java.util.function.Function<Object, String> f = (o -> o.toString());
  81. List<String> ids = this.listObjs(queryWrapper, f);
  82. return ids;
  83. }
  84. public List<SystemDict> getCrons(Integer reportType) {
  85. String type = "";
  86. if (reportType == null) {
  87. type = "";
  88. reportType = -1;
  89. }
  90. switch (reportType) {
  91. case 0:
  92. type = "INVALID_ASSESS";
  93. break;
  94. }
  95. LambdaQueryWrapper<SystemDict> queryWrapper = new LambdaQueryWrapper<>();
  96. if (type.equals("")) {
  97. queryWrapper.eq(SystemDict::getGroupType, "ASSESS");
  98. } else {
  99. queryWrapper.eq(SystemDict::getType, type);
  100. }
  101. List<SystemDict> systemDictList = this.list(queryWrapper);
  102. return systemDictList;
  103. }
  104. public List<SystemDict> getSystemDictByTypeAndValue(String type, List<String> values) {
  105. LambdaQueryWrapper<SystemDict> queryWrapper = new LambdaQueryWrapper<>();
  106. queryWrapper.eq(SystemDict::getType, type);
  107. if (values != null) {
  108. queryWrapper.in(SystemDict::getValue, values);
  109. }
  110. List<SystemDict> systemDictList = this.list(queryWrapper);
  111. return systemDictList;
  112. }
  113. public List<SystemDict> getSystemDictByTypeAndSimpleLabel(String type, List<String> labels) {
  114. LambdaQueryWrapper<SystemDict> queryWrapper = new LambdaQueryWrapper<>();
  115. queryWrapper.eq(SystemDict::getType, type)
  116. .in(SystemDict::getSimpleLabel, labels);
  117. List<SystemDict> systemDictList = this.list(queryWrapper);
  118. return systemDictList;
  119. }
  120. }