فهرست منبع

1.完成获取token接口
2.晚上token校验返回体

sh4wmoo 3 سال پیش
والد
کامیت
c5bffc3d71

+ 11 - 1
src/main/java/com/dk/mnls_mp/controller/basic/LoginController.java

@@ -29,7 +29,17 @@ public class LoginController extends BaseController {
     @PostMapping("/login")
     @UserRightCheck(check = UserRightCheckKind.None)
     public ResponseResultVO login(@RequestBody User user) {
-        return loginService.login(user);
+        return loginService.login(user,false);
     }
 
+    /**
+     * @desc   : 获取中台token
+     * @author : 张潇木
+     * @date   : 2022-9-19 13:33
+     */
+    @PostMapping("/get_access_token")
+    @UserRightCheck(check = UserRightCheckKind.None)
+    public ResponseResultVO getAccessToken(@RequestBody User user) {
+        return loginService.login(user,true);
+    }
 }

+ 2 - 0
src/main/java/com/dk/mnls_mp/controller/mnls/IbossDataController.java

@@ -1,6 +1,7 @@
 package com.dk.mnls_mp.controller.mnls;
 
 
+import com.dk.mnls_mp.infrastructure.base.UserRightCheck;
 import com.dk.mnls_mp.model.query.IbossDataQuery;
 import com.dk.mnls_mp.service.mnls.IbossDataService;
 import com.dongke.base.exceptionHandler.ResponseResultVO;
@@ -37,6 +38,7 @@ public class IbossDataController {
      */
     @ApiOperation(value = "查询库存数据", notes = "查询库存数据")
     @PostMapping({"/get_inventory"})
+    @UserRightCheck(code = "009002")
     public ResponseResultVO getInventory(@Valid @RequestBody IbossDataQuery query) {
         return ibossDataService.getInventory(query);
     }

+ 1 - 1
src/main/java/com/dk/mnls_mp/infrastructure/base/ResponseCodeEnum.java

@@ -37,7 +37,7 @@ public enum ResponseCodeEnum {
     /**
      * 用户登录校验
      */
-    HAS_NOT_TOKEN(108, "您还没有登陆!"),
+    HAS_NOT_TOKEN(108, "TOKEN为空,请携带TOKEN访问API接口"),
 
     USER_IIS_STOP(109, "用户已停用!"),
 

+ 9 - 5
src/main/java/com/dk/mnls_mp/infrastructure/web/HttpRequestAspect.java

@@ -9,6 +9,7 @@ import com.dk.mnls_mp.model.pojo.basic.User;
 import com.dk.mnls_mp.infrastructure.util.JWTHelper;
 import com.dongke.base.exceptionHandler.ResponseResultUtil;
 import com.dongke.base.exceptionHandler.ResponseResultVO;
+import org.apache.commons.lang.StringUtils;
 import org.aspectj.lang.ProceedingJoinPoint;
 import org.aspectj.lang.annotation.*;
 import org.aspectj.lang.reflect.MethodSignature;
@@ -118,27 +119,30 @@ public class HttpRequestAspect {
         //厂家获取token的时候 也不进行校验
         if (!requestURI.endsWith("/login") && met.equals("POST")
                 && !requestURI.endsWith("/FactoryGetToken") && met.equals("POST")) {
+            if(StringUtils.isEmpty(Authorization)){
+                return ResponseResultUtil.error(ResponseCodeEnum.HAS_NOT_TOKEN.getCode(),ResponseCodeEnum.HAS_NOT_TOKEN.getMessage());
+            }
             // 3.1 还原用户信息,拉取权限
             User user = JWTHelper.verify(Authorization);
             // 3.2 还原失败,返回错误信息
             if (user == null) {
-                return ResponseResultUtil.error(ResponseCodeEnum.TOKEN_OVERDUE);
+                return ResponseResultUtil.error(ResponseCodeEnum.TOKEN_OVERDUE.getCode(),ResponseCodeEnum.TOKEN_OVERDUE.getMessage());
             }
             // 3.3 获取数据库中用户相关信息
             User dbUser = userMapper.getUserByUserId(user.getUserid());
             // 3.4 校验用户是否已经停用
             if (dbUser.getValueflag() == 0) {
-                return ResponseResultUtil.error(ResponseCodeEnum.USER_IIS_STOP);
+                return ResponseResultUtil.error(ResponseCodeEnum.USER_IIS_STOP.getCode(),ResponseCodeEnum.USER_IIS_STOP.getMessage());
             }
             // 3.5 校验是否已经更换了密码
             if (!dbUser.getPassword().toUpperCase().equals(user.getPassword().toUpperCase())) {
-                return ResponseResultUtil.error(ResponseCodeEnum.USER_PASSWORD_CHANGE);
+                return ResponseResultUtil.error(ResponseCodeEnum.USER_PASSWORD_CHANGE.getCode(),ResponseCodeEnum.USER_PASSWORD_CHANGE.getMessage());
             }
             // 3.6 如果需要校验权限,则获取用户对应功能列表
             if (needCheck) {
                 functionList = userMapper.getFunctionByUserId(dbUser.getUserid());
                 if (functionList == null) {
-                    return ResponseResultUtil.error(ResponseCodeEnum.NO_ACCESS);
+                    return ResponseResultUtil.error(ResponseCodeEnum.NO_ACCESS.getCode(),ResponseCodeEnum.NO_ACCESS.getMessage());
                 }
             }
         }
@@ -160,7 +164,7 @@ public class HttpRequestAspect {
             }
             // 4.2 如果无权限返回
             if (!has) {
-                return ResponseResultUtil.error(ResponseCodeEnum.NO_ACCESS);
+                return ResponseResultUtil.error(ResponseCodeEnum.NO_ACCESS.getCode(),ResponseCodeEnum.NO_ACCESS.getMessage());
             }
         }
         // endregion

+ 4 - 1
src/main/java/com/dk/mnls_mp/service/basic/LoginService.java

@@ -27,7 +27,7 @@ public class LoginService {
      * @param user
      * @return
      */
-    public ResponseResultVO login(User user) {
+    public ResponseResultVO login(User user,boolean isGetToken) {
 
         // region 0.校验
         if (StringUtils.isEmpty(user.getUsercode())) {
@@ -69,6 +69,9 @@ public class LoginService {
         if (result <= 0) {
             return ResponseResultUtil.error(ResponseCodeEnum.LOGIN_EXCEPTION);
         }
+        if(isGetToken){
+            return ResponseResultUtil.success(token);
+        }
         // endregion
 
         // region 2.构建返回值