Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/dev/ez-security210625' into dev/ez-security210625

chengyao 3 gadi atpakaļ
vecāks
revīzija
5af5cfa661

+ 5 - 0
common/src/main/java/com/lantone/common/constant/AuthConstant.java

@@ -37,6 +37,11 @@ public interface AuthConstant {
      */
     String DIC_MAP_KEY = "dicMap";
 
+    /**
+     * Redis缓存组织机构参数配置信息
+     */
+    String HOSPITAL_SET_MAP_KEY = "hospitalSetMap";
+
     /**
      * 认证信息Http请求头
      */

+ 36 - 0
dblayer-mbg/src/main/java/com/lantone/dblayermbg/facade/HospitalSetFacade.java

@@ -1,8 +1,17 @@
 package com.lantone.dblayermbg.facade;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.lantone.common.constant.AuthConstant;
+import com.lantone.common.enums.IsDeleteEnum;
+import com.lantone.common.service.RedisService;
+import com.lantone.dblayermbg.entity.HospitalSet;
 import com.lantone.dblayermbg.service.impl.HospitalSetServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.util.Map;
+import java.util.stream.Collectors;
+
 /**
  * <p>
  * 表名:sys_hospital_set 业务类
@@ -11,4 +20,31 @@ import org.springframework.stereotype.Component;
 @Component
 public class HospitalSetFacade extends HospitalSetServiceImpl {
 
+    @Autowired
+    private RedisService redisService;
+    @Autowired
+    private HospitalSetFacade hospitalSetFacade;
+
+    public Map<String, Map<String, Map<String, String>>> initHospitalSetMap() {
+        QueryWrapper<HospitalSet> hospitalSetQueryWrapper = new QueryWrapper<HospitalSet>()
+                .eq("is_deleted", IsDeleteEnum.N.getKey());
+        Map<String, Map<String, Map<String, String>>> hospitalSetMap = hospitalSetFacade.list(hospitalSetQueryWrapper)
+                .stream()
+                .collect(
+                        Collectors.groupingBy(
+                                i -> i.getHospitalId().toString(),
+                                Collectors.groupingBy(
+                                        HospitalSet::getCode,
+                                        Collectors.toMap(
+                                                HospitalSet::getName,
+                                                HospitalSet::getVal
+                                        )
+                                )
+                        )
+                );
+        redisService.del(AuthConstant.HOSPITAL_SET_MAP_KEY);
+        redisService.set(AuthConstant.HOSPITAL_SET_MAP_KEY, hospitalSetMap);
+        return hospitalSetMap;
+    }
+
 }

+ 28 - 0
security-center/src/main/java/com/lantone/security/component/HospitalSetHolder.java

@@ -0,0 +1,28 @@
+package com.lantone.security.component;
+
+import com.lantone.dblayermbg.facade.HospitalSetFacade;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.PostConstruct;
+
+/**
+ * @Description: 组织机构参数配置信息操作组件
+ * @author: rengb
+ * @time: 2021/1/5 18:27
+ */
+@Component
+public class HospitalSetHolder {
+
+    @Autowired
+    private HospitalSetFacade hospitalSetFacade;
+
+    /**
+     * 预加载所有组织机构参数配置信息
+     */
+    @PostConstruct
+    public void initHospitalSetMap() {
+        hospitalSetFacade.initHospitalSetMap();
+    }
+
+}