瀏覽代碼

登录信息存入redis

xiaochan 1 年之前
父節點
當前提交
148ca29666

+ 11 - 5
src/main/java/thyyxxk/webserver/service/LoginService.java

@@ -22,6 +22,7 @@ import thyyxxk.webserver.service.redislike.RedisLikeService;
 import thyyxxk.webserver.utils.*;
 
 import javax.annotation.PostConstruct;
+import javax.servlet.http.HttpServletRequest;
 import java.util.*;
 
 /**
@@ -36,7 +37,6 @@ public class LoginService {
     private final CorpWxSrvc srvc;
     private final PublicServer publicServer;
     private final SendWxInfoService sendWxInfoService;
-    private final RedisServer redisServer;
 
     @Autowired
     public LoginService(LoginDao dao,
@@ -44,14 +44,13 @@ public class LoginService {
                         RedisLikeService redisLikeService,
                         CorpWxSrvc srvc,
                         PublicServer publicServer,
-                        SendWxInfoService sendWxInfoService, RedisServer redisServer) {
+                        SendWxInfoService sendWxInfoService) {
         this.dao = dao;
         this.tokenService = tokenService;
         this.redisLikeService = redisLikeService;
         this.srvc = srvc;
         this.publicServer = publicServer;
         this.sendWxInfoService = sendWxInfoService;
-        this.redisServer = redisServer;
     }
 
     @Data
@@ -75,15 +74,18 @@ public class LoginService {
         if (!Objects.equals("fromTriageScreen", userInfo.getSid()) && !pwd.equals(tempUserInfo.getPassword())) {
             return ResultVoUtil.fail(ExceptionEnum.INVALID_PASSWORD, userInfo);
         }
+
         String token = TokenUtil.getInstance().createToken(tempUserInfo.getCode());
         try {
             JSONObject json = srvc.getUserinfo(tokenService.getWeComAddressBookToken(), tempUserInfo.getCodeRs());
             tempUserInfo.setAvatar(json.getString("avatar"));
         } catch (Exception ignored) {
         }
-        tempUserInfo = redisLikeService.getUserInfoByCode(tempUserInfo.getCode());
+        tempUserInfo = redisLikeService.dbUserInfo(tempUserInfo.getCode());
         tempUserInfo.setToken(token);
         tempUserInfo.setSid(makeSid(tempUserInfo.getCode(), token, userInfo.getSid()));
+        redisLikeService.setUserInfo(tempUserInfo);
+
         return ResultVoUtil.success(tempUserInfo);
     }
 
@@ -133,7 +135,6 @@ public class LoginService {
         } else {
             return ResultVoUtil.fail(ExceptionEnum.NOT_EL_MESSAGE, f.getMessage());
         }
-
         return ResultVoUtil.success(js);
     }
 
@@ -176,4 +177,9 @@ public class LoginService {
     }
 
 
+    public void test() {
+
+
+    }
+
 }

+ 1 - 31
src/main/java/thyyxxk/webserver/service/PublicServer.java

@@ -556,36 +556,6 @@ public class PublicServer {
         }
     }
 
-    public void huoQuGaiYiZhuXiaXiangMu(BigDecimal orderNo) {
-        YshHzRecord hz = dao.huiZhen(orderNo);
-        if (hz != null) {
-            if (hz.getStatusFlag().trim().equals("2")) {
-                throw new BizException(ExceptionEnum.LOGICAL_ERROR, "该医嘱下的会诊,已经完成无法删除了。");
-            }
-            return;
-        }
-        YshYjReq yj = dao.yiJi(orderNo);
-        if (yj != null) {
-            if (yj.getReceiveFlag().trim().equals("2")) {
-                throw new BizException(ExceptionEnum.LOGICAL_ERROR, String.format("该医嘱下【%s】,已经完成无法删除了。", yj.getReqType().trim().equals("2") ? "检验" : "检查"));
-            }
-            return;
-        }
-        OpRecord shouShu = dao.shouShu(orderNo);
-        if (shouShu != null) {
-            if (!shouShu.getStatus().trim().equals("1")) {
-                throw new BizException(ExceptionEnum.LOGICAL_ERROR, "该医嘱下的手术,无法被删除。");
-            }
-            return;
-        }
-        YzActOrderCy caoYao = dao.caoYao(orderNo);
-        if (caoYao != null) {
-            if (caoYao.getStatusFlag().trim().equals("4")) {
-                throw new BizException(ExceptionEnum.LOGICAL_ERROR, "该医嘱下的草药已经发药,无法删除。");
-            }
-        }
-    }
-
     /**
      * 药品限制
      *
@@ -643,7 +613,7 @@ public class PublicServer {
      * @param huanZheXinXi 患者信息
      * @param content      内容
      * @param title        标题
-     * @param sender       发送人  TokenUtil.getInstance().getTokenUserId() 不能使用这个因为用的 异步的方法 会导致 okenUtil.getTokenUserId() 为 99999
+     * @param sender       发送人  TokenUtil.getInstance().getTokenUserId() 不能使用这个因为用的 异步的方法 会导致 tokenUtil.getTokenUserId() 为 99999
      * @param userCodeList 接收方
      */
     @Async

