fix: refresh overseas authorization on user status change

This commit is contained in:
2026-09-07 14:22:26 +08:00
parent 2c5fda33e7
commit 693e10188c
6 changed files with 35 additions and 0 deletions
@@ -170,6 +170,8 @@ public class MemberService {
membership.setLeftAt("DISABLED".equals(request.status()) ? LocalDateTime.now() : null);
user.setStatus(request.status()); repository.saveUser(user); repository.save(membership);
securityEvents.userStatus(user.getAuthUserId(), tenantId, "MERCHANT", request.status());
securityEvents.permissionChanged(user.getAuthUserId(), tenantId, "MERCHANT",
"MEMBER_STATUS_CHANGED");
} catch (RuntimeException localFailure) {
try {
authClient.status(internalToken, user.getAuthUserId(), new AuthAccountClient.StatusRequest(oldStatus));
@@ -147,6 +147,8 @@ public class PlatformInternalUserService {
repository.saveUser(user);
repository.save(membership);
securityEvents.userStatus(user.getAuthUserId(), PLATFORM_TENANT_ID, "PLATFORM", request.status());
securityEvents.permissionChanged(user.getAuthUserId(), PLATFORM_TENANT_ID, "PLATFORM",
"PLATFORM_INTERNAL_USER_STATUS_CHANGED");
return response(membership, user, authAccount.username(), roleIds);
} catch (RuntimeException localFailure) {
compensateStatus(user.getAuthUserId(), authAccount.status(), localFailure);
@@ -203,6 +203,8 @@ public class PlatformUserManagementService {
members.save(membership);
securityEvents.userStatus(user.getAuthUserId(), membership.getTenantId(),
appCode(membership.getTenantId()), request.status());
securityEvents.permissionChanged(user.getAuthUserId(), membership.getTenantId(),
appCode(membership.getTenantId()), "PLATFORM_USER_STATUS_CHANGED");
} catch (RuntimeException localFailure) {
call(() -> authClient.status(internalToken, user.getAuthUserId(),
new AuthAccountClient.StatusRequest(oldAccount.status())));