Skip to content

Commit 9a197cd

Browse files
committed
增加修改个人信息以及删除用户
1 parent 3c168ff commit 9a197cd

File tree

3 files changed

+27
-1
lines changed

3 files changed

+27
-1
lines changed

hsweb-system/hsweb-system-authorization/hsweb-system-authorization-api/src/main/java/org/hswebframework/web/system/authorization/api/service/reactive/ReactiveUserService.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,6 @@ public interface ReactiveUserService {
2727

2828
Mono<Integer> countUser(QueryParam queryParam);
2929

30+
Mono<Boolean> deleteUser(String userId);
31+
3032
}

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

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ public Mono<Integer> changeState(Publisher<String> userId, byte state) {
132132
}
133133

134134
@Override
135-
@Transactional(rollbackFor = Exception.class, transactionManager =TransactionManagers.r2dbcTransactionManager)
135+
@Transactional(rollbackFor = Exception.class, transactionManager = TransactionManagers.r2dbcTransactionManager)
136136
public Mono<Boolean> changePassword(String userId, String oldPassword, String newPassword) {
137137
return findById(userId)
138138
.switchIfEmpty(Mono.error(NotFoundException::new))
@@ -162,4 +162,10 @@ public Mono<Integer> countUser(QueryParam queryParam) {
162162
.setParam(queryParam)
163163
.count();
164164
}
165+
166+
@Override
167+
public Mono<Boolean> deleteUser(String userId) {
168+
return deleteById(Mono.just(userId))
169+
.map(integer -> integer > 0);
170+
}
165171
}

hsweb-system/hsweb-system-authorization/hsweb-system-authorization-default/src/main/java/org/hswebframework/web/system/authorization/defaults/webflux/WebFluxUserController.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import org.hswebframework.web.authorization.Authentication;
66
import org.hswebframework.web.authorization.User;
77
import org.hswebframework.web.authorization.annotation.Authorize;
8+
import org.hswebframework.web.authorization.annotation.DeleteAction;
89
import org.hswebframework.web.authorization.annotation.Resource;
910
import org.hswebframework.web.authorization.annotation.SaveAction;
1011
import org.hswebframework.web.authorization.exception.UnAuthorizedException;
@@ -44,6 +45,12 @@ public Mono<Integer> changeState(@PathVariable String id, @PathVariable Byte sta
4445
return reactiveUserService.changeState(Mono.just(id), state);
4546
}
4647

48+
@DeleteMapping("/{id:.+}")
49+
@DeleteAction
50+
public Mono<Boolean> deleteUser(@PathVariable String id) {
51+
return reactiveUserService.deleteUser(id);
52+
}
53+
4754
@PutMapping("/passwd")
4855
@Authorize(merge = false)
4956
public Mono<Boolean> changePassword(@RequestBody ChangePasswordRequest request) {
@@ -55,6 +62,17 @@ public Mono<Boolean> changePassword(@RequestBody ChangePasswordRequest request)
5562
.flatMap(userId -> reactiveUserService.changePassword(userId, request.getOldPassword(), request.getNewPassword()));
5663
}
5764

65+
@PutMapping("/me")
66+
@Authorize(merge = false)
67+
public Mono<Boolean> updateLoginUserInfo(@RequestBody UserEntity request) {
68+
return Authentication
69+
.currentReactive()
70+
.switchIfEmpty(Mono.error(UnAuthorizedException::new))
71+
.map(Authentication::getUser)
72+
.map(User::getId)
73+
.flatMap(userId -> reactiveUserService.updateById(userId, Mono.just(request)).map(integer -> integer > 0));
74+
}
75+
5876
@Override
5977
public DefaultReactiveUserService getService() {
6078
return reactiveUserService;

0 commit comments

Comments
 (0)