From c0f3dff0f66553f9e9eedd1e4dd6149ce74ceb20 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期四, 13 一月 2022 11:27:09 +0800
Subject: [PATCH] update 合并 satoken 解决不兼容不分

---
 /dev/null                                                                                       |  138 ----------------------------------
 ruoyi-framework/src/main/java/com/ruoyi/framework/handler/CreateAndUpdateMetaObjectHandler.java |   24 +++---
 ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java                      |   18 ++--
 ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java     |    3 
 ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java                        |    5 
 ruoyi-framework/src/main/java/com/ruoyi/framework/listener/UserActionListener.java              |   24 +++---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysSensitiveServiceImpl.java           |    3 
 ruoyi-generator/src/main/resources/vm/vue/index.vue.vm                                          |    2 
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java             |   10 +-
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java                |    2 
 ruoyi-framework/src/main/java/com/ruoyi/framework/satoken/dao/PlusSaTokenDao.java               |    2 
 11 files changed, 45 insertions(+), 186 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java
index 5e432ab..a435627 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java
@@ -49,9 +49,9 @@
     @ApiOperation("涓汉淇℃伅")
     @GetMapping
     public AjaxResult<Map<String, Object>> profile() {
-        SysUser user = userService.getById(getUserId());
-		Map<String, Object> ajax = new HashMap<>();
-		ajax.put("user", user);
+        SysUser user = userService.selectUserById(getUserId());
+        Map<String, Object> ajax = new HashMap<>();
+        ajax.put("user", user);
         ajax.put("roleGroup", userService.selectUserRoleGroup(user.getUserName()));
         ajax.put("postGroup", userService.selectUserPostGroup(user.getUserName()));
         return AjaxResult.success(ajax);
@@ -119,8 +119,8 @@
     public AjaxResult<Map<String, Object>> avatar(@RequestPart("avatarfile") MultipartFile file) {
         Map<String,Object> ajax = new HashMap<>();
         if (!file.isEmpty()) {
-			SysOss oss = iSysOssService.upload(file);
-			String avatar = oss.getUrl();
+            SysOss oss = iSysOssService.upload(file);
+            String avatar = oss.getUrl();
             if (userService.updateUserAvatar(getUsername(), avatar)) {
                 ajax.put("imgUrl", avatar);
                 return AjaxResult.success(ajax);
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
index c80bf80..f969ea4 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
@@ -107,7 +107,7 @@
     @SaCheckPermission("system:user:query")
     @GetMapping(value = {"/", "/{userId}" })
     public AjaxResult<Map<String, Object>> getInfo(@ApiParam("鐢ㄦ埛ID") @PathVariable(value = "userId", required = false) Long userId) {
-		userService.checkUserDataScope(userId);
+        userService.checkUserDataScope(userId);
         Map<String, Object> ajax = new HashMap<>();
         List<SysRole> roles = roleService.selectRoleAll();
         ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList()));
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java
index 9a8cf63..837d148 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java
@@ -59,15 +59,15 @@
         return iTestDemoService.queryPageList(bo, pageQuery);
     }
 
-	/**
-	 * 鑷畾涔夊垎椤垫煡璇�
-	 */
-	@ApiOperation("鑷畾涔夊垎椤垫煡璇�")
-	@SaCheckPermission("demo:demo:list")
-	@GetMapping("/page")
-	public TableDataInfo<TestDemoVo> page(@Validated(QueryGroup.class) TestDemoBo bo, PageQuery pageQuery) {
-		return iTestDemoService.customPageList(bo, pageQuery);
-	}
+    /**
+     * 鑷畾涔夊垎椤垫煡璇�
+     */
+    @ApiOperation("鑷畾涔夊垎椤垫煡璇�")
+    @SaCheckPermission("demo:demo:list")
+    @GetMapping("/page")
+    public TableDataInfo<TestDemoVo> page(@Validated(QueryGroup.class) TestDemoBo bo, PageQuery pageQuery) {
+        return iTestDemoService.customPageList(bo, pageQuery);
+    }
 
     @ApiOperation("瀵煎叆娴嬭瘯-鏍¢獙")
     @ApiImplicitParams({
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java
deleted file mode 100644
index 58427da..0000000
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java
+++ /dev/null
@@ -1,138 +0,0 @@
-package com.ruoyi.framework.aspectj;
-
-import com.ruoyi.common.annotation.DataScope;
-import com.ruoyi.common.core.domain.BaseEntity;
-import com.ruoyi.common.core.domain.entity.SysRole;
-import com.ruoyi.common.core.domain.entity.SysUser;
-import com.ruoyi.common.core.service.UserService;
-import com.ruoyi.common.utils.LoginUtils;
-import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.common.utils.spring.SpringUtils;
-import org.aspectj.lang.JoinPoint;
-import org.aspectj.lang.annotation.Aspect;
-import org.aspectj.lang.annotation.Before;
-import org.springframework.stereotype.Component;
-
-/**
- * 鏁版嵁杩囨护澶勭悊
- *
- * @author Lion Li
- * @deprecated 3.6.0 绉婚櫎 {@link com.ruoyi.framework.handler.PlusDataPermissionHandler}
- */
-@Aspect
-@Component
-@Deprecated
-public class DataScopeAspect {
-
-	/**
-	 * 鍏ㄩ儴鏁版嵁鏉冮檺
-	 */
-	public static final String DATA_SCOPE_ALL = "1";
-
-	/**
-	 * 鑷畾鏁版嵁鏉冮檺
-	 */
-	public static final String DATA_SCOPE_CUSTOM = "2";
-
-	/**
-	 * 閮ㄩ棬鏁版嵁鏉冮檺
-	 */
-	public static final String DATA_SCOPE_DEPT = "3";
-
-	/**
-	 * 閮ㄩ棬鍙婁互涓嬫暟鎹潈闄�
-	 */
-	public static final String DATA_SCOPE_DEPT_AND_CHILD = "4";
-
-	/**
-	 * 浠呮湰浜烘暟鎹潈闄�
-	 */
-	public static final String DATA_SCOPE_SELF = "5";
-
-	/**
-	 * 鏁版嵁鏉冮檺杩囨护鍏抽敭瀛�
-	 */
-	public static final String DATA_SCOPE = "dataScope";
-
-	@Before("@annotation(controllerDataScope)")
-	public void doBefore(JoinPoint point, DataScope controllerDataScope) throws Throwable {
-		clearDataScope(point);
-		handleDataScope(point, controllerDataScope);
-	}
-
-	protected void handleDataScope(final JoinPoint joinPoint, DataScope controllerDataScope) {
-		// 鑾峰彇褰撳墠鐨勭敤鎴�
-		SysUser currentUser = SpringUtils.getBean(UserService.class).selectUserById(LoginUtils.getUserId());
-		// 濡傛灉鏄秴绾х鐞嗗憳锛屽垯涓嶈繃婊ゆ暟鎹�
-		if (StringUtils.isNotNull(currentUser) && !currentUser.isAdmin()) {
-			dataScopeFilter(joinPoint, currentUser, controllerDataScope.deptAlias(),
-				controllerDataScope.userAlias(), controllerDataScope.isUser());
-		}
-	}
-
-	/**
-	 * 鏁版嵁鑼冨洿杩囨护
-	 *
-	 * @param joinPoint 鍒囩偣
-	 * @param user      鐢ㄦ埛
-	 * @param userAlias 鍒悕
-	 */
-	public static void dataScopeFilter(JoinPoint joinPoint, SysUser user, String deptAlias, String userAlias, boolean isUser) {
-		StringBuilder sqlString = new StringBuilder();
-
-		// 灏� "." 鎻愬彇鍑�,涓嶅啓鍒悕涓哄崟琛ㄦ煡璇�,鍐欏埆鍚嶄负澶氳〃鏌ヨ
-		deptAlias = StringUtils.isNotBlank(deptAlias) ? deptAlias + "." : "";
-		userAlias = StringUtils.isNotBlank(userAlias) ? userAlias + "." : "";
-
-		for (SysRole role : user.getRoles()) {
-			String dataScope = role.getDataScope();
-			if (DATA_SCOPE_ALL.equals(dataScope)) {
-				sqlString = new StringBuilder();
-				break;
-			} else if (DATA_SCOPE_CUSTOM.equals(dataScope)) {
-				sqlString.append(StringUtils.format(
-					" OR {}dept_id IN ( SELECT dept_id FROM sys_role_dept WHERE role_id = {} ) ",
-					deptAlias, role.getRoleId()));
-			} else if (DATA_SCOPE_DEPT.equals(dataScope)) {
-				sqlString.append(StringUtils.format(" OR {}dept_id = {} ",
-					deptAlias, user.getDeptId()));
-			} else if (DATA_SCOPE_DEPT_AND_CHILD.equals(dataScope)) {
-				sqlString.append(StringUtils.format(
-					" OR {}dept_id IN ( SELECT dept_id FROM sys_dept WHERE dept_id = {} or find_in_set( {} , ancestors ) )",
-					deptAlias, user.getDeptId(), user.getDeptId()));
-			} else if (DATA_SCOPE_SELF.equals(dataScope)) {
-				if (isUser) {
-					sqlString.append(StringUtils.format(" OR {}user_id = {} ",
-						userAlias, user.getUserId()));
-				} else {
-					// 鏁版嵁鏉冮檺涓轰粎鏈汉涓旀病鏈塽serAlias鍒悕涓嶆煡璇换浣曟暟鎹�
-					sqlString.append(" OR 1=0 ");
-				}
-			}
-		}
-
-		if (StringUtils.isNotBlank(sqlString.toString())) {
-			putDataScope(joinPoint, sqlString.substring(4));
-		}
-	}
-
-	/**
-	 * 鎷兼帴鏉冮檺sql鍓嶅厛娓呯┖params.dataScope鍙傛暟闃叉娉ㄥ叆
-	 */
-	private void clearDataScope(final JoinPoint joinPoint) {
-		Object params = joinPoint.getArgs()[0];
-		if (StringUtils.isNotNull(params)) {
-			putDataScope(joinPoint, "");
-		}
-	}
-
-	private static void putDataScope(JoinPoint joinPoint, String sql) {
-		Object params = joinPoint.getArgs()[0];
-		if (StringUtils.isNotNull(params)) {
-			if (params instanceof BaseEntity) {
-				BaseEntity baseEntity = (BaseEntity) params;
-				baseEntity.getParams().put(DATA_SCOPE, sql);
-			}
-		}
-	}
-}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/handler/CreateAndUpdateMetaObjectHandler.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/handler/CreateAndUpdateMetaObjectHandler.java
index 87781eb..f311a65 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/handler/CreateAndUpdateMetaObjectHandler.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/handler/CreateAndUpdateMetaObjectHandler.java
@@ -72,18 +72,18 @@
         }
     }
 
-	/**
-	 * 鑾峰彇鐧诲綍鐢ㄦ埛鍚�
-	 */
-	private String getLoginUsername() {
-		LoginUser loginUser;
-		try {
+    /**
+     * 鑾峰彇鐧诲綍鐢ㄦ埛鍚�
+     */
+    private String getLoginUsername() {
+        LoginUser loginUser;
+        try {
             loginUser = LoginUtils.getLoginUser();
-		} catch (Exception e) {
-			log.warn("鑷姩娉ㄥ叆璀﹀憡 => 鐢ㄦ埛鏈櫥褰�");
-			return null;
-		}
-		return loginUser.getUsername();
-	}
+        } catch (Exception e) {
+            log.warn("鑷姩娉ㄥ叆璀﹀憡 => 鐢ㄦ埛鏈櫥褰�");
+            return null;
+        }
+        return loginUser.getUsername();
+    }
 
 }
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/listener/UserActionListener.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/listener/UserActionListener.java
index 95837fe..15b04d8 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/listener/UserActionListener.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/listener/UserActionListener.java
@@ -12,10 +12,10 @@
 import com.ruoyi.common.core.service.UserService;
 import com.ruoyi.common.enums.UserType;
 import com.ruoyi.common.utils.LoginUtils;
-import com.ruoyi.common.utils.RedisUtils;
 import com.ruoyi.common.utils.ServletUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.ip.AddressUtils;
+import com.ruoyi.common.utils.redis.RedisUtils;
 import com.ruoyi.common.utils.spring.SpringUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -45,18 +45,18 @@
             SysUser user = SpringUtils.getBean(UserService.class).selectUserById(LoginUtils.getUserId());
             String tokenValue = StpUtil.getTokenValue();
             UserOnlineDTO userOnlineDTO = new UserOnlineDTO()
-                    .setIpaddr(ip)
-                    .setLoginLocation(AddressUtils.getRealAddressByIP(ip))
-                    .setBrowser(userAgent.getBrowser().getName())
-                    .setOs(userAgent.getOs().getName())
-                    .setLoginTime(System.currentTimeMillis())
-                    .setTokenId(tokenValue)
-                    .setUserName(user.getUserName());
+                .setIpaddr(ip)
+                .setLoginLocation(AddressUtils.getRealAddressByIP(ip))
+                .setBrowser(userAgent.getBrowser().getName())
+                .setOs(userAgent.getOs().getName())
+                .setLoginTime(System.currentTimeMillis())
+                .setTokenId(tokenValue)
+                .setUserName(user.getUserName());
             if (StringUtils.isNotNull(user.getDept())) {
                 userOnlineDTO.setDeptName(user.getDept().getDeptName());
             }
             RedisUtils.setCacheObject(Constants.ONLINE_TOKEN_KEY + tokenValue, userOnlineDTO, saTokenConfig.getTimeout(), TimeUnit.SECONDS);
-            log.info("user doLogin, useId:{}, token:{}", loginId, tokenValue);
+            log.info("user doLogin, useId:{}, token:{}" , loginId, tokenValue);
         } else if (userType == UserType.APP_USER) {
             // app绔� 鑷鏍规嵁涓氬姟缂栧啓
         }
