Skip to content

Commit 21f1478

Browse files
fighter-wangfighter-wang
andauthored
fix(用户保存): 修复保存用户信息时,抛出的UserModifiedEvent事件中的最新用户信息不完整的问题 (#316)
* fix(用户保存): 修复保存用户信息时抛出的UserModifiedEvent事件中的最新用户信息不完整的问题 * fix(用户保存): 代码优化 * fix(用户保存): 修复old实体会被修改的问题 --------- Co-authored-by: fighter-wang <11291691+fighter-wang@user.noreply.gitee.com>
1 parent a1cc968 commit 21f1478

File tree

1 file changed

+5
-2
lines changed
  • hsweb-system/hsweb-system-authorization/hsweb-system-authorization-default/src/main/java/org/hswebframework/web/system/authorization/defaults/service

1 file changed

+5
-2
lines changed

hsweb-system/hsweb-system-authorization/hsweb-system-authorization-default/src/main/java/org/hswebframework/web/system/authorization/defaults/service/DefaultReactiveUserService.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,13 +119,16 @@ protected Mono<UserEntity> doUpdate(UserEntity old, UserEntity newer) {
119119
passwordValidator.validate(newer.getPassword());
120120
newer.setPassword(passwordEncoder.encode(newer.getPassword(), newer.getSalt()));
121121
}
122+
UserEntity copyEntity = old.copyTo(new UserEntity());
123+
UserEntity newEntity = newer.copyTo(copyEntity);
122124
return getRepository()
123125
.createUpdate()
124126
.set(newer)
125127
.where(newer::getId)
126128
.execute()
127-
.flatMap(__ -> new UserModifiedEvent(old, newer, passwordChanged, newPassword).publish(eventPublisher))
128-
.thenReturn(newer)
129+
.flatMap(__ -> new UserModifiedEvent(old, newEntity, passwordChanged, newPassword)
130+
.publish(eventPublisher)
131+
.thenReturn(newEntity))
129132
.flatMap(e -> ClearUserAuthorizationCacheEvent
130133
.of(e.getId())
131134
.publish(eventPublisher)

0 commit comments

Comments
 (0)