You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampark.apache.org by be...@apache.org on 2022/11/12 14:13:05 UTC
[incubator-streampark] branch dev updated: [Bug] Clear the teamId when delete the member (#2009)
This is an automated email from the ASF dual-hosted git repository.
benjobs pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-streampark.git
The following commit(s) were added to refs/heads/dev by this push:
new d4ecd9652 [Bug] Clear the teamId when delete the member (#2009)
d4ecd9652 is described below
commit d4ecd965225366d9635bf7103743b17975d21e2f
Author: 1996fanrui <19...@gmail.com>
AuthorDate: Sat Nov 12 22:13:00 2022 +0800
[Bug] Clear the teamId when delete the member (#2009)
* [Bug] Clear the teamId when delete the member
* [fixup] fixup!fixup! delete all member mapping when delete user
---
.../console/system/controller/UserController.java | 4 ++--
.../streampark/console/system/mapper/UserMapper.java | 3 +++
.../console/system/service/MemberService.java | 2 +-
.../console/system/service/UserService.java | 8 +++++---
.../system/service/impl/MemberServiceImpl.java | 20 ++++++++++++--------
.../console/system/service/impl/UserServiceImpl.java | 20 ++++++++++++++------
.../src/main/resources/mapper/system/UserMapper.xml | 6 ++++++
7 files changed, 43 insertions(+), 20 deletions(-)
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/controller/UserController.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/controller/UserController.java
index e8a76157f..f8c5b5d24 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/controller/UserController.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/controller/UserController.java
@@ -92,8 +92,8 @@ public class UserController {
@DeleteMapping("delete")
@RequiresPermissions("user:delete")
- public RestResponse deleteUsers(Long userId) {
- this.userService.removeById(userId);
+ public RestResponse deleteUser(Long userId) throws Exception {
+ this.userService.deleteUser(userId);
return RestResponse.success();
}
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/mapper/UserMapper.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/mapper/UserMapper.java
index f04529ce7..0d5ce32c7 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/mapper/UserMapper.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/mapper/UserMapper.java
@@ -33,4 +33,7 @@ public interface UserMapper extends BaseMapper<User> {
List<User> getNoTokenUser();
List<User> findByAppOwner(@Param("teamId") Long teamId);
+
+ void unbindTeam(@Param("userId") Long userId);
+
}
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/MemberService.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/MemberService.java
index 7bd14880c..9dbf278a8 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/MemberService.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/MemberService.java
@@ -30,7 +30,7 @@ public interface MemberService extends IService<Member> {
void deleteByRoleIds(String[] roleIds);
- void deleteByUserIds(String[] userIds);
+ void deleteByUserId(Long userId);
void deleteByTeamId(Long teamId);
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/UserService.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/UserService.java
index 5fe4e953b..d858e08ca 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/UserService.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/UserService.java
@@ -71,11 +71,11 @@ public interface UserService extends IService<User> {
void updateUser(User user) throws Exception;
/**
- * delete user list
+ * delete user
*
- * @param userIds user id list
+ * @param userId user id
*/
- void deleteUsers(String[] userIds) throws Exception;
+ void deleteUser(Long userId) throws Exception;
/**
* update user
@@ -120,6 +120,8 @@ public interface UserService extends IService<User> {
void setLatestTeam(Long teamId, Long userId);
+ void unbindTeam(Long userId, Long teamId);
+
void fillInTeam(User user);
List<User> findByAppOwner(Long teamId);
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/MemberServiceImpl.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/MemberServiceImpl.java
index 153870fe0..7d13cb0c6 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/MemberServiceImpl.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/MemberServiceImpl.java
@@ -19,6 +19,7 @@ package org.apache.streampark.console.system.service.impl;
import org.apache.streampark.common.util.AssertUtils;
import org.apache.streampark.console.base.domain.RestRequest;
+import org.apache.streampark.console.base.exception.ApiAlertException;
import org.apache.streampark.console.system.entity.Member;
import org.apache.streampark.console.system.entity.Team;
import org.apache.streampark.console.system.entity.User;
@@ -65,8 +66,8 @@ public class MemberServiceImpl extends ServiceImpl<MemberMapper, Member>
@Override
@Transactional
- public void deleteByUserIds(String[] userIds) {
- Arrays.stream(userIds).forEach(id -> baseMapper.deleteByUserId(Long.valueOf(id)));
+ public void deleteByUserId(Long userId) {
+ baseMapper.deleteByUserId(userId);
}
@Override
@@ -119,11 +120,11 @@ public class MemberServiceImpl extends ServiceImpl<MemberMapper, Member>
@Override
public void createMember(Member member) {
User user = Optional.ofNullable(userService.findByName(member.getUserName()))
- .orElseThrow(() -> new IllegalArgumentException(String.format("The username [%s] not found", member.getUserName())));
+ .orElseThrow(() -> new ApiAlertException(String.format("The username [%s] not found", member.getUserName())));
Optional.ofNullable(roleService.getById(member.getRoleId()))
- .orElseThrow(() -> new IllegalArgumentException(String.format("The roleId [%s] not found", member.getRoleId())));
+ .orElseThrow(() -> new ApiAlertException(String.format("The roleId [%s] not found", member.getRoleId())));
Team team = Optional.ofNullable(teamService.getById(member.getTeamId()))
- .orElseThrow(() -> new IllegalArgumentException(String.format("The teamId [%s] not found", member.getTeamId())));
+ .orElseThrow(() -> new ApiAlertException(String.format("The teamId [%s] not found", member.getTeamId())));
AssertUtils.isTrue(findByUserId(member.getTeamId(), user.getUserId()) == null,
String.format("The user [%s] has been added the team [%s], please don't add it again.", member.getUserName(),
team.getTeamName()));
@@ -136,18 +137,21 @@ public class MemberServiceImpl extends ServiceImpl<MemberMapper, Member>
}
@Override
- public void deleteMember(Member member) {
+ public void deleteMember(Member memberArg) {
+ Member member = Optional.ofNullable(this.getById(memberArg.getId()))
+ .orElseThrow(() -> new ApiAlertException(String.format("The member [id=%s] not found", memberArg.getId())));
this.removeById(member);
+ userService.unbindTeam(member.getUserId(), member.getTeamId());
}
@Override
public void updateMember(Member member) {
Member oldMember = Optional.ofNullable(this.getById(member.getId()))
- .orElseThrow(() -> new IllegalArgumentException(String.format("The mapping [id=%s] not found", member.getId())));
+ .orElseThrow(() -> new ApiAlertException(String.format("The member [id=%s] not found", member.getId())));
AssertUtils.isTrue(oldMember.getTeamId().equals(member.getTeamId()), "Team id cannot be changed.");
AssertUtils.isTrue(oldMember.getUserId().equals(member.getUserId()), "User id cannot be changed.");
Optional.ofNullable(roleService.getById(member.getRoleId()))
- .orElseThrow(() -> new IllegalArgumentException(String.format("The roleId [%s] not found", member.getRoleId())));
+ .orElseThrow(() -> new ApiAlertException(String.format("The roleId [%s] not found", member.getRoleId())));
oldMember.setRoleId(member.getRoleId());
updateById(oldMember);
}
diff --git a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/UserServiceImpl.java b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/UserServiceImpl.java
index 6399cb64f..944dc337f 100644
--- a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/UserServiceImpl.java
+++ b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/UserServiceImpl.java
@@ -42,7 +42,6 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Nullable;
-import java.util.Arrays;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
@@ -115,10 +114,9 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
@Override
@Transactional(rollbackFor = Exception.class)
- public void deleteUsers(String[] userIds) {
- List<String> list = Arrays.asList(userIds);
- removeByIds(list);
- this.memberService.deleteByUserIds(userIds);
+ public void deleteUser(Long userId) {
+ removeById(userId);
+ this.memberService.deleteByUserId(userId);
}
@Override
@@ -175,7 +173,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
public List<User> getNoTokenUser() {
List<User> users = this.baseMapper.getNoTokenUser();
if (!users.isEmpty()) {
- users.forEach(u -> u.dataMasking());
+ users.forEach(User::dataMasking);
}
return users;
}
@@ -188,6 +186,16 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
this.baseMapper.updateById(user);
}
+ @Override
+ public void unbindTeam(Long userId, Long teamId) {
+ User user = getById(userId);
+ AssertUtils.checkArgument(user != null);
+ if (!teamId.equals(user.getTeamId())) {
+ return;
+ }
+ this.baseMapper.unbindTeam(userId);
+ }
+
@Override
public void fillInTeam(User user) {
if (user.getTeamId() == null) {
diff --git a/streampark-console/streampark-console-service/src/main/resources/mapper/system/UserMapper.xml b/streampark-console/streampark-console-service/src/main/resources/mapper/system/UserMapper.xml
index 794d1cf5c..06cf406a3 100644
--- a/streampark-console/streampark-console-service/src/main/resources/mapper/system/UserMapper.xml
+++ b/streampark-console/streampark-console-service/src/main/resources/mapper/system/UserMapper.xml
@@ -75,4 +75,10 @@
where u.user_id = t.user_id
</select>
+ <update id="unbindTeam" parameterType="java.lang.Long">
+ update t_user
+ set team_id = null
+ where user_id = #{userId}
+ </update>
+
</mapper>