feat:(REQ-3342) 角色upsert时,增加角色相关的事件mq
This commit is contained in:
parent
d998bfb4eb
commit
738eb72bbd
@ -13,6 +13,7 @@ public enum EventTypeEnum {
|
|||||||
PAGE_ELEMENT_FEATURE_RESOURCE_UPSERT("page-element-feature-resource", "page-element-feature-resource-upsert", "菜单-页面元素绑定关系更新"),
|
PAGE_ELEMENT_FEATURE_RESOURCE_UPSERT("page-element-feature-resource", "page-element-feature-resource-upsert", "菜单-页面元素绑定关系更新"),
|
||||||
SAAS_ROLE_USER_RELATION_REMOVED("saas-role-user-relation", "saas-role-user-relation-removed", "删除用户角色信息"),
|
SAAS_ROLE_USER_RELATION_REMOVED("saas-role-user-relation", "saas-role-user-relation-removed", "删除用户角色信息"),
|
||||||
SAAS_ROLE_USER_RELATION_UPSERT("saas-role-user-relation", "saas-role-user-relation-upsert", "更新用户角色信息"),
|
SAAS_ROLE_USER_RELATION_UPSERT("saas-role-user-relation", "saas-role-user-relation-upsert", "更新用户角色信息"),
|
||||||
|
SAAS_ROLE_UPSERT("saas-role", "saas-role-upsert", "更新角色信息"),
|
||||||
;
|
;
|
||||||
|
|
||||||
EventTypeEnum(String model, String name, String desc) {
|
EventTypeEnum(String model, String name, String desc) {
|
||||||
|
|||||||
@ -0,0 +1,20 @@
|
|||||||
|
package cn.axzo.tyr.server.event.payload;
|
||||||
|
|
||||||
|
import cn.axzo.tyr.server.repository.entity.SaasRole;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public class SaasRoleUpsertPayload implements Serializable {
|
||||||
|
|
||||||
|
private SaasRole newRole;
|
||||||
|
|
||||||
|
private SaasRole oldRole;
|
||||||
|
}
|
||||||
@ -55,6 +55,7 @@ import cn.axzo.tyr.client.model.vo.SaveOrUpdateRoleVO;
|
|||||||
import cn.axzo.tyr.server.config.MqProducer;
|
import cn.axzo.tyr.server.config.MqProducer;
|
||||||
import cn.axzo.tyr.server.event.payload.RolePermissionCreatedPayload;
|
import cn.axzo.tyr.server.event.payload.RolePermissionCreatedPayload;
|
||||||
import cn.axzo.tyr.server.event.payload.SaasFeatureResourceUpsertPayload;
|
import cn.axzo.tyr.server.event.payload.SaasFeatureResourceUpsertPayload;
|
||||||
|
import cn.axzo.tyr.server.event.payload.SaasRoleUpsertPayload;
|
||||||
import cn.axzo.tyr.server.model.RelationOperateLogResourceBindRoleDO;
|
import cn.axzo.tyr.server.model.RelationOperateLogResourceBindRoleDO;
|
||||||
import cn.axzo.tyr.server.model.RelationOperateLogRoleBindResourceDO;
|
import cn.axzo.tyr.server.model.RelationOperateLogRoleBindResourceDO;
|
||||||
import cn.axzo.tyr.server.model.ResourcePermission;
|
import cn.axzo.tyr.server.model.ResourcePermission;
|
||||||
@ -141,6 +142,7 @@ import java.util.stream.Stream;
|
|||||||
|
|
||||||
import static cn.axzo.tyr.server.event.inner.EventTypeEnum.ROLE_PERMISSION_CREATED;
|
import static cn.axzo.tyr.server.event.inner.EventTypeEnum.ROLE_PERMISSION_CREATED;
|
||||||
import static cn.axzo.tyr.server.event.inner.EventTypeEnum.SAAS_FEATURE_RESOURCE_UPSERT;
|
import static cn.axzo.tyr.server.event.inner.EventTypeEnum.SAAS_FEATURE_RESOURCE_UPSERT;
|
||||||
|
import static cn.axzo.tyr.server.event.inner.EventTypeEnum.SAAS_ROLE_UPSERT;
|
||||||
import static cn.axzo.tyr.server.repository.entity.SaasPgroupPermissionRelation.NEW_FEATURE;
|
import static cn.axzo.tyr.server.repository.entity.SaasPgroupPermissionRelation.NEW_FEATURE;
|
||||||
import static cn.axzo.tyr.server.repository.entity.SaasPgroupPermissionRelation.OLD_FEATURE;
|
import static cn.axzo.tyr.server.repository.entity.SaasPgroupPermissionRelation.OLD_FEATURE;
|
||||||
|
|
||||||
@ -497,6 +499,10 @@ public class RoleServiceImpl extends ServiceImpl<SaasRoleMapper, SaasRole>
|
|||||||
List<SaveOrUpdateRoleVO.GroupInfoVO> groupTrees = saveOrUpdateRole.getGroupTree();
|
List<SaveOrUpdateRoleVO.GroupInfoVO> groupTrees = saveOrUpdateRole.getGroupTree();
|
||||||
// 验证角色分组信息
|
// 验证角色分组信息
|
||||||
validRoleGroup(groupTrees);
|
validRoleGroup(groupTrees);
|
||||||
|
SaasRole oldSaasRole = Optional.ofNullable(saveOrUpdateRole.getId())
|
||||||
|
.map(id -> saasRoleDao.getById(id))
|
||||||
|
.orElse(null);
|
||||||
|
|
||||||
SaasRole saasRole = validAndBuildRole(saveOrUpdateRole, now);
|
SaasRole saasRole = validAndBuildRole(saveOrUpdateRole, now);
|
||||||
//验证权限集信息
|
//验证权限集信息
|
||||||
SaasPermissionGroup saasPermissionGroup = validPermissionGroupCommon(saveOrUpdateRole);
|
SaasPermissionGroup saasPermissionGroup = validPermissionGroupCommon(saveOrUpdateRole);
|
||||||
@ -544,6 +550,15 @@ public class RoleServiceImpl extends ServiceImpl<SaasRoleMapper, SaasRole>
|
|||||||
.build())
|
.build())
|
||||||
.build();
|
.build();
|
||||||
mqProducer.send(event);
|
mqProducer.send(event);
|
||||||
|
// 上面是因为原来做权限的缓存,需要角色权限的事件,因为代码没有收口,所以这里把最基本的角色相关的事件补上
|
||||||
|
mqProducer.send(Event.builder()
|
||||||
|
.targetType("saasRoleId")
|
||||||
|
.eventCode(SAAS_ROLE_UPSERT.getEventCode())
|
||||||
|
.data(SaasRoleUpsertPayload.builder()
|
||||||
|
.newRole(saasRoleDao.getById(saasRole.getId()))
|
||||||
|
.oldRole(oldSaasRole)
|
||||||
|
.build())
|
||||||
|
.build());
|
||||||
return saasRole.getId();
|
return saasRole.getId();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user