fix:ASW-107 修复 member 修改时 member 被清空
This commit is contained in:
@@ -2,6 +2,7 @@ package net.geedge.asw.module.workspace.service.impl;
|
|||||||
|
|
||||||
import cn.dev33.satoken.stp.StpUtil;
|
import cn.dev33.satoken.stp.StpUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import net.geedge.asw.common.util.ASWException;
|
import net.geedge.asw.common.util.ASWException;
|
||||||
import net.geedge.asw.common.util.RCode;
|
import net.geedge.asw.common.util.RCode;
|
||||||
@@ -50,9 +51,22 @@ public class WorkspaceMemberServiceImpl extends ServiceImpl<WorkspaceMemberDao,
|
|||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public List<WorkspaceMemberEntity> updateMember(String workspaceId, List<WorkspaceMemberEntity> memberList) {
|
public List<WorkspaceMemberEntity> updateMember(String workspaceId, List<WorkspaceMemberEntity> memberList) {
|
||||||
validateInfo(workspaceId, memberList);
|
List<WorkspaceMemberEntity> list = this.list(new LambdaQueryWrapper<WorkspaceMemberEntity>().eq(WorkspaceMemberEntity::getWorkspaceId, workspaceId));
|
||||||
workspaceMemberService.remove(new LambdaQueryWrapper<WorkspaceMemberEntity>().eq(WorkspaceMemberEntity::getWorkspaceId, workspaceId));
|
List<String> userIds = list.stream().map(x -> x.getUserId()).toList();
|
||||||
workspaceMemberService.saveBatch(memberList);
|
for (WorkspaceMemberEntity member : memberList) {
|
||||||
|
String userId = member.getUserId();
|
||||||
|
if (!userIds.contains(userId)) {
|
||||||
|
this.update(new LambdaUpdateWrapper<WorkspaceMemberEntity>()
|
||||||
|
.eq(WorkspaceMemberEntity::getUserId, userId)
|
||||||
|
.eq(WorkspaceMemberEntity::getWorkspaceId, workspaceId)
|
||||||
|
.set(WorkspaceMemberEntity::getRoleId, member.getRoleId()));
|
||||||
|
}else {
|
||||||
|
member.setWorkspaceId(workspaceId);
|
||||||
|
member.setCreateTimestamp(System.currentTimeMillis());
|
||||||
|
member.setCreateUserId(StpUtil.getLoginIdAsString());
|
||||||
|
this.save(member);
|
||||||
|
}
|
||||||
|
}
|
||||||
Map params = T.MapUtil.builder("workspaceId", workspaceId).build();
|
Map params = T.MapUtil.builder("workspaceId", workspaceId).build();
|
||||||
List<WorkspaceMemberEntity> memberEntityList = workspaceMemberService.queryList(params);
|
List<WorkspaceMemberEntity> memberEntityList = workspaceMemberService.queryList(params);
|
||||||
return memberEntityList;
|
return memberEntityList;
|
||||||
|
|||||||
Reference in New Issue
Block a user