@@ -68,7 +68,7 @@
     @Override
     public void doLogout(String loginType, Object loginId, String tokenValue) {
         RedisUtils.deleteObject(Constants.ONLINE_TOKEN_KEY + tokenValue);
-        log.info("user doLogout, useId:{}, token:{}", loginId, tokenValue);
+        log.info("user doLogout, useId:{}, token:{}" , loginId, tokenValue);
     }
 
     /**
@@ -77,7 +77,7 @@
     @Override
     public void doKickout(String loginType, Object loginId, String tokenValue) {
         RedisUtils.deleteObject(Constants.ONLINE_TOKEN_KEY + tokenValue);
-        log.info("user doLogoutByLoginId, useId:{}, token:{}", loginId, tokenValue);
+        log.info("user doLogoutByLoginId, useId:{}, token:{}" , loginId, tokenValue);
     }
 
     /**
@@ -86,7 +86,7 @@
     @Override
     public void doReplaced(String loginType, Object loginId, String tokenValue) {
         RedisUtils.deleteObject(Constants.ONLINE_TOKEN_KEY + tokenValue);
-        log.info("user doReplaced, useId:{}, token:{}", loginId, tokenValue);
+        log.info("user doReplaced, useId:{}, token:{}" , loginId, tokenValue);
     }
 
     /**
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/satoken/dao/PlusSaTokenDao.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/satoken/dao/PlusSaTokenDao.java
index 556133c..174cd0f 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/satoken/dao/PlusSaTokenDao.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/satoken/dao/PlusSaTokenDao.java
@@ -2,7 +2,7 @@
 
 import cn.dev33.satoken.dao.SaTokenDao;
 import cn.dev33.satoken.util.SaFoxUtil;
-import com.ruoyi.common.utils.RedisUtils;
+import com.ruoyi.common.utils.redis.RedisUtils;
 import org.springframework.stereotype.Component;
 
 import java.util.ArrayList;
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java
index 60979dd..cfa7243 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java
@@ -3,13 +3,10 @@
 import cn.dev33.satoken.exception.NotLoginException;
 import cn.dev33.satoken.exception.NotPermissionException;
 import cn.dev33.satoken.exception.NotRoleException;
-import cn.dev33.satoken.stp.StpUtil;
 import cn.hutool.http.HttpStatus;
-import com.ruoyi.common.constant.Constants;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.exception.DemoModeException;
 import com.ruoyi.common.exception.ServiceException;
-import com.ruoyi.common.utils.RedisUtils;
 import com.ruoyi.common.utils.StringUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.context.support.DefaultMessageSourceResolvable;
diff --git a/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm b/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
index 279144d..02fe3ed 100644
--- a/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
+++ b/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
@@ -541,7 +541,7 @@
       });
     },
 #if($table.sub)
-	/** ${subTable.functionName}搴忓彿 */
+    /** ${subTable.functionName}搴忓彿 */
     row${subClassName}Index({ row, rowIndex }) {
       row.index = rowIndex + 1;
     },
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java
index 3ef0900..0905ebc 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java
@@ -9,13 +9,13 @@
 import com.ruoyi.common.enums.DeviceType;
 import com.ruoyi.common.enums.UserStatus;
 import com.ruoyi.common.enums.UserType;
-import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.exception.user.CaptchaException;
 import com.ruoyi.common.exception.user.CaptchaExpireException;
 import com.ruoyi.common.exception.user.UserException;
 import com.ruoyi.common.utils.*;
-import lombok.extern.slf4j.Slf4j;
+import com.ruoyi.common.utils.redis.RedisUtils;
 import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
 import javax.servlet.http.HttpServletRequest;
@@ -110,7 +110,6 @@
      * @param username 鐢ㄦ埛鍚�
      * @param code     楠岃瘉鐮�
      * @param uuid     鍞竴鏍囪瘑
-     * @return 缁撴灉
      */
     public void validateCaptcha(String username, String code, String uuid, HttpServletRequest request) {
         String verifyKey = Constants.CAPTCHA_CODE_KEY + uuid;
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysSensitiveServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysSensitiveServiceImpl.java
index 242befb..7062d96 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysSensitiveServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysSensitiveServiceImpl.java
@@ -1,6 +1,7 @@
 package com.ruoyi.system.service.impl;
 
 import com.ruoyi.common.core.service.SensitiveService;
+import com.ruoyi.common.utils.LoginUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import org.springframework.stereotype.Service;
 
@@ -20,7 +21,7 @@
      */
     @Override
     public boolean isSensitive() {
-        return SecurityUtils.isAdmin(SecurityUtils.getUserId());
+        return SecurityUtils.isAdmin(LoginUtils.getUserId());
     }
 
 }

--
Gitblit v1.9.3