From c2ba966fa41132eac501a8c0c3cd5ecd5ce7ab3a Mon Sep 17 00:00:00 2001 From: yy <2@2.com> Date: Wed, 5 Jun 2024 17:26:54 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E5=BD=93=E5=89=8D=E5=8C=BB?= =?UTF-8?q?=E9=99=A2=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SysHospitalServiceImpl.java | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/upms/upms-biz/src/main/java/com/rax/admin/service/impl/SysHospitalServiceImpl.java b/upms/upms-biz/src/main/java/com/rax/admin/service/impl/SysHospitalServiceImpl.java index 2c69026..4108882 100644 --- a/upms/upms-biz/src/main/java/com/rax/admin/service/impl/SysHospitalServiceImpl.java +++ b/upms/upms-biz/src/main/java/com/rax/admin/service/impl/SysHospitalServiceImpl.java @@ -144,15 +144,19 @@ public class SysHospitalServiceImpl extends ServiceImpl currentHospital = sysHospitalMapper.getCurrentHospital(userId); - if (currentHospital.isEmpty()) { - hospitalId = raxUser.getHospitalId() != null ? raxUser.getHospitalId().toString() : null; - } else { - hospitalId = (String) currentHospital.get(0).get("hospital_id"); + String hospitalId = null; + Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal(); + if (!(principal instanceof String)) { + RaxUser raxUser = (RaxUser) principal; + String userId = String.valueOf(raxUser.getId()); + hospitalId = (String) redisTemplate.opsForValue().get(CacheConstants.CURRENT_HOSPITAL + ":" + userId); + if (!StringUtils.hasText(hospitalId)) { + List currentHospital = sysHospitalMapper.getCurrentHospital(userId); + if (currentHospital.isEmpty()) { + hospitalId = raxUser.getHospitalId() != null ? raxUser.getHospitalId().toString() : null; + } else { + hospitalId = (String) currentHospital.get(0).get("hospital_id"); + } } } return hospitalId;