浏览代码

代码优化

gaodm 4 年之前
父节点
当前提交
d3bc56a3a7

+ 9 - 7
src/main/java/com/diagbot/aop/TokenAuthAspect.java

@@ -2,6 +2,7 @@ package com.diagbot.aop;
 
 import com.diagbot.annotation.TokenAuth;
 import com.diagbot.dto.PermissionDTO;
+import com.diagbot.dto.TokenCheckDTO;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.facade.HospitalInfoFacade;
@@ -98,16 +99,17 @@ public class TokenAuthAspect {
         if (StringUtil.isBlank(token)) {
             throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "请传入token!");
         }
-        //todo 期限和医院有效性验证
-        long hospitalId = Long.parseLong(SysJwtUtil.getHospId(token));
+        //期限和医院有效性验证
+        TokenCheckDTO tokenCheckDTO = tokenHospitalFacade.checkTokenHospitals(token);
+        if (!tokenCheckDTO.getRes()) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "已超过有效期");
+        }
+        Long hospitalId = tokenCheckDTO.getHospitalId();
         HospitalCheckVO hospitalCheckVO = new HospitalCheckVO();
         hospitalCheckVO.setHospitalId(hospitalId);
         if (!hospitalInfoFacade.checkHospital(hospitalCheckVO)) {
             throw new CommonException(CommonErrorCode.NOT_EXISTS, "该医院不存在!");
         }
-        if (!tokenHospitalFacade.checkTokenHospitals(token)) {
-            throw new CommonException(CommonErrorCode.NOT_EXISTS, "已超过有效期");
-        }
         //todo 权限拦截
         //todo 远程获取权限验证权限
         //验证权限
@@ -232,8 +234,8 @@ public class TokenAuthAspect {
         for (Object obj : args) {
             if (obj instanceof HospitalBaseVO){
                 HospitalBaseVO hospitalBaseVO = (HospitalBaseVO) obj;
-                //todo 设置为token所在的医院ID
-                hospitalBaseVO.setHospitalId(2L);
+                //设置为token所在的医院ID
+                hospitalBaseVO.setHospitalId(hospitalId);
             }
         }
         //执行方法后获取出参

+ 22 - 0
src/main/java/com/diagbot/dto/TokenCheckDTO.java

@@ -0,0 +1,22 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2020/7/29 19:12
+ */
+@Getter
+@Setter
+public class TokenCheckDTO {
+    //是否成功
+    private Boolean res;
+
+    /**
+     * 医院ID
+     */
+    private Long hospitalId;
+
+}

+ 14 - 14
src/main/java/com/diagbot/facade/TokenHospitalFacade.java

@@ -1,16 +1,13 @@
 package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.dto.TokenCheckDTO;
 import com.diagbot.dto.TokenHospitaDTO;
 import com.diagbot.entity.TokenHospital;
 import com.diagbot.enums.IsDeleteEnum;
-import com.diagbot.enums.StatusEnum;
-import com.diagbot.exception.CommonErrorCode;
-import com.diagbot.exception.CommonException;
 import com.diagbot.service.impl.TokenHospitalServiceImpl;
 import com.diagbot.util.BeanUtil;
-import com.diagbot.util.StringUtil;
-import com.diagbot.util.SysJwtUtil;
+import com.diagbot.util.DateUtil;
 import com.diagbot.vo.TokenHospitalVO;
 import org.springframework.stereotype.Component;
 
@@ -24,7 +21,6 @@ import java.util.Date;
 @Component
 public class TokenHospitalFacade extends TokenHospitalServiceImpl {
 
-
     /**
      * @param tokenHospitalVO
      * @return
@@ -43,8 +39,8 @@ public class TokenHospitalFacade extends TokenHospitalServiceImpl {
      * @param token
      * @return
      */
-    public Boolean checkTokenHospitals(String token) {
-        Date date = new Date();
+    public TokenCheckDTO checkTokenHospitals(String token) {
+        Date now = DateUtil.now();
         boolean res = true;
         //根据token获取用户id
         TokenHospitalVO tokenHospitalVO = new TokenHospitalVO();
@@ -54,17 +50,21 @@ public class TokenHospitalFacade extends TokenHospitalServiceImpl {
         Date startTime = tokenHospitals.getStartTime();
         Date endTime = tokenHospitals.getEndTime();
         if (validDays < 0) {
-            return res = false;
+            res = false;
             //throw new CommonException(CommonErrorCode.NOT_EXISTS, "已超过有效期");
         }
-        if (date.getTime() > startTime.getTime() ? false : true) {
-            return res = false;
+        if (DateUtil.before(now, startTime)) {
+            res = false;
             //throw new CommonException(CommonErrorCode.NOT_EXISTS, "已超过有效期");
         }
-        if (date.getTime() < endTime.getTime() ? false : true) {
-            return res = false;
+        if (DateUtil.after(now, endTime)) {
+            res = false;
             // throw new CommonException(CommonErrorCode.NOT_EXISTS, "已超过有效期");
         }
-        return res;
+
+        TokenCheckDTO tokenCheckDTO = new TokenCheckDTO();
+        tokenCheckDTO.setRes(res);
+        tokenCheckDTO.setHospitalId(tokenHospitals.getHospitalId());
+        return tokenCheckDTO;
     }
 }