feat: (feature/REQ-2595) 处理管理员角色更新后,缓存没更新的问题

This commit is contained in:
lilong 2024-11-12 10:34:04 +08:00
parent 6238ff81d6
commit 758a3fafea
3 changed files with 15 additions and 13 deletions

View File

@ -20,6 +20,7 @@ import cn.axzo.tyr.client.model.vo.DeleteRoleVO;
import cn.axzo.tyr.client.model.vo.SaasRoleGroupVO;
import cn.axzo.tyr.client.model.vo.SaveOrUpdateRoleVO;
import cn.axzo.tyr.server.config.MqProducer;
import cn.axzo.tyr.server.event.inner.CacheRoleSaasFeatureResourceHandler;
import cn.axzo.tyr.server.event.payload.RolePermissionCreatedPayload;
import cn.axzo.tyr.server.repository.dao.SaasPermissionGroupDao;
import cn.axzo.tyr.server.repository.dao.SaasPgroupRoleRelationDao;
@ -109,6 +110,8 @@ public class PrivateRoleController {
private MqProducer mqProducer;
@Autowired
private SaasPermissionGroupDao saasPermissionGroupDao;
@Autowired
private CacheRoleSaasFeatureResourceHandler cacheRoleSaasFeatureResourceHandler;
private static final String TARGET_TYPE = "saasFeatureResourceId";
@ -671,12 +674,10 @@ public class PrivateRoleController {
@PostMapping("/api/private/superAdmin/pgroupPermission/init")
public Object createSuperAdminPgroupPermission() {
ListRoleReq listRoleReq = ListRoleReq.builder()
.roleTypes(Lists.newArrayList(RoleTypeEnum.SUPER_ADMIN.getValue()))
.roleTypes(Lists.newArrayList(RoleTypeEnum.SUPER_ADMIN.getValue(), RoleTypeEnum.ADMIN.getValue()))
.build();
List<SaasRoleRes> allSuperAdminRoles = roleService.list(listRoleReq).stream()
.filter(e -> e.getWorkspaceId() == 0L)
.collect(Collectors.toList());
List<SaasRoleRes> allSuperAdminRoles = roleService.list(listRoleReq);
if (CollectionUtils.isEmpty(allSuperAdminRoles)) {
return "ok";
}
@ -756,7 +757,15 @@ public class PrivateRoleController {
return "ok";
}
@Data
@PostMapping("/api/private/test")
public Object test(@RequestBody @Validated RolePermissionCreatedPayload payload) {
cacheRoleSaasFeatureResourceHandler.onRolePermissionUpsert(Event.builder()
.data(payload)
.build(), null);
return "ok";
}
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor

View File

@ -2,7 +2,6 @@ package cn.axzo.tyr.server.event.inner;
import cn.axzo.framework.rocketmq.Event;
import cn.axzo.framework.rocketmq.EventConsumer;
import cn.axzo.tyr.client.common.enums.RoleTypeEnum;
import cn.axzo.tyr.client.model.req.ListRoleReq;
import cn.axzo.tyr.client.model.res.SaasRoleRes;
import cn.axzo.tyr.server.event.payload.PageElementFeatureResourceUpsertPayload;
@ -49,7 +48,6 @@ public class CacheRolePermissionHandler implements InitializingBean {
.roleIds(Optional.ofNullable(payload.getRoleIds())
.map(Lists::newArrayList)
.orElse(null))
.roleTypesNotIn(RoleTypeEnum.listAdmin())
.build();
Set<Long> roleIds = roleService.list(listSaasRoleParam).stream()
.map(SaasRoleRes::getId)
@ -74,7 +72,6 @@ public class CacheRolePermissionHandler implements InitializingBean {
}
ListRoleReq listSaasRoleParam = ListRoleReq.builder()
.roleTypesNotIn(RoleTypeEnum.listAdmin())
.build();
Set<Long> roleIds = roleService.list(listSaasRoleParam).stream()
.map(SaasRoleRes::getId)

View File

@ -2,7 +2,6 @@ package cn.axzo.tyr.server.event.inner;
import cn.axzo.framework.rocketmq.Event;
import cn.axzo.framework.rocketmq.EventConsumer;
import cn.axzo.tyr.client.common.enums.RoleTypeEnum;
import cn.axzo.tyr.client.model.req.ListRoleReq;
import cn.axzo.tyr.client.model.res.SaasRoleRes;
import cn.axzo.tyr.server.event.payload.PageElementFeatureResourceUpsertPayload;
@ -44,7 +43,6 @@ public class CacheRoleSaasFeatureResourceHandler implements InitializingBean {
.roleIds(Optional.ofNullable(payload.getRoleIds())
.map(Lists::newArrayList)
.orElse(null))
.roleTypesNotIn(RoleTypeEnum.listAdmin())
.build();
Set<Long> roleIds = roleService.list(listSaasRoleParam).stream()
.map(SaasRoleRes::getId)
@ -68,9 +66,7 @@ public class CacheRoleSaasFeatureResourceHandler implements InitializingBean {
return;
}
ListRoleReq listSaasRoleParam = ListRoleReq.builder()
.roleTypesNotIn(RoleTypeEnum.listAdmin())
.build();
ListRoleReq listSaasRoleParam = ListRoleReq.builder().build();
Set<Long> roleIds = roleService.list(listSaasRoleParam).stream()
.map(SaasRoleRes::getId)