diff --git a/hsweb-system/hsweb-system-authorization/hsweb-system-authorization-api/src/main/java/org/hswebframework/web/system/authorization/api/entity/UserEntity.java b/hsweb-system/hsweb-system-authorization/hsweb-system-authorization-api/src/main/java/org/hswebframework/web/system/authorization/api/entity/UserEntity.java index a7968c649..32e520699 100644 --- a/hsweb-system/hsweb-system-authorization/hsweb-system-authorization-api/src/main/java/org/hswebframework/web/system/authorization/api/entity/UserEntity.java +++ b/hsweb-system/hsweb-system-authorization/hsweb-system-authorization-api/src/main/java/org/hswebframework/web/system/authorization/api/entity/UserEntity.java @@ -45,6 +45,7 @@ public class UserEntity extends GenericEntity implements RecordCreationE private String type; @Column + @DefaultValue("1") private Byte status; @Column(name = "creator_id", updatable = false) diff --git a/hsweb-system/hsweb-system-authorization/hsweb-system-authorization-api/src/main/java/org/hswebframework/web/system/authorization/api/event/UserDeletedEvent.java b/hsweb-system/hsweb-system-authorization/hsweb-system-authorization-api/src/main/java/org/hswebframework/web/system/authorization/api/event/UserDeletedEvent.java new file mode 100644 index 000000000..ab15377a5 --- /dev/null +++ b/hsweb-system/hsweb-system-authorization/hsweb-system-authorization-api/src/main/java/org/hswebframework/web/system/authorization/api/event/UserDeletedEvent.java @@ -0,0 +1,17 @@ +package org.hswebframework.web.system.authorization.api.event; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.hswebframework.web.system.authorization.api.entity.UserEntity; + +@Getter +@Setter +@AllArgsConstructor +@NoArgsConstructor +public class UserDeletedEvent { + + private UserEntity user; + +} diff --git a/hsweb-system/hsweb-system-authorization/hsweb-system-authorization-default/src/main/java/org/hswebframework/web/system/authorization/defaults/service/DefaultReactiveUserService.java b/hsweb-system/hsweb-system-authorization/hsweb-system-authorization-default/src/main/java/org/hswebframework/web/system/authorization/defaults/service/DefaultReactiveUserService.java index 23a004fac..e283760ae 100644 --- a/hsweb-system/hsweb-system-authorization/hsweb-system-authorization-default/src/main/java/org/hswebframework/web/system/authorization/defaults/service/DefaultReactiveUserService.java +++ b/hsweb-system/hsweb-system-authorization/hsweb-system-authorization-default/src/main/java/org/hswebframework/web/system/authorization/defaults/service/DefaultReactiveUserService.java @@ -10,6 +10,7 @@ import org.hswebframework.web.id.IDGenerator; import org.hswebframework.web.system.authorization.api.PasswordEncoder; import org.hswebframework.web.system.authorization.api.entity.UserEntity; import org.hswebframework.web.system.authorization.api.event.UserCreatedEvent; +import org.hswebframework.web.system.authorization.api.event.UserDeletedEvent; import org.hswebframework.web.system.authorization.api.event.UserModifiedEvent; import org.hswebframework.web.system.authorization.api.service.reactive.ReactiveUserService; import org.hswebframework.web.validator.CreateGroup; @@ -165,7 +166,10 @@ public class DefaultReactiveUserService extends GenericReactiveCrudService deleteUser(String userId) { - return deleteById(Mono.just(userId)) - .map(integer -> integer > 0); + return this.findById(userId) + .flatMap(user -> this + .deleteById(Mono.just(userId)) + .doOnNext(i -> eventPublisher.publishEvent(new UserDeletedEvent(user))) + .thenReturn(true)); } }