瀏覽代碼

Merge remote-tracking branch 'origin/master'

martin 3 年之前
父節點
當前提交
6b7f10cde5

+ 7 - 1
api-common/src/main/java/api/common/pojo/constants/DictConstants.java

@@ -3,10 +3,16 @@ package api.common.pojo.constants;
 public class DictConstants {
 
     //字典缓存目录key
-    public static final String BASE_KEY = "GQ-DICT:";
+    public static final String BASE_KEY = "DICT:";
     public static final String LIST_KEY = "LIST:";
     public static final String MAP_KEY = "MAP:";
 
+    //字典类型
+    public static final String LEVEL = "level";//级别
+    public static final String VEHICLE_TYPE = "vehicleType";//车辆类型
+    public static final String DRIVE_TYPE = "driveType";//驱动方式
+
+
     public static final String SCENE_NATURAL = "1"; // 自然驾驶
     public static final String SCENE_STANDARD = "2";    // 标准法规
     public static final String SCENE_ACCIDENT = "3";    // 交通事故

+ 5 - 0
api-common/src/main/java/api/common/pojo/vo/demo/TestVO.java

@@ -6,7 +6,12 @@ import lombok.Data;
 public class TestVO {
 
     private String id;
+    //姓名
     private String name;
+    //年龄
     private int age;
+    //级别
+    private String level;
+    private String level_name;
 
 }

+ 10 - 0
api-common/src/main/java/api/common/util/JsonUtil.java

@@ -6,7 +6,9 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.type.TypeFactory;
 
 import java.lang.reflect.Type;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 public class JsonUtil {
 
@@ -61,4 +63,12 @@ public class JsonUtil {
         return list;
     }
 
+    public static Map jsonToMap(String json) {
+        try {
+            return new ObjectMapper().readValue(json, HashMap.class);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return new HashMap();
+    }
 }

+ 9 - 16
simulation-resource-common/src/main/java/com/css/simulation/resource/common/controller/RedisController.java

@@ -54,31 +54,24 @@ public class RedisController {
         return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
     }
 
-    @PostMapping("/setList")
-    public ResponseBodyVO<String> setList(@RequestBody List<RedisParameter> redisParameterList) {
+    @PostMapping("/setDictLists")
+    public ResponseBodyVO<String> setDictLists(@RequestBody List<RedisParameter> redisParameterList) {
         if(redisParameterList != null && redisParameterList.size() > 0){
             for (RedisParameter parameter : redisParameterList) {
-                int minutes = parameter.getMinutes();
-                if(minutes == 0){
-                    redisTemplate.opsForValue().set(parameter.getKey(), parameter.getValue());
-                }else{
-                    redisTemplate.opsForValue().set(parameter.getKey(), parameter.getValue(), Duration.ofMinutes(minutes));
-                }
+                redisTemplate.opsForValue().set(DictConstants.BASE_KEY + DictConstants.LIST_KEY + parameter.getKey().toUpperCase(), parameter.getValue());
             }
         }
         return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
     }
 
-    @PostMapping("/getList")
-    public ResponseBodyVO<Map<String,String>> getList(@RequestBody List<String> keyList) {
-        Map<String,String> map = new HashMap<>();
-        if(keyList != null && keyList.size() > 0){
-            for (String key : keyList) {
-                String value = redisTemplate.opsForValue().get(key);
-                map.put(key,value);
+    @PostMapping("/setDictMaps")
+    public ResponseBodyVO<String> setDictMaps(@RequestBody List<RedisParameter> redisParameterList) {
+        if(redisParameterList != null && redisParameterList.size() > 0){
+            for (RedisParameter parameter : redisParameterList) {
+                redisTemplate.opsForValue().set(DictConstants.BASE_KEY + DictConstants.MAP_KEY + parameter.getKey().toUpperCase(), parameter.getValue());
             }
         }
-        return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS,map);
+        return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS);
     }
 
     @PostMapping("/getDictLists")

+ 11 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/demo/service/TestService.java

@@ -1,14 +1,17 @@
 package com.css.simulation.resource.demo.service;
 
+import api.common.pojo.constants.DictConstants;
 import api.common.pojo.param.demo.TestPageParam;
 import api.common.pojo.vo.demo.TestVO;
 import com.css.simulation.resource.common.utils.PageUtil;
 import com.css.simulation.resource.demo.mapper.TestMapper;
+import com.css.simulation.resource.system.service.DictService;
 import com.github.pagehelper.PageInfo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
+import java.util.Map;
 
 @Service
 public class TestService {
@@ -16,9 +19,17 @@ public class TestService {
     @Autowired
     TestMapper testMapper;
 
+    @Autowired
+    DictService dictService;
+
     public PageInfo<TestVO> getTestPageList(TestPageParam params) {
         PageUtil.setPageInfo(params);
         List<TestVO> list = testMapper.getTestPageList(params);
+        //字典翻译
+        Map<String, Map<String, String>> dictMapsByTypes = dictService.getDictMapsByTypes(DictConstants.LEVEL + "," + DictConstants.DRIVE_TYPE);
+        list.forEach(testVO ->{
+            testVO.setLevel_name(dictMapsByTypes.get(DictConstants.LEVEL).get(testVO.getLevel()));
+        });
         return new PageInfo<>(list);
     }
 }

+ 5 - 2
simulation-resource-server/src/main/java/com/css/simulation/resource/feign/RedisService.java

@@ -14,8 +14,11 @@ import java.util.Map;
 @FeignClient(value = "simulation-resource-common", fallback = RedisServiceFallback.class, configuration = FeignConfiguration.class)
 public interface RedisService {
 
-    @PostMapping("/simulation/resource/common/redis/setList")
-    public ResponseBodyVO<String> setList(List<RedisParameter> redisParameter);
+    @PostMapping("/simulation/resource/common/redis/setDictLists")
+    public ResponseBodyVO<String> setDictLists(List<RedisParameter> redisParameter);
+
+    @PostMapping("/simulation/resource/common/redis/setDictMaps")
+    public ResponseBodyVO<String> setDictMaps(List<RedisParameter> redisParameter);
 
     @PostMapping("/simulation/resource/common/redis/getDictLists")
     public ResponseBodyVO<Map<String,String>> getDictLists(List<String> keyList);

+ 7 - 1
simulation-resource-server/src/main/java/com/css/simulation/resource/feign/fallback/RedisServiceFallback.java

@@ -11,8 +11,14 @@ import java.util.Map;
 @Service
 public class RedisServiceFallback implements RedisService {
 
+
+    @Override
+    public ResponseBodyVO<String> setDictLists(List<RedisParameter> redisParameter) {
+        return new ResponseBodyVO<>(ResponseBodyVO.Response.SERVER_FAILURE);
+    }
+
     @Override
-    public ResponseBodyVO<String> setList(List<RedisParameter> redisParameter) {
+    public ResponseBodyVO<String> setDictMaps(List<RedisParameter> redisParameter) {
         return new ResponseBodyVO<>(ResponseBodyVO.Response.SERVER_FAILURE);
     }
 

+ 11 - 8
simulation-resource-server/src/main/java/com/css/simulation/resource/system/service/DictService.java

@@ -1,10 +1,8 @@
 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;
@@ -49,7 +47,7 @@ public class DictService {
             String dictList = JsonUtil.listToJson(dictVOS);
             //放入列表
             RedisParameter listParameter = new RedisParameter();
-            listParameter.setKey(DictConstants.BASE_KEY + DictConstants.LIST_KEY + key.toUpperCase());
+            listParameter.setKey(key);
             listParameter.setValue(dictList);
             dictLists.add(listParameter);
             //map 字典
@@ -62,13 +60,13 @@ public class DictService {
             String dictMap = JsonUtil.beanToJson(map);
             //放入列表
             RedisParameter mapParameter = new RedisParameter();
-            mapParameter.setKey(DictConstants.BASE_KEY + DictConstants.MAP_KEY + key.toUpperCase());
+            mapParameter.setKey(key);
             mapParameter.setValue(dictMap);
             dictMaps.add(mapParameter);
         }
         //放入缓存
-        redisService.setList(dictLists);//前端下拉框使用
-        redisService.setList(dictMaps);//后端字典翻译使用
+        redisService.setDictLists(dictLists);//前端下拉框使用
+        redisService.setDictMaps(dictMaps);//后端字典翻译使用
         //返回刷新成功的字典名称
         return keySet.toString();
     }
@@ -91,7 +89,7 @@ public class DictService {
         return dictLists;
     }
 
-    public Map<String, Map<String,String>> getDictMapsByTypes(DictParam param) throws JsonProcessingException {
+    public Map<String, Map<String,String>> getDictMapsByTypes(DictParam param) {
         //解析参数进行查询
         String dictTypes = param.getDictTypes();
         List<String> dictTypeList = Arrays.asList(dictTypes.split(","));
@@ -103,11 +101,16 @@ public class DictService {
         for (String key: keySet) {
             String val = map.get(key);
             //json转map
-            HashMap hashMap = JsonUtil.jsonToBean(val, HashMap.class);
+            Map hashMap = JsonUtil.jsonToMap(val);
             dictMaps.put(key,hashMap);
         }
         return dictMaps;
     }
 
+    public Map<String, Map<String,String>> getDictMapsByTypes(String param) {
+        DictParam dictParam = new DictParam();
+        dictParam.setDictTypes(param);
+        return getDictMapsByTypes(dictParam);
+    }
 
 }

+ 2 - 1
simulation-resource-server/src/main/resources/mapper/demo/TestMapper.xml

@@ -12,7 +12,8 @@
         select
           id,
           name,
-          age
+          age,
+          level
         from test t
         <where>
             t.is_deleted = '0'