+ 25 - 21
src/main/java/thyyxxk/webserver/service/redislike/RedisLikeService.java

@@ -238,6 +238,30 @@ public class RedisLikeService {
         return list;
     }
 
+    public UserInfo dbUserInfo(String code) {
+        UserInfo userInfo = dao.selectUserInfo(code);
+        if (null == userInfo) {
+            //说明用户被删除了
+            userInfo = dao.selectUserInfoFromHis(code);
+            //先删除
+            dao.delNewUserToDjUserBase(userInfo.getCode());
+            dao.insertNewUserToDjUserBase(userInfo);
+        }
+        userInfo.setDeptName(getDeptName(userInfo.getDeptCode()));
+        userInfo.setRoles(dao.selectUserRoles(code));
+        userInfo.setPartTimeDept(dao.selectUserPartTimeDept(userInfo.getCode()));
+        Set<String> deptList = getDept(true, userInfo);
+        if (!deptList.isEmpty()) {
+            Map<String, String> tempMap = new HashMap<>(deptList.size());
+            deptList.forEach(item -> {
+                tempMap.put(item, getDeptName(item));
+            });
+            userInfo.setPartTimeDeptMap(tempMap);
+        }
+        userInfo.setHzDay(loginDao.getDeptHzDayByCode(userInfo.getDeptCode()));
+        return userInfo;
+    }
+
     /**
      * 获取用户信息,并且放入 redis
      *
@@ -250,32 +274,12 @@ public class RedisLikeService {
         }
         UserInfo userInfo = (UserInfo) redisServer.getData(StrUtil.format(US_INFO_KEY, code));
         if (null == userInfo) {
-            userInfo = dao.selectUserInfo(code);
-            if (null == userInfo) {
-                //说明用户被删除了
-                userInfo = dao.selectUserInfoFromHis(code);
-                //先删除
-                dao.delNewUserToDjUserBase(userInfo.getCode());
-                dao.insertNewUserToDjUserBase(userInfo);
-            }
-            userInfo.setDeptName(getDeptName(userInfo.getDeptCode()));
-            userInfo.setRoles(dao.selectUserRoles(code));
-            userInfo.setPartTimeDept(dao.selectUserPartTimeDept(userInfo.getCode()));
-            Set<String> deptList = getDept(true, userInfo);
-            if (!deptList.isEmpty()) {
-                Map<String, String> tempMap = new HashMap<>(deptList.size());
-                deptList.forEach(item -> {
-                    tempMap.put(item, getDeptName(item));
-                });
-                userInfo.setPartTimeDeptMap(tempMap);
-            }
-            userInfo.setHzDay(loginDao.getDeptHzDayByCode(userInfo.getDeptCode()));
+            userInfo = dbUserInfo(code);
             setUserInfo(userInfo);
         }
         return userInfo;
     }
 
-
     public UserInfo getUserInfoByToken() {
         return getUserInfoByCode(TokenUtil.getInstance().getTokenUserId());
     }

+ 6 - 1
src/main/resources/application-cytest.yml

@@ -15,7 +15,7 @@ spring:
     cache: false
   datasource:
     dynamic:
-      primary: his
+      primary: dev
       strict: false
       datasource:
         his:
@@ -78,6 +78,11 @@ spring:
     format:
       date: yyyy-MM-dd
       date-time: yyyy-MM-dd HH:mm:ss
+  redis:
+    host: 172.16.32.217
+    port: 6379
+    database: 0
+    password: thyy@2018
 forest:
   timeout: 0
   read-timeout: 0