From eabf890be5718f5e22d03e3ce2b530da0568a8d0 Mon Sep 17 00:00:00 2001
From: lige <bestlige@outlook.com>
Date: 星期四, 07 十二月 2023 17:03:31 +0800
Subject: [PATCH] 总检看职业病

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysLoginController.java |   59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 58 insertions(+), 1 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysLoginController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysLoginController.java
index 6f1125e..3982474 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysLoginController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysLoginController.java
@@ -3,11 +3,20 @@
 import java.awt.peer.LabelPeer;
 import java.util.*;
 
+import cn.hutool.core.date.DateUnit;
+import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ltkj.common.annotation.RepeatSubmit;
+import com.ltkj.common.core.domain.entity.SysDept;
 import com.ltkj.common.core.domain.entity.SysRole;
+import com.ltkj.common.core.redis.RedisCache;
+import com.ltkj.common.exception.CustomException;
+import com.ltkj.common.exception.user.SecretKeyException;
 import com.ltkj.common.utils.StringUtils;
+import com.ltkj.framework.config.UserHoder;
+import com.ltkj.hosp.domain.DictHosp;
 import com.ltkj.hosp.domain.TjCustomer;
+import com.ltkj.hosp.service.IDictHospService;
 import com.ltkj.hosp.service.ITjCustomerService;
 import com.ltkj.system.domain.SysPost;
 import com.ltkj.system.domain.SysRoleMenu;
@@ -17,6 +26,7 @@
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
 import com.ltkj.common.constant.Constants;
 import com.ltkj.common.core.domain.AjaxResult;
@@ -56,6 +66,17 @@
     private ISysRoleMenuService roleMenuService;
     @Autowired
     private ISysConfigService configService;
+    @Resource
+    private IDictHospService hospService;
+    @Autowired
+    private ISysDeptService deptService;
+    @Value("${token.secret_key}")
+    private String secret;
+
+    @Value("${token.secret_key_login}")
+    private boolean secretKeyLogin;
+    @Autowired
+    private RedisCache redisCache;
 
     /**
      * 鐧诲綍鏂规硶
@@ -90,13 +111,47 @@
     @GetMapping("getInfo")
     public AjaxResult getInfo() {
         AjaxResult ajax = success();
-        SysUser user = Objects.requireNonNull(SecurityUtils.getLoginUser()).getUser();
+        SysUser user = UserHoder.getLoginUser().getUser();
         if (null != user.getUserId()) {
+            if (secretKeyLogin)
+            {
+                if(null !=user.getDeptId()){
+                    if(!SecurityUtils.isAdmin(user.getUserId())){
+                        SysDept sysDept = deptService.getById(user.getDeptId());
+                        if (null != sysDept) {
+                            DictHosp dictHosp = hospService.getById(sysDept.getHospId());
+                            if(null !=dictHosp && dictHosp.getSecretKey() !=null && dictHosp.getExpirationTime() !=null){
+                                if (!SecurityUtils.matchesMallMerchantSecretKey(secret,dictHosp.getHospAreaId(),dictHosp.getHospAreaName(),
+                                        dictHosp.getExpirationTime(),dictHosp.getSecretKey())) {
+
+                                    String userIdKey = Constants.LOGIN_USERID_KEY + user.getUserId();
+                                    String userKey = redisCache.getCacheObject(userIdKey);
+                                    if (org.apache.commons.lang3.StringUtils.isNotEmpty(userKey))
+                                    {
+                                        redisCache.deleteObject(userIdKey);
+                                        redisCache.deleteObject(userKey);
+                                    }
+                                    throw new SecretKeyException("鍟嗗宸茶繃鏈熻缁垂浣跨敤");
+                                }
+                                long between = DateUtil.between(new Date(), DateUtil.endOfDay(dictHosp.getExpirationTime()), DateUnit.DAY);
+                                if(between<=30){
+                                    UserHoder.getLoginUser().setMessage("杩樻湁 "+between+" 澶╁埌鏈� 璇锋敞鎰忕画璐�! 浠ュ厤褰卞搷姝e父浣跨敤!");
+                                }
+                            }else {
+                                throw new SecretKeyException("璇风即璐逛娇鐢�");
+                            }
+                        }
+                    }
+
+                }
+            }
             Set<String> roles = permissionService.getRolePermission(user);
             Set<String> permissions = permissionService.getMenuPermission(user);
             ajax.put("user", user);
             ajax.put("roles", roles);
             ajax.put("permissions", permissions);
+            ajax.put("securitMessage",UserHoder.getLoginUser().getMessage());
+            ajax.put("hospName",UserHoder.getLoginUser().getHospName());
         } else {
             Set<String> roles = new HashSet<>();
             LambdaQueryWrapper<SysRole> wq = new LambdaQueryWrapper<>();
@@ -116,6 +171,8 @@
             ajax.put("roles", roles);
             ajax.put("permissions", permissions);
             ajax.put("post",null);
+            ajax.put("securitMessage",null);
+            ajax.put("hospName",UserHoder.getLoginUser().getHospName());
         }
         return ajax;
     }

--
Gitblit v1.8.0