feat: 网关与auth微服务缓存打通
This commit is contained in:
@@ -40,6 +40,11 @@
|
||||
<artifactId>jc-club-auth-common</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-core</artifactId>
|
||||
<version>2.12.7</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-databind</artifactId>
|
||||
|
@@ -1,24 +1,25 @@
|
||||
package com.landaiqing.auth.domain.service.impl;
|
||||
|
||||
import cn.dev33.satoken.secure.SaSecureUtil;
|
||||
import com.google.gson.Gson;
|
||||
import com.landaiqing.auth.common.enums.AuthUserStatusEnum;
|
||||
import com.landaiqing.auth.common.enums.IsDeletedFlagEnum;
|
||||
import com.landaiqing.auth.domain.constants.AuthConstant;
|
||||
import com.landaiqing.auth.domain.convert.AuthUserBOConverter;
|
||||
import com.landaiqing.auth.domain.entity.AuthUserBO;
|
||||
import com.landaiqing.auth.domain.redis.RedisUtil;
|
||||
import com.landaiqing.auth.domain.service.AuthUserDomainService;
|
||||
import com.landaiqing.auth.infra.basic.entity.AuthRole;
|
||||
import com.landaiqing.auth.infra.basic.entity.AuthUser;
|
||||
import com.landaiqing.auth.infra.basic.entity.AuthUserRole;
|
||||
import com.landaiqing.auth.infra.basic.service.AuthRoleService;
|
||||
import com.landaiqing.auth.infra.basic.service.AuthUserRoleService;
|
||||
import com.landaiqing.auth.infra.basic.service.AuthUserService;
|
||||
import com.landaiqing.auth.infra.basic.entity.*;
|
||||
import com.landaiqing.auth.infra.basic.service.*;
|
||||
import lombok.SneakyThrows;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
@Slf4j
|
||||
@@ -33,6 +34,17 @@ public class AuthUserDomainServiceImpl implements AuthUserDomainService {
|
||||
@Resource
|
||||
private AuthRoleService authRoleService;
|
||||
|
||||
@Resource
|
||||
private AuthPermissionService authPermissionService;
|
||||
|
||||
@Resource
|
||||
private AuthRolePermissionService authRolePermissionService;
|
||||
@Resource
|
||||
private RedisUtil redisUtil;
|
||||
private String authPermissionPrefix = "auth.permission";
|
||||
|
||||
private String authRolePrefix = "auth.role";
|
||||
|
||||
private String salt="landaiqing";
|
||||
|
||||
@Override
|
||||
@@ -56,6 +68,23 @@ public class AuthUserDomainServiceImpl implements AuthUserDomainService {
|
||||
authUserRole.setRoleId(roleId);
|
||||
authUserRole.setIsDeleted(IsDeletedFlagEnum.UN_DELETED.getCode());
|
||||
authUserRoleService.insert(authUserRole);
|
||||
|
||||
String roleKey = redisUtil.buildKey(authRolePrefix, authUser.getUserName());
|
||||
List<AuthRole> roleList = new LinkedList<>();
|
||||
roleList.add(authRole);
|
||||
redisUtil.set(roleKey, new Gson().toJson(roleList));
|
||||
|
||||
AuthRolePermission authRolePermission = new AuthRolePermission();
|
||||
authRolePermission.setRoleId(roleId);
|
||||
List<AuthRolePermission> rolePermissionList = authRolePermissionService.
|
||||
queryByCondition(authRolePermission);
|
||||
|
||||
List<Long> permissionIdList = rolePermissionList.stream()
|
||||
.map(AuthRolePermission::getPermissionId).collect(Collectors.toList());
|
||||
//根据roleId查权限
|
||||
List<AuthPermission> permissionList = authPermissionService.queryByRoleList(permissionIdList);
|
||||
String permissionKey = redisUtil.buildKey(authPermissionPrefix, authUser.getUserName());
|
||||
redisUtil.set(permissionKey, new Gson().toJson(permissionList));
|
||||
return count > 0;
|
||||
}
|
||||
|
||||
|
@@ -74,4 +74,5 @@ public class AuthRolePermissionServiceImpl implements AuthRolePermissionService
|
||||
return this.authRolePermissionDao.queryAllByLimit(authRolePermission);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user