patch: 日志修补,增加Redis
This commit is contained in:
parent
73cea8544b
commit
1a12bcc49d
@ -71,7 +71,11 @@ public class AuthControllerAspect {
|
|||||||
"&& !execution(* com.jsl.oa.controllers.AuthController.authLoginByEmail(..))" +
|
"&& !execution(* com.jsl.oa.controllers.AuthController.authLoginByEmail(..))" +
|
||||||
"&& !execution(* com.jsl.oa.controllers.AuthController.authForgetPassword(..))" +
|
"&& !execution(* com.jsl.oa.controllers.AuthController.authForgetPassword(..))" +
|
||||||
"&& !execution(* com.jsl.oa.controllers.AuthController.authLogin(..))" +
|
"&& !execution(* com.jsl.oa.controllers.AuthController.authLogin(..))" +
|
||||||
"&& !execution(* com.jsl.oa.controllers.AuthController.authRegister(..))")
|
"&& !execution(* com.jsl.oa.controllers.AuthController.authRegister(..)) " +
|
||||||
|
"&& !execution(* com.jsl.oa.controllers.IndexController.*(..)) " +
|
||||||
|
"&& !execution(* com.jsl.oa.controllers.CustomController.*(..)) " +
|
||||||
|
"&& !execution(* com.jsl.oa.controllers.InfoController.infoGetHeaderImage(..)) " +
|
||||||
|
"&& !execution(* com.jsl.oa.controllers.InfoController.infoGetHeaderUser(..))")
|
||||||
public Object tokenControllerAround(ProceedingJoinPoint pjp) throws Throwable {
|
public Object tokenControllerAround(ProceedingJoinPoint pjp) throws Throwable {
|
||||||
// 获取 HttpServletRequest 对象
|
// 获取 HttpServletRequest 对象
|
||||||
HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
|
HttpServletRequest request = ((ServletRequestAttributes) Objects.requireNonNull(RequestContextHolder.getRequestAttributes())).getRequest();
|
||||||
|
@ -3,11 +3,19 @@ package com.jsl.oa.common.constant;
|
|||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* <h1>业务常量</h1>
|
||||||
|
* <hr/>
|
||||||
|
* 业务常量
|
||||||
*
|
*
|
||||||
|
* @since v1.1.0
|
||||||
|
* @version v1.1.0
|
||||||
|
* @author xiao_lfeng
|
||||||
*/
|
*/
|
||||||
@Getter
|
@Getter
|
||||||
public enum BusinessConstants {
|
public enum BusinessConstants {
|
||||||
BUSINESS_LOGIN("login:", "登陆实现"),
|
BUSINESS_LOGIN("login:", "登陆实现"),
|
||||||
|
ALL_PERMISSION("all:", "所有权限"),
|
||||||
|
USER("user:", "用户"),
|
||||||
NONE("", "null");
|
NONE("", "null");
|
||||||
|
|
||||||
private final String value;
|
private final String value;
|
||||||
|
@ -5,7 +5,7 @@ import com.google.gson.reflect.TypeToken;
|
|||||||
import com.jsl.oa.common.constant.BusinessConstants;
|
import com.jsl.oa.common.constant.BusinessConstants;
|
||||||
import com.jsl.oa.mapper.PermissionMapper;
|
import com.jsl.oa.mapper.PermissionMapper;
|
||||||
import com.jsl.oa.model.doData.PermissionDO;
|
import com.jsl.oa.model.doData.PermissionDO;
|
||||||
import com.jsl.oa.utils.redis.PermissionRedisUtil;
|
import com.jsl.oa.utils.redis.RoleRedisUtil;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
@ -28,7 +28,7 @@ import java.util.List;
|
|||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class PermissionDAO {
|
public class PermissionDAO {
|
||||||
private final PermissionMapper permissionMapper;
|
private final PermissionMapper permissionMapper;
|
||||||
private final PermissionRedisUtil<String> permissionRedisUtil;
|
private final RoleRedisUtil<String> roleRedisUtil;
|
||||||
private final Gson gson;
|
private final Gson gson;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -42,27 +42,14 @@ public class PermissionDAO {
|
|||||||
public List<String> getPermission(@NotNull Long uid) {
|
public List<String> getPermission(@NotNull Long uid) {
|
||||||
log.info("\t> 执行 DAO 层 PermissionDAO.getPermission 方法");
|
log.info("\t> 执行 DAO 层 PermissionDAO.getPermission 方法");
|
||||||
List<String> getPermissionForString;
|
List<String> getPermissionForString;
|
||||||
String permissionRedisString = permissionRedisUtil.getData(BusinessConstants.NONE, uid.toString());
|
String permissionRedisString = roleRedisUtil.getData(BusinessConstants.NONE, uid.toString());
|
||||||
if (permissionRedisString == null) {
|
if (permissionRedisString == null) {
|
||||||
log.info("\t\t> 从 MySQL 获取数据");
|
log.info("\t\t> 从 MySQL 获取数据");
|
||||||
List<PermissionDO> permissionList = permissionMapper.permissionUserPid(uid);
|
List<PermissionDO> permissionList = permissionMapper.permissionUserPid(uid);
|
||||||
getPermissionForString = new ArrayList<>();
|
getPermissionForString = new ArrayList<>();
|
||||||
for (PermissionDO permission : permissionList) {
|
forPermissionToBuildString(permissionList, getPermissionForString);
|
||||||
// 寻找是否存在父亲
|
|
||||||
StringBuilder permissionString = new StringBuilder();
|
|
||||||
if (permission.getPid() != null) {
|
|
||||||
// 存在父亲
|
|
||||||
this.getFatherPermission(permissionString, permission.getPid());
|
|
||||||
} else {
|
|
||||||
// 不存在父亲
|
|
||||||
permissionString.append(permission.getName());
|
|
||||||
}
|
|
||||||
// 寻找子类
|
|
||||||
this.getChildPermission(permissionString, permission.getId(), getPermissionForString);
|
|
||||||
getPermissionForString.add(permissionString.toString());
|
|
||||||
}
|
|
||||||
// 存入 Redis
|
// 存入 Redis
|
||||||
permissionRedisUtil.setData(BusinessConstants.NONE, uid.toString(), gson.toJson(getPermissionForString), 1440);
|
roleRedisUtil.setData(BusinessConstants.NONE, uid.toString(), gson.toJson(getPermissionForString), 1440);
|
||||||
} else {
|
} else {
|
||||||
log.info("\t\t> 从 Redis 获取数据");
|
log.info("\t\t> 从 Redis 获取数据");
|
||||||
getPermissionForString = gson.fromJson(permissionRedisString, new TypeToken<List<String>>() {}.getType());
|
getPermissionForString = gson.fromJson(permissionRedisString, new TypeToken<List<String>>() {}.getType());
|
||||||
@ -70,14 +57,83 @@ public class PermissionDAO {
|
|||||||
return getPermissionForString;
|
return getPermissionForString;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<String> getAllPermissionBuildString() {
|
||||||
|
log.info("\t> 执行 DAO 层 PermissionDAO.getPermission 方法");
|
||||||
|
List<String> getPermissionForString;
|
||||||
|
String getRedisData = roleRedisUtil.getData(BusinessConstants.ALL_PERMISSION, "string");
|
||||||
|
if (getRedisData == null) {
|
||||||
|
log.info("\t\t> 从 MySQL 获取数据");
|
||||||
|
List<PermissionDO> permissionList = permissionMapper.getAllPermission();
|
||||||
|
permissionList.removeIf(it -> it.getPid() != null);
|
||||||
|
getPermissionForString = new ArrayList<>();
|
||||||
|
forPermissionToBuildString(permissionList, getPermissionForString);
|
||||||
|
// 存入 Redis
|
||||||
|
roleRedisUtil.setData(BusinessConstants.ALL_PERMISSION, "string", gson.toJson(getPermissionForString), 1440);
|
||||||
|
} else {
|
||||||
|
log.info("\t\t> 从 Redis 获取数据");
|
||||||
|
getPermissionForString = gson.fromJson(getRedisData, new TypeToken<List<String>>() {}.getType());
|
||||||
|
}
|
||||||
|
return getPermissionForString;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<PermissionDO> getRootPermission() {
|
||||||
|
log.info("\t> 执行 DAO 层 PermissionDAO.getRootPermission 方法");
|
||||||
|
String getRedisData = roleRedisUtil.getData(BusinessConstants.ALL_PERMISSION, "all");
|
||||||
|
if (getRedisData == null) {
|
||||||
|
log.info("\t\t> 从 MySQL 获取数据");
|
||||||
|
List<PermissionDO> permissionList = permissionMapper.getAllPermission();
|
||||||
|
if (!permissionList.isEmpty()) {
|
||||||
|
List<PermissionDO> getPermissionList = new ArrayList<>();
|
||||||
|
for (PermissionDO permission : permissionList) {
|
||||||
|
if (permission.getPid() == null) {
|
||||||
|
getPermissionList.add(permission);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
roleRedisUtil.setData(BusinessConstants.ALL_PERMISSION, "all", gson.toJson(getPermissionList), 1440);
|
||||||
|
return getPermissionList;
|
||||||
|
} else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
log.info("\t\t> 从 Redis 获取数据");
|
||||||
|
return gson.fromJson(getRedisData, new TypeToken<List<PermissionDO>>() {
|
||||||
|
}.getType());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <h2>获取全部权限信息</h2>
|
||||||
|
* <hr/>
|
||||||
|
* 获取全部权限信息
|
||||||
|
*
|
||||||
|
* @param permissionList 权限信息
|
||||||
|
* @param getPermissionForString 存储权限信息
|
||||||
|
*/
|
||||||
|
private void forPermissionToBuildString(@NotNull List<PermissionDO> permissionList, List<String> getPermissionForString) {
|
||||||
|
for (PermissionDO permission : permissionList) {
|
||||||
|
// 寻找是否存在父亲
|
||||||
|
StringBuilder permissionString = new StringBuilder();
|
||||||
|
if (permission.getPid() != null) {
|
||||||
|
// 存在父亲
|
||||||
|
this.getFatherPermission(permissionString, permission.getPid());
|
||||||
|
} else {
|
||||||
|
// 不存在父亲
|
||||||
|
permissionString.append(permission.getName());
|
||||||
|
}
|
||||||
|
// 寻找子类
|
||||||
|
this.getChildPermission(permissionString, permission.getId(), getPermissionForString);
|
||||||
|
getPermissionForString.add(permissionString.toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <h2>获取子类权限信息</h2>
|
* <h2>获取子类权限信息</h2>
|
||||||
* <hr/>
|
* <hr/>
|
||||||
* 通过父类 ID 获取子类权限信息<br/>
|
* 通过父类 ID 获取子类权限信息<br/>
|
||||||
* 递归调用
|
* 递归调用
|
||||||
*
|
*
|
||||||
* @param permissionString 父类权限信息
|
* @param permissionString 父类权限信息
|
||||||
* @param id 父类 ID
|
* @param id 父类 ID
|
||||||
* @param getPermissionForString 存储权限信息
|
* @param getPermissionForString 存储权限信息
|
||||||
*/
|
*/
|
||||||
private void getChildPermission(StringBuilder permissionString, Long id, List<String> getPermissionForString) {
|
private void getChildPermission(StringBuilder permissionString, Long id, List<String> getPermissionForString) {
|
||||||
@ -111,7 +167,7 @@ public class PermissionDAO {
|
|||||||
* 递归调用
|
* 递归调用
|
||||||
*
|
*
|
||||||
* @param permissionString 父类权限信息
|
* @param permissionString 父类权限信息
|
||||||
* @param pid 父类 ID
|
* @param pid 父类 ID
|
||||||
*/
|
*/
|
||||||
public void getFatherPermission(StringBuilder permissionString, Long pid) {
|
public void getFatherPermission(StringBuilder permissionString, Long pid) {
|
||||||
// 获取权限信息
|
// 获取权限信息
|
||||||
|
@ -1,7 +1,12 @@
|
|||||||
package com.jsl.oa.dao;
|
package com.jsl.oa.dao;
|
||||||
|
|
||||||
|
import com.google.gson.Gson;
|
||||||
|
import com.google.gson.reflect.TypeToken;
|
||||||
|
import com.jsl.oa.common.constant.BusinessConstants;
|
||||||
import com.jsl.oa.mapper.RoleMapper;
|
import com.jsl.oa.mapper.RoleMapper;
|
||||||
import com.jsl.oa.model.doData.RoleDO;
|
import com.jsl.oa.model.doData.RoleDO;
|
||||||
|
import com.jsl.oa.model.doData.RoleUserDO;
|
||||||
|
import com.jsl.oa.utils.redis.RoleRedisUtil;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
@ -14,6 +19,8 @@ import java.util.List;
|
|||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class RoleDAO {
|
public class RoleDAO {
|
||||||
public final RoleMapper roleMapper;
|
public final RoleMapper roleMapper;
|
||||||
|
private final Gson gson;
|
||||||
|
private final RoleRedisUtil<String> roleRedisUtil;
|
||||||
|
|
||||||
public void roleAddUser(Long uid, Long rid) {
|
public void roleAddUser(Long uid, Long rid) {
|
||||||
log.info("\t> 执行 DAO 层 RoleDAO.roleAddUser 方法");
|
log.info("\t> 执行 DAO 层 RoleDAO.roleAddUser 方法");
|
||||||
@ -37,32 +44,67 @@ public class RoleDAO {
|
|||||||
|
|
||||||
public RoleDO getRoleById(Long id) {
|
public RoleDO getRoleById(Long id) {
|
||||||
log.info("\t> 执行 DAO 层 RoleDAO.getRoleById 方法");
|
log.info("\t> 执行 DAO 层 RoleDAO.getRoleById 方法");
|
||||||
log.info("\t\t> 从 MySQL 获取数据");
|
String getRedisData = roleRedisUtil.getData(BusinessConstants.NONE, "all");
|
||||||
return roleMapper.getRoleById(id);
|
if (getRedisData == null) {
|
||||||
|
log.info("\t\t> 从 MySQL 获取数据");
|
||||||
|
return roleMapper.getRoleById(id);
|
||||||
|
} else {
|
||||||
|
log.info("\t\t> 从 Redis 获取数据");
|
||||||
|
List<RoleDO> roleList = gson.fromJson(getRedisData, new TypeToken<List<RoleDO>>() {}.getType());
|
||||||
|
for (RoleDO roleDO : roleList) {
|
||||||
|
if (roleDO.getId().equals(id)) {
|
||||||
|
return roleDO;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<RoleDO> getRole() {
|
public List<RoleDO> getRole() {
|
||||||
log.info("\t> 执行 DAO 层 RoleDAO.getRole 方法");
|
log.info("\t> 执行 DAO 层 RoleDAO.getRole 方法");
|
||||||
log.info("\t\t> 从 MySQL 获取数据");
|
String getRedisData = roleRedisUtil.getData(BusinessConstants.NONE, "all");
|
||||||
return roleMapper.getRole();
|
if (getRedisData == null) {
|
||||||
|
log.info("\t\t> 从 MySQL 获取数据");
|
||||||
|
List<RoleDO> roleList = roleMapper.getRole();
|
||||||
|
roleRedisUtil.setData(BusinessConstants.NONE, "all", gson.toJson(roleList), 1440);
|
||||||
|
return roleList;
|
||||||
|
} else {
|
||||||
|
log.info("\t\t> 从 Redis 获取数据");
|
||||||
|
return gson.fromJson(getRedisData, new TypeToken<List<RoleDO>>() {}.getType());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void roleAdd(RoleDO roleDO) {
|
public void roleAdd(RoleDO roleDO) {
|
||||||
log.info("\t> 执行 DAO 层 RoleDAO.roleAdd 方法");
|
log.info("\t> 执行 DAO 层 RoleDAO.roleAdd 方法");
|
||||||
log.info("\t\t> 从 MySQL 获取数据");
|
log.info("\t\t> 从 MySQL 获取数据");
|
||||||
roleMapper.roleAdd(roleDO);
|
roleMapper.roleAdd(roleDO);
|
||||||
|
List<RoleDO> roleList = roleMapper.getRole();
|
||||||
|
roleRedisUtil.setData(BusinessConstants.NONE, "all", gson.toJson(roleList), 1440);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean roleEdit(RoleDO getRole) {
|
public boolean roleEdit(RoleDO getRole) {
|
||||||
log.info("\t> 执行 DAO 层 RoleDAO.roleEdit 方法");
|
log.info("\t> 执行 DAO 层 RoleDAO.roleEdit 方法");
|
||||||
log.info("\t\t> 从 MySQL 获取数据");
|
log.info("\t\t> 从 MySQL 获取数据");
|
||||||
return roleMapper.roleEdit(getRole);
|
if (roleMapper.roleEdit(getRole)) {
|
||||||
|
List<RoleDO> roleList = roleMapper.getRole();
|
||||||
|
roleRedisUtil.setData(BusinessConstants.NONE, "all", gson.toJson(roleList), 1440);
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean roleDelete(Long id) {
|
public boolean roleDelete(Long id) {
|
||||||
log.info("\t> 执行 DAO 层 RoleDAO.roleDelete 方法");
|
log.info("\t> 执行 DAO 层 RoleDAO.roleDelete 方法");
|
||||||
log.info("\t\t> 从 MySQL 获取数据");
|
log.info("\t\t> 从 MySQL 获取数据");
|
||||||
return roleMapper.roleDelete(id);
|
if (roleMapper.roleDelete(id)) {
|
||||||
|
List<RoleDO> roleList = roleMapper.getRole();
|
||||||
|
roleRedisUtil.setData(BusinessConstants.NONE, "all", gson.toJson(roleList), 1440);
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isExistRoleByRoleName(String roleName) {
|
public boolean isExistRoleByRoleName(String roleName) {
|
||||||
@ -77,4 +119,10 @@ public class RoleDAO {
|
|||||||
log.info("\t\t> 从 MySQL 获取数据");
|
log.info("\t\t> 从 MySQL 获取数据");
|
||||||
return roleMapper.roleChangeUser(uid, rid);
|
return roleMapper.roleChangeUser(uid, rid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public RoleUserDO getRoleUserByUid(Long uid) {
|
||||||
|
log.info("\t> 执行 DAO 层 RoleDAO.getRoleUserByUid 方法");
|
||||||
|
log.info("\t\t> 从 MySQL 获取数据");
|
||||||
|
return roleMapper.getRoleUserByUid(uid);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,6 @@ package com.jsl.oa.dao;
|
|||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.jsl.oa.common.constant.BusinessConstants;
|
import com.jsl.oa.common.constant.BusinessConstants;
|
||||||
import com.jsl.oa.mapper.RoleMapper;
|
|
||||||
import com.jsl.oa.mapper.UserMapper;
|
import com.jsl.oa.mapper.UserMapper;
|
||||||
import com.jsl.oa.model.doData.RoleDO;
|
import com.jsl.oa.model.doData.RoleDO;
|
||||||
import com.jsl.oa.model.doData.RoleUserDO;
|
import com.jsl.oa.model.doData.RoleUserDO;
|
||||||
@ -26,7 +25,8 @@ import java.util.List;
|
|||||||
public class UserDAO {
|
public class UserDAO {
|
||||||
|
|
||||||
public final UserMapper userMapper;
|
public final UserMapper userMapper;
|
||||||
private final RoleMapper roleMapper;
|
private final RoleDAO roleDAO;
|
||||||
|
private final PermissionDAO permissionDAO;
|
||||||
private final Gson gson;
|
private final Gson gson;
|
||||||
private final UserRedisUtil<String> userRedisUtil;
|
private final UserRedisUtil<String> userRedisUtil;
|
||||||
|
|
||||||
@ -126,7 +126,7 @@ public class UserDAO {
|
|||||||
List<UserDO> userCurrentDO = userMapper.getAllUser(userAllCurrentVO);
|
List<UserDO> userCurrentDO = userMapper.getAllUser(userAllCurrentVO);
|
||||||
List<UserCurrentBackVO> userCurrentDOList = new ArrayList<>();
|
List<UserCurrentBackVO> userCurrentDOList = new ArrayList<>();
|
||||||
userCurrentDO.forEach(it -> {
|
userCurrentDO.forEach(it -> {
|
||||||
userCurrentDOList.add(Processing.ReturnUserInfo(it, roleMapper));
|
userCurrentDOList.add(Processing.returnUserInfo(it, roleDAO, permissionDAO));
|
||||||
});
|
});
|
||||||
return userCurrentDOList;
|
return userCurrentDOList;
|
||||||
|
|
||||||
@ -138,7 +138,7 @@ public class UserDAO {
|
|||||||
List<UserDO> userCurrentDO = userMapper.getAllUserBySearch(userAllCurrentVO);
|
List<UserDO> userCurrentDO = userMapper.getAllUserBySearch(userAllCurrentVO);
|
||||||
List<UserCurrentBackVO> userCurrentDOList = new ArrayList<>();
|
List<UserCurrentBackVO> userCurrentDOList = new ArrayList<>();
|
||||||
userCurrentDO.forEach(it -> {
|
userCurrentDO.forEach(it -> {
|
||||||
userCurrentDOList.add(Processing.ReturnUserInfo(it, roleMapper));
|
userCurrentDOList.add(Processing.returnUserInfo(it, roleDAO, permissionDAO));
|
||||||
});
|
});
|
||||||
return userCurrentDOList;
|
return userCurrentDOList;
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
package com.jsl.oa.services.impl;
|
package com.jsl.oa.services.impl;
|
||||||
|
|
||||||
|
import com.jsl.oa.annotations.CheckUserAbleToUse;
|
||||||
import com.jsl.oa.common.constant.BusinessConstants;
|
import com.jsl.oa.common.constant.BusinessConstants;
|
||||||
import com.jsl.oa.mapper.RoleMapper;
|
import com.jsl.oa.dao.PermissionDAO;
|
||||||
|
import com.jsl.oa.dao.RoleDAO;
|
||||||
import com.jsl.oa.mapper.UserMapper;
|
import com.jsl.oa.mapper.UserMapper;
|
||||||
import com.jsl.oa.model.doData.RoleUserDO;
|
import com.jsl.oa.model.doData.RoleUserDO;
|
||||||
import com.jsl.oa.model.doData.UserDO;
|
import com.jsl.oa.model.doData.UserDO;
|
||||||
@ -19,7 +21,7 @@ import org.springframework.stereotype.Service;
|
|||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.sql.Timestamp;
|
import java.sql.Timestamp;
|
||||||
import java.util.ArrayList;
|
import java.util.List;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -30,13 +32,15 @@ import java.util.regex.Pattern;
|
|||||||
* @version v1.1.0
|
* @version v1.1.0
|
||||||
* @see AuthService
|
* @see AuthService
|
||||||
* @since v1.0.0
|
* @since v1.0.0
|
||||||
|
* @author xiao_lfeng
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class AuthServiceImpl implements AuthService {
|
public class AuthServiceImpl implements AuthService {
|
||||||
private final UserMapper userMapper;
|
private final UserMapper userMapper;
|
||||||
private final RoleMapper roleMapper;
|
private final RoleDAO roleDAO;
|
||||||
|
private final PermissionDAO permissionDAO;
|
||||||
|
|
||||||
private final MailService mailService;
|
private final MailService mailService;
|
||||||
private final EmailRedisUtil<Integer> emailRedisUtil;
|
private final EmailRedisUtil<Integer> emailRedisUtil;
|
||||||
@ -167,6 +171,7 @@ public class AuthServiceImpl implements AuthService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@CheckUserAbleToUse
|
||||||
public BaseResponse authChangePassword(HttpServletRequest request, @NotNull UserChangePasswordVO userChangePasswordVO) {
|
public BaseResponse authChangePassword(HttpServletRequest request, @NotNull UserChangePasswordVO userChangePasswordVO) {
|
||||||
log.info("\t> 执行 Service 层 AuthService.authChangePassword 方法");
|
log.info("\t> 执行 Service 层 AuthService.authChangePassword 方法");
|
||||||
// 检查新密码输入无误
|
// 检查新密码输入无误
|
||||||
@ -193,6 +198,7 @@ public class AuthServiceImpl implements AuthService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@CheckUserAbleToUse
|
||||||
public BaseResponse authLogout(HttpServletRequest request) {
|
public BaseResponse authLogout(HttpServletRequest request) {
|
||||||
log.info("\t> 执行 Service 层 AuthService.authLogout 方法");
|
log.info("\t> 执行 Service 层 AuthService.authLogout 方法");
|
||||||
// 获取用户
|
// 获取用户
|
||||||
@ -206,7 +212,7 @@ public class AuthServiceImpl implements AuthService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BaseResponse authForgetPassword(UserForgetPasswordVO userForgetPasswordVO) {
|
public BaseResponse authForgetPassword(@NotNull UserForgetPasswordVO userForgetPasswordVO) {
|
||||||
log.info("\t> 执行 Service 层 AuthService.authForgetPassword 方法");
|
log.info("\t> 执行 Service 层 AuthService.authForgetPassword 方法");
|
||||||
// 获取验证码是否有效
|
// 获取验证码是否有效
|
||||||
Integer redisCode = emailRedisUtil.getData(BusinessConstants.BUSINESS_LOGIN, userForgetPasswordVO.getEmail());
|
Integer redisCode = emailRedisUtil.getData(BusinessConstants.BUSINESS_LOGIN, userForgetPasswordVO.getEmail());
|
||||||
@ -242,8 +248,17 @@ public class AuthServiceImpl implements AuthService {
|
|||||||
UserReturnBackVO userReturnBackVO = new UserReturnBackVO();
|
UserReturnBackVO userReturnBackVO = new UserReturnBackVO();
|
||||||
// Token 上传到 Redis
|
// Token 上传到 Redis
|
||||||
tokenRedisUtil.setData(BusinessConstants.BUSINESS_LOGIN, userDO.getId().toString(), token, 1440);
|
tokenRedisUtil.setData(BusinessConstants.BUSINESS_LOGIN, userDO.getId().toString(), token, 1440);
|
||||||
|
RoleUserDO roleUserDO = roleDAO.getRoleUserByUid(userDO.getId());
|
||||||
|
List<String> getPermissionForString;
|
||||||
|
if (roleUserDO != null) {
|
||||||
|
// 获取全部根权限
|
||||||
|
getPermissionForString = permissionDAO.getAllPermissionBuildString();
|
||||||
|
} else {
|
||||||
|
// 获取权限列表信息
|
||||||
|
getPermissionForString = permissionDAO.getPermission(userDO.getId());
|
||||||
|
}
|
||||||
// 获取用户角色
|
// 获取用户角色
|
||||||
RoleUserDO getUserRole = roleMapper.getRoleUserByUid(userDO.getId());
|
RoleUserDO getUserRole = roleDAO.roleMapper.getRoleUserByUid(userDO.getId());
|
||||||
if (getUserRole == null) {
|
if (getUserRole == null) {
|
||||||
getUserRole = new RoleUserDO();
|
getUserRole = new RoleUserDO();
|
||||||
getUserRole.setRid(0L)
|
getUserRole.setRid(0L)
|
||||||
@ -260,7 +275,7 @@ public class AuthServiceImpl implements AuthService {
|
|||||||
.setRole(new UserReturnBackVO.ReturnUserRole()
|
.setRole(new UserReturnBackVO.ReturnUserRole()
|
||||||
.setRid(getUserRole.getRid()))
|
.setRid(getUserRole.getRid()))
|
||||||
.setToken(token)
|
.setToken(token)
|
||||||
.setPermission(new ArrayList<>());
|
.setPermission(getPermissionForString);
|
||||||
return ResultUtil.success("登陆成功", userReturnBackVO);
|
return ResultUtil.success("登陆成功", userReturnBackVO);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package com.jsl.oa.services.impl;
|
package com.jsl.oa.services.impl;
|
||||||
|
|
||||||
|
import com.jsl.oa.annotations.CheckUserHasPermission;
|
||||||
import com.jsl.oa.dao.InfoDAO;
|
import com.jsl.oa.dao.InfoDAO;
|
||||||
import com.jsl.oa.dao.UserDAO;
|
import com.jsl.oa.dao.UserDAO;
|
||||||
import com.jsl.oa.mapper.RoleMapper;
|
import com.jsl.oa.mapper.RoleMapper;
|
||||||
@ -21,6 +22,15 @@ import java.sql.Timestamp;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <h1>信息服务层实现类</h1>
|
||||||
|
* <hr/>
|
||||||
|
* 用于信息服务层的实现类
|
||||||
|
*
|
||||||
|
* @since v1.0.0
|
||||||
|
* @version v1.1.0
|
||||||
|
* @author xiao_lfeng
|
||||||
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
@ -30,6 +40,7 @@ public class InfoServiceImpl implements InfoService {
|
|||||||
private final UserDAO userDAO;
|
private final UserDAO userDAO;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@CheckUserHasPermission("")
|
||||||
public BaseResponse addHeaderImage(HttpServletRequest request, CarouselVO carouselVO) {
|
public BaseResponse addHeaderImage(HttpServletRequest request, CarouselVO carouselVO) {
|
||||||
log.info("\t> 执行 Service 层 InfoService.addHeaderImage 方法");
|
log.info("\t> 执行 Service 层 InfoService.addHeaderImage 方法");
|
||||||
// 用户权限校验
|
// 用户权限校验
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
package com.jsl.oa.services.impl;
|
package com.jsl.oa.services.impl;
|
||||||
|
|
||||||
|
import com.jsl.oa.annotations.CheckUserHasPermission;
|
||||||
import com.jsl.oa.dao.PermissionDAO;
|
import com.jsl.oa.dao.PermissionDAO;
|
||||||
|
import com.jsl.oa.dao.RoleDAO;
|
||||||
import com.jsl.oa.dao.UserDAO;
|
import com.jsl.oa.dao.UserDAO;
|
||||||
import com.jsl.oa.mapper.PermissionMapper;
|
import com.jsl.oa.mapper.PermissionMapper;
|
||||||
import com.jsl.oa.mapper.RoleMapper;
|
|
||||||
import com.jsl.oa.model.doData.PermissionDO;
|
import com.jsl.oa.model.doData.PermissionDO;
|
||||||
|
import com.jsl.oa.model.doData.RoleUserDO;
|
||||||
import com.jsl.oa.model.voData.PermissionContentVo;
|
import com.jsl.oa.model.voData.PermissionContentVo;
|
||||||
import com.jsl.oa.model.voData.PermissionEditVO;
|
import com.jsl.oa.model.voData.PermissionEditVO;
|
||||||
import com.jsl.oa.services.PermissionService;
|
import com.jsl.oa.services.PermissionService;
|
||||||
@ -19,32 +21,48 @@ import org.springframework.stereotype.Service;
|
|||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <h1>权限服务层实现类</h1>
|
||||||
|
* <hr/>
|
||||||
|
* 用于权限服务层的实现类,实现权限的增删改查,以及用户权限的获取
|
||||||
|
*
|
||||||
|
* @since v1.0.0
|
||||||
|
* @version v1.1.0
|
||||||
|
* @author xiao_lfeng | xiangZr-hhh | 176yunxuan
|
||||||
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class PermissionServiceImpl implements PermissionService {
|
public class PermissionServiceImpl implements PermissionService {
|
||||||
|
|
||||||
private final PermissionMapper permissionMapper;
|
private final PermissionMapper permissionMapper;
|
||||||
private final RoleMapper roleMapper;
|
private final RoleDAO roleDAO;
|
||||||
private final PermissionDAO permissionDAO;
|
private final PermissionDAO permissionDAO;
|
||||||
private final UserDAO userDAO;
|
private final UserDAO userDAO;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@CheckUserHasPermission("permission.add")
|
||||||
public BaseResponse permissionAdd(HttpServletRequest request, Long rid, Long pid) {
|
public BaseResponse permissionAdd(HttpServletRequest request, Long rid, Long pid) {
|
||||||
log.info("\t> 执行 Service 层 PermissionService.permissionAdd 方法");
|
log.info("\t> 执行 Service 层 PermissionService.permissionAdd 方法");
|
||||||
if (!Processing.checkUserIsAdmin(request, roleMapper)) {
|
|
||||||
return ResultUtil.error(ErrorCode.NOT_ADMIN);
|
|
||||||
}
|
|
||||||
permissionMapper.permissionAdd(rid, pid);
|
permissionMapper.permissionAdd(rid, pid);
|
||||||
return ResultUtil.success();
|
return ResultUtil.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@CheckUserHasPermission("permission.user")
|
||||||
public BaseResponse permissionUser(HttpServletRequest request, Long uid) {
|
public BaseResponse permissionUser(HttpServletRequest request, Long uid) {
|
||||||
log.info("\t> 执行 Service 层 PermissionService.permissionUserPid 方法");
|
log.info("\t> 执行 Service 层 PermissionService.permissionUserPid 方法");
|
||||||
if (userDAO.isExistUser(uid)) {
|
if (userDAO.isExistUser(uid)) {
|
||||||
// 获取权限列表信息
|
// 此用户是否为管理员
|
||||||
List<String> getPermissionForString = permissionDAO.getPermission(uid);
|
RoleUserDO roleUserDO = roleDAO.getRoleUserByUid(uid);
|
||||||
|
List<String> getPermissionForString;
|
||||||
|
if (roleUserDO != null) {
|
||||||
|
// 获取全部根权限
|
||||||
|
getPermissionForString = permissionDAO.getAllPermissionBuildString();
|
||||||
|
} else {
|
||||||
|
// 获取权限列表信息
|
||||||
|
getPermissionForString = permissionDAO.getPermission(uid);
|
||||||
|
}
|
||||||
return ResultUtil.success(getPermissionForString);
|
return ResultUtil.success(getPermissionForString);
|
||||||
}
|
}
|
||||||
return ResultUtil.error(ErrorCode.USER_NOT_EXIST);
|
return ResultUtil.error(ErrorCode.USER_NOT_EXIST);
|
||||||
@ -52,12 +70,9 @@ public class PermissionServiceImpl implements PermissionService {
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@CheckUserHasPermission("permission.get")
|
||||||
public BaseResponse permissionGet(HttpServletRequest request) {
|
public BaseResponse permissionGet(HttpServletRequest request) {
|
||||||
log.info("\t> 执行 Service 层 PermissionService.permissionGet 方法");
|
log.info("\t> 执行 Service 层 PermissionService.permissionGet 方法");
|
||||||
//检验用户权限是否为管理员
|
|
||||||
if (!Processing.checkUserIsAdmin(request, roleMapper)) {
|
|
||||||
return ResultUtil.error(ErrorCode.NOT_ADMIN);
|
|
||||||
}
|
|
||||||
//获取所有权限数据
|
//获取所有权限数据
|
||||||
List<PermissionDO> permissionDOList = permissionMapper.getAllPermission();
|
List<PermissionDO> permissionDOList = permissionMapper.getAllPermission();
|
||||||
//将数据按父子类封装
|
//将数据按父子类封装
|
||||||
@ -67,12 +82,9 @@ public class PermissionServiceImpl implements PermissionService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@CheckUserHasPermission("permission.edit")
|
||||||
public BaseResponse permissionEdit(PermissionEditVO permissionEditVo, HttpServletRequest request) {
|
public BaseResponse permissionEdit(PermissionEditVO permissionEditVo, HttpServletRequest request) {
|
||||||
log.info("\t> 执行 Service 层 PermissionService.permissionEdit 方法");
|
log.info("\t> 执行 Service 层 PermissionService.permissionEdit 方法");
|
||||||
//检验用户权限是否为管理员
|
|
||||||
if (!Processing.checkUserIsAdmin(request, roleMapper)) {
|
|
||||||
return ResultUtil.error(ErrorCode.NOT_ADMIN);
|
|
||||||
}
|
|
||||||
//根据id获取对应permission数据
|
//根据id获取对应permission数据
|
||||||
PermissionDO permissionDO = permissionMapper.getPermissionById(permissionEditVo.getId());
|
PermissionDO permissionDO = permissionMapper.getPermissionById(permissionEditVo.getId());
|
||||||
if (permissionDO == null) {
|
if (permissionDO == null) {
|
||||||
@ -88,12 +100,9 @@ public class PermissionServiceImpl implements PermissionService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@CheckUserHasPermission("permission.delete")
|
||||||
public BaseResponse permissionDelete(HttpServletRequest request, Long pid) {
|
public BaseResponse permissionDelete(HttpServletRequest request, Long pid) {
|
||||||
log.info("\t> 执行 Service 层 PermissionService.permissionDelete 方法");
|
log.info("\t> 执行 Service 层 PermissionService.permissionDelete 方法");
|
||||||
//检验用户权限是否为管理员
|
|
||||||
if (!Processing.checkUserIsAdmin(request, roleMapper)) {
|
|
||||||
return ResultUtil.error(ErrorCode.NOT_ADMIN);
|
|
||||||
}
|
|
||||||
//删除权限
|
//删除权限
|
||||||
if (!permissionMapper.deletePermission(pid)) {
|
if (!permissionMapper.deletePermission(pid)) {
|
||||||
return ResultUtil.error(ErrorCode.DATABASE_DELETE_ERROR);
|
return ResultUtil.error(ErrorCode.DATABASE_DELETE_ERROR);
|
||||||
|
@ -10,7 +10,10 @@ import com.jsl.oa.model.doData.RoleUserDO;
|
|||||||
import com.jsl.oa.model.doData.UserDO;
|
import com.jsl.oa.model.doData.UserDO;
|
||||||
import com.jsl.oa.model.voData.*;
|
import com.jsl.oa.model.voData.*;
|
||||||
import com.jsl.oa.services.UserService;
|
import com.jsl.oa.services.UserService;
|
||||||
import com.jsl.oa.utils.*;
|
import com.jsl.oa.utils.BaseResponse;
|
||||||
|
import com.jsl.oa.utils.ErrorCode;
|
||||||
|
import com.jsl.oa.utils.Processing;
|
||||||
|
import com.jsl.oa.utils.ResultUtil;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
@ -134,7 +137,7 @@ public class UserServiceImpl implements UserService {
|
|||||||
// Token获取信息
|
// Token获取信息
|
||||||
UserDO userDO = userDAO.getUserById(Processing.getAuthHeaderToUserId(request));
|
UserDO userDO = userDAO.getUserById(Processing.getAuthHeaderToUserId(request));
|
||||||
if (userDO != null) {
|
if (userDO != null) {
|
||||||
return ResultUtil.success(Processing.ReturnUserInfo(userDO, roleDAO.roleMapper));
|
return ResultUtil.success(Processing.returnUserInfo(userDO, roleDAO, permissionDAO));
|
||||||
} else {
|
} else {
|
||||||
return ResultUtil.error(ErrorCode.USER_NOT_EXIST);
|
return ResultUtil.error(ErrorCode.USER_NOT_EXIST);
|
||||||
}
|
}
|
||||||
@ -173,7 +176,7 @@ public class UserServiceImpl implements UserService {
|
|||||||
}
|
}
|
||||||
// 返回结果
|
// 返回结果
|
||||||
if (userDO != null) {
|
if (userDO != null) {
|
||||||
return ResultUtil.success(Processing.ReturnUserInfo(userDO, roleDAO.roleMapper));
|
return ResultUtil.success(Processing.returnUserInfo(userDO, roleDAO, permissionDAO));
|
||||||
} else {
|
} else {
|
||||||
return ResultUtil.error(ErrorCode.USER_NOT_EXIST);
|
return ResultUtil.error(ErrorCode.USER_NOT_EXIST);
|
||||||
}
|
}
|
||||||
@ -260,29 +263,4 @@ public class UserServiceImpl implements UserService {
|
|||||||
userProfileVo.setSex(Processing.getSex(userDO.getSex()));
|
userProfileVo.setSex(Processing.getSex(userDO.getSex()));
|
||||||
return ResultUtil.success(userProfileVo);
|
return ResultUtil.success(userProfileVo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @Description: 判断用户是否为管理员
|
|
||||||
* @Date: 2024/1/18
|
|
||||||
* @Param request: 请求头
|
|
||||||
**/
|
|
||||||
public BaseResponse isManager(HttpServletRequest request) {
|
|
||||||
//获取token
|
|
||||||
String originalAuthorization = request.getHeader("Authorization");
|
|
||||||
String token = originalAuthorization.replace("Bearer ", "");
|
|
||||||
//获取操作用户的权限
|
|
||||||
RoleUserDO roleUserDO = userDAO.getRoleFromUser(JwtUtil.getUserId(token));
|
|
||||||
//用户权限不为空
|
|
||||||
if (roleUserDO == null) {
|
|
||||||
return ResultUtil.error(ErrorCode.USER_ROLE_NOT_EXIST);
|
|
||||||
}
|
|
||||||
//用户权限应为管理员
|
|
||||||
if (!userDAO.isManagerByRoleId(roleUserDO.getRid())) {
|
|
||||||
return ResultUtil.error(ErrorCode.USER_ROLE_NOT_MANAGER);
|
|
||||||
}
|
|
||||||
return ResultUtil.success();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
package com.jsl.oa.utils;
|
package com.jsl.oa.utils;
|
||||||
|
|
||||||
|
import com.jsl.oa.dao.PermissionDAO;
|
||||||
|
import com.jsl.oa.dao.RoleDAO;
|
||||||
import com.jsl.oa.exception.ClassCopyException;
|
import com.jsl.oa.exception.ClassCopyException;
|
||||||
import com.jsl.oa.mapper.RoleMapper;
|
import com.jsl.oa.mapper.RoleMapper;
|
||||||
import com.jsl.oa.model.doData.PermissionDO;
|
import com.jsl.oa.model.doData.PermissionDO;
|
||||||
@ -257,10 +259,10 @@ public class Processing {
|
|||||||
* @param userDO 用户信息
|
* @param userDO 用户信息
|
||||||
* @return {@link BaseResponse}
|
* @return {@link BaseResponse}
|
||||||
*/
|
*/
|
||||||
public static @NotNull UserCurrentBackVO ReturnUserInfo(@NotNull UserDO userDO, RoleMapper roleMapper) {
|
public static @NotNull UserCurrentBackVO returnUserInfo(@NotNull UserDO userDO, RoleDAO roleDAO, PermissionDAO permissionDAO) {
|
||||||
UserCurrentBackVO userCurrentBackVO = new UserCurrentBackVO();
|
UserCurrentBackVO userCurrentBackVO = new UserCurrentBackVO();
|
||||||
// 获取用户角色
|
// 获取用户角色
|
||||||
RoleUserDO getUserRole = roleMapper.getRoleUserByUid(userDO.getId());
|
RoleUserDO getUserRole = roleDAO.getRoleUserByUid(userDO.getId());
|
||||||
if (getUserRole == null) {
|
if (getUserRole == null) {
|
||||||
getUserRole = new RoleUserDO();
|
getUserRole = new RoleUserDO();
|
||||||
getUserRole.setRid(0L)
|
getUserRole.setRid(0L)
|
||||||
@ -268,6 +270,16 @@ public class Processing {
|
|||||||
} else {
|
} else {
|
||||||
getUserRole.setUid(null);
|
getUserRole.setUid(null);
|
||||||
}
|
}
|
||||||
|
// 获取用户权限
|
||||||
|
RoleUserDO roleUserDO = roleDAO.getRoleUserByUid(userDO.getId());
|
||||||
|
List<String> getPermissionForString;
|
||||||
|
if (roleUserDO != null) {
|
||||||
|
// 获取全部根权限
|
||||||
|
getPermissionForString = permissionDAO.getAllPermissionBuildString();
|
||||||
|
} else {
|
||||||
|
// 获取权限列表信息
|
||||||
|
getPermissionForString = permissionDAO.getPermission(userDO.getId());
|
||||||
|
}
|
||||||
userCurrentBackVO.setUser(new UserCurrentBackVO.ReturnUser()
|
userCurrentBackVO.setUser(new UserCurrentBackVO.ReturnUser()
|
||||||
.setId(userDO.getId())
|
.setId(userDO.getId())
|
||||||
.setJobId(userDO.getJobId())
|
.setJobId(userDO.getJobId())
|
||||||
@ -291,7 +303,7 @@ public class Processing {
|
|||||||
.setIsDelete(userDO.getIsDelete()))
|
.setIsDelete(userDO.getIsDelete()))
|
||||||
.setRole(new UserCurrentBackVO.ReturnUserRole()
|
.setRole(new UserCurrentBackVO.ReturnUserRole()
|
||||||
.setRid(getUserRole.getRid()))
|
.setRid(getUserRole.getRid()))
|
||||||
.setPermission(new ArrayList<>());
|
.setPermission(getPermissionForString);
|
||||||
return userCurrentBackVO;
|
return userCurrentBackVO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
62
src/main/java/com/jsl/oa/utils/redis/RoleRedisUtil.java
Normal file
62
src/main/java/com/jsl/oa/utils/redis/RoleRedisUtil.java
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
package com.jsl.oa.utils.redis;
|
||||||
|
|
||||||
|
import com.jsl.oa.common.constant.BusinessConstants;
|
||||||
|
import com.jsl.oa.common.constant.RedisConstant;
|
||||||
|
import com.jsl.oa.config.redis.RedisOperating;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.springframework.data.redis.core.RedisTemplate;
|
||||||
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <h1>角色Redis工具类</h1>
|
||||||
|
* <hr/>
|
||||||
|
* 角色Redis工具类
|
||||||
|
*
|
||||||
|
* @since v1.1.0
|
||||||
|
* @version v1.1.0
|
||||||
|
* @see com.jsl.oa.common.constant.RedisConstant
|
||||||
|
* @see com.jsl.oa.common.constant.BusinessConstants
|
||||||
|
* @see com.jsl.oa.config.redis.RedisOperating
|
||||||
|
* @author xiao_lfeng
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@Component
|
||||||
|
public class RoleRedisUtil<R> extends RedisOperating<R> {
|
||||||
|
public RoleRedisUtil(RedisTemplate<String, R> redisTemplate, StringRedisTemplate stringRedisTemplate) {
|
||||||
|
super(redisTemplate, stringRedisTemplate);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Long getExpiredAt(@NotNull BusinessConstants businessConstants, String field) {
|
||||||
|
String key = RedisConstant.TYPE_AUTH + RedisConstant.TABLE_ROLE + businessConstants.getValue() + field;
|
||||||
|
log.info("\t\t> 读取 Redis 键为 {} 的过期时间", key);
|
||||||
|
return redisTemplate.getExpire(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean delData(@NotNull BusinessConstants businessConstants, String field) {
|
||||||
|
String key = RedisConstant.TYPE_AUTH + RedisConstant.TABLE_ROLE + businessConstants.getValue() + field;
|
||||||
|
log.info("\t\t> 删除 Redis 键为 {} 的数据", key);
|
||||||
|
return redisTemplate.delete(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public R getData(@NotNull BusinessConstants businessConstants, String field) {
|
||||||
|
String key = RedisConstant.TYPE_AUTH + RedisConstant.TABLE_ROLE + businessConstants.getValue() + field;
|
||||||
|
log.info("\t\t> 读取 Redis 键为 {} 的数据", key);
|
||||||
|
return redisTemplate.opsForValue().get(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean setData(@NotNull BusinessConstants businessConstants, String field, R value, Integer time) {
|
||||||
|
String key = RedisConstant.TYPE_AUTH + RedisConstant.TABLE_ROLE + businessConstants.getValue() + field;
|
||||||
|
log.info("\t\t> 写入 Redis 键为 {} 的数据", key);
|
||||||
|
redisTemplate.opsForValue().set(key, value);
|
||||||
|
redisTemplate.expire(key, time, TimeUnit.MINUTES);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user