Browse Source

feat: 查询字典中所有的key和value

zhaomuran 7 months ago
parent
commit
7a95ced748

+ 7 - 0
bound-link-api/blink-base/src/main/java/com/cloud/sa/base/module/support/dict/controller/DictController.java

@@ -1,5 +1,6 @@
 package com.cloud.sa.base.module.support.dict.controller;
 
+import com.cloud.sa.base.module.support.dict.domain.vo.DictCategoryVO;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import com.cloud.sa.base.common.controller.SupportBaseController;
@@ -64,5 +65,11 @@ public class DictController extends SupportBaseController {
         return dictService.valueUpdateStatus(id);
     }
 
+    @Operation(summary = "查询数据字典所有key-value- @author admin")
+    @GetMapping("/dict/category/query")
+    public ResponseDTO<List<DictCategoryVO>> allDictQuery(){
+        return dictCacheService.allDictQuery();
+    }
+
 
 }

+ 19 - 0
bound-link-api/blink-base/src/main/java/com/cloud/sa/base/module/support/dict/domain/vo/DictCategoryVO.java

@@ -0,0 +1,19 @@
+package com.cloud.sa.base.module.support.dict.domain.vo;
+
+import lombok.Data;
+import java.util.List;
+
+@Data
+public class DictCategoryVO {
+
+    /**
+     *  字典key
+     * */
+    private DictKeyVO key;
+
+    /**
+     *  字典value
+     * */
+    private List<DictValueVO> value;
+
+}

+ 25 - 0
bound-link-api/blink-base/src/main/java/com/cloud/sa/base/module/support/dict/service/DictCacheService.java

@@ -1,6 +1,9 @@
 package com.cloud.sa.base.module.support.dict.service;
 
 import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.cloud.sa.base.module.support.dict.domain.vo.DictCategoryVO;
+import com.cloud.sa.base.module.support.dict.domain.vo.DictKeyVO;
 import com.google.common.collect.Lists;
 import lombok.extern.slf4j.Slf4j;
 import com.cloud.sa.base.common.domain.ResponseDTO;
@@ -16,6 +19,7 @@ import org.springframework.stereotype.Service;
 
 import javax.annotation.PostConstruct;
 import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
@@ -128,4 +132,25 @@ public class DictCacheService {
         return StringUtils.join(valueNameList, ",");
     }
 
+    /**
+     * 查询数据字典所有key-value
+     *
+     * @param
+     * @return
+     * */
+    public ResponseDTO<List<DictCategoryVO>> allDictQuery(){
+        QueryWrapper<DictKeyEntity> qw = new QueryWrapper<>();
+        qw.eq("status", 1).eq("deleted_flag", 0);
+        List<DictKeyVO> dictKeyVOList = BlinkBeanUtil.copyList(dictKeyDao.selectList(qw), DictKeyVO.class);
+        List<DictCategoryVO> dictCategoryVOList = new ArrayList<>();
+        for (DictKeyVO dictKeyVO : dictKeyVOList) {
+            DictCategoryVO dictCategoryVO = new DictCategoryVO();
+            dictCategoryVO.setKey(dictKeyVO);
+            List<DictValueVO> dictValueVOList = DICT_CACHE.getOrDefault(dictKeyVO.getKeyCode(), Lists.newArrayList());
+            dictCategoryVO.setValue(dictValueVOList);
+            dictCategoryVOList.add(dictCategoryVO);
+        }
+        return ResponseDTO.ok(dictCategoryVOList);
+    }
+
 }

+ 0 - 1
bound-link-api/blink-management/src/main/java/com/cloud/sa/management/controller/BlinkProviderController.java

@@ -8,7 +8,6 @@ import com.cloud.sa.management.service.IBlinkProviderService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import org.springframework.web.bind.annotation.*;
-
 import javax.annotation.Resource;
 import javax.validation.Valid;