refactor(组织成员): 调整组织成员日志内容

This commit is contained in:
guoyuqi 2023-08-29 11:36:13 +08:00 committed by 刘瑞斌
parent c4e14dc24e
commit 20b21101b3
2 changed files with 26 additions and 16 deletions

View File

@ -73,4 +73,10 @@ public class OperationLogModule {
//系统设置-组织-项目 //系统设置-组织-项目
public static final String SETTING_SYSTEM_ORGANIZATION_PROJECT = "SETTING_SYSTEM_ORGANIZATION_PROJECT"; public static final String SETTING_SYSTEM_ORGANIZATION_PROJECT = "SETTING_SYSTEM_ORGANIZATION_PROJECT";
//项目管理
public static final String PROJECT_MANAGEMENT = "PROJECT_MANAGEMENT"; // 项目管理
public static final String PROJECT_MANAGEMENT_PERMISSION = "PROJECT_MANAGEMENT_PERMISSION"; // 项目管理-项目与权限
public static final String PROJECT_MANAGEMENT_PERMISSION_MEMBER = "PROJECT_MANAGEMENT_PERMISSION_MEMBER";// 项目管理-项目与权限-成员
} }

View File

@ -347,7 +347,7 @@ public class OrganizationService {
createUserId, createUserId,
type, type,
OperationLogModule.SETTING_ORGANIZATION_MEMBER, OperationLogModule.SETTING_ORGANIZATION_MEMBER,
"成员"); userMap.get(memberId).getName());
setLog(dto, path, logDTOList, userRoleRelation); setLog(dto, path, logDTOList, userRoleRelation);
} }
} }
@ -437,21 +437,24 @@ public class OrganizationService {
example.createCriteria().andUserIdEqualTo(userId).andSourceIdEqualTo(organizationId); example.createCriteria().andUserIdEqualTo(userId).andSourceIdEqualTo(organizationId);
List<UserRoleRelation> userRoleWidthOrgRelations = userRoleRelationMapper.selectByExample(example); List<UserRoleRelation> userRoleWidthOrgRelations = userRoleRelationMapper.selectByExample(example);
List<LogDTO> dtoList = new ArrayList<>(); List<LogDTO> dtoList = new ArrayList<>();
User user = userMapper.selectByPrimaryKey(userId);
//记录项目日志
for (UserRoleRelation userRoleWidthProjectRelation : userRoleWidthProjectRelations) { for (UserRoleRelation userRoleWidthProjectRelation : userRoleWidthProjectRelations) {
LogDTO dto = new LogDTO( LogDTO dto = new LogDTO(
userRoleWidthProjectRelation.getSourceId(), userRoleWidthProjectRelation.getSourceId(),
organizationId, organizationId,
userRoleWidthProjectRelation.getId(), userId,
userRoleWidthProjectRelation.getCreateUser(), userRoleWidthProjectRelation.getCreateUser(),
OperationLogType.DELETE.name(), OperationLogType.DELETE.name(),
OperationLogModule.SETTING_ORGANIZATION_MEMBER, OperationLogModule.PROJECT_MANAGEMENT_PERMISSION_MEMBER,
"成员"); user.getName());
dto.setPath("/organization/remove-member/{organizationId}/{userId}"); dto.setPath("/organization/remove-member/{organizationId}/{userId}");
dto.setMethod(HttpMethodConstants.POST.name()); dto.setMethod(HttpMethodConstants.POST.name());
dto.setOriginalValue(JSON.toJSONBytes(userRoleWidthProjectRelation)); dto.setOriginalValue(JSON.toJSONBytes(userRoleWidthProjectRelation));
dtoList.add(dto); dtoList.add(dto);
} }
//记录组织日志
for (UserRoleRelation userRoleWidthOrgRelation : userRoleWidthOrgRelations) { for (UserRoleRelation userRoleWidthOrgRelation : userRoleWidthOrgRelations) {
LogDTO dto = new LogDTO( LogDTO dto = new LogDTO(
OperationLogConstants.ORGANIZATION, OperationLogConstants.ORGANIZATION,
@ -460,14 +463,13 @@ public class OrganizationService {
userRoleWidthOrgRelation.getCreateUser(), userRoleWidthOrgRelation.getCreateUser(),
OperationLogType.DELETE.name(), OperationLogType.DELETE.name(),
OperationLogModule.SETTING_ORGANIZATION_MEMBER, OperationLogModule.SETTING_ORGANIZATION_MEMBER,
"成员"); user.getName());
dto.setPath("/organization/remove-member/{organizationId}/{userId}"); dto.setPath("/organization/remove-member/{organizationId}/{userId}");
dto.setMethod(HttpMethodConstants.POST.name()); dto.setMethod(HttpMethodConstants.POST.name());
dto.setOriginalValue(JSON.toJSONBytes(userRoleWidthOrgRelation)); dto.setOriginalValue(JSON.toJSONBytes(userRoleWidthOrgRelation));
dtoList.add(dto); dtoList.add(dto);
} }
return dtoList; return dtoList;
} }
@ -509,11 +511,11 @@ public class OrganizationService {
List<LogDTO> logDTOList = new ArrayList<>(); List<LogDTO> logDTOList = new ArrayList<>();
//更新用户组 //更新用户组
List<String> userRoleIds = organizationMemberUpdateRequest.getUserRoleIds(); List<String> userRoleIds = organizationMemberUpdateRequest.getUserRoleIds();
updateUserRoleRelation(createUserId, organizationId, memberId, userRoleIds, sqlSession, logDTOList); updateUserRoleRelation(createUserId, organizationId, user, userRoleIds, sqlSession, logDTOList);
//更新项目 //更新项目
List<String> projectIds = organizationMemberUpdateRequest.getProjectIds(); List<String> projectIds = organizationMemberUpdateRequest.getProjectIds();
if (CollectionUtils.isNotEmpty(projectIds)) { if (CollectionUtils.isNotEmpty(projectIds)) {
updateProjectUserRelation(createUserId, organizationId, memberId, projectIds, sqlSession, logDTOList); updateProjectUserRelation(createUserId, organizationId, user, projectIds, sqlSession, logDTOList);
} else { } else {
ProjectExample projectExample = new ProjectExample(); ProjectExample projectExample = new ProjectExample();
projectExample.createCriteria().andOrganizationIdEqualTo(organizationId); projectExample.createCriteria().andOrganizationIdEqualTo(organizationId);
@ -532,8 +534,8 @@ public class OrganizationService {
memberId, memberId,
createUserId, createUserId,
OperationLogType.UPDATE.name(), OperationLogType.UPDATE.name(),
OperationLogModule.SETTING_ORGANIZATION_MEMBER, OperationLogModule.PROJECT_MANAGEMENT_PERMISSION_MEMBER,
"成员"); user.getName());
setLog(dto, path, logDTOList, ""); setLog(dto, path, logDTOList, "");
} }
@ -546,10 +548,11 @@ public class OrganizationService {
operationLogService.batchAdd(logDTOList); operationLogService.batchAdd(logDTOList);
} }
private void updateProjectUserRelation(String createUserId, String organizationId, String memberId, List<String> projectIds, SqlSession sqlSession, List<LogDTO> logDTOList) { private void updateProjectUserRelation(String createUserId, String organizationId, User user, List<String> projectIds, SqlSession sqlSession, List<LogDTO> logDTOList) {
Map<String, Project> projectMap = checkProjectExist(projectIds, organizationId); Map<String, Project> projectMap = checkProjectExist(projectIds, organizationId);
List<String> projectInDBInOrgIds = projectMap.values().stream().map(Project::getId).toList(); List<String> projectInDBInOrgIds = projectMap.values().stream().map(Project::getId).toList();
//删除旧的关系 //删除旧的关系
String memberId = user.getId();
ProjectExample projectExample = new ProjectExample(); ProjectExample projectExample = new ProjectExample();
projectExample.createCriteria().andOrganizationIdEqualTo(organizationId); projectExample.createCriteria().andOrganizationIdEqualTo(organizationId);
List<Project> projects = projectMapper.selectByExample(projectExample); List<Project> projects = projectMapper.selectByExample(projectExample);
@ -569,8 +572,8 @@ public class OrganizationService {
memberId, memberId,
createUserId, createUserId,
OperationLogType.UPDATE.name(), OperationLogType.UPDATE.name(),
OperationLogModule.SETTING_ORGANIZATION_MEMBER, OperationLogModule.PROJECT_MANAGEMENT_PERMISSION_MEMBER,
"成员"); user.getName());
setLog(dto, path, logDTOList, userRoleRelation); setLog(dto, path, logDTOList, userRoleRelation);
}); });
} }
@ -586,10 +589,11 @@ public class OrganizationService {
return userRoleRelation; return userRoleRelation;
} }
private void updateUserRoleRelation(String createUserId, String organizationId, String memberId, List<String> userRoleIds, SqlSession sqlSession, List<LogDTO> logDTOList) { private void updateUserRoleRelation(String createUserId, String organizationId, User user, List<String> userRoleIds, SqlSession sqlSession, List<LogDTO> logDTOList) {
//检查用户组是否是组织级别用户组 //检查用户组是否是组织级别用户组
String memberId = user.getId();
Map<String, UserRole> userRoleMap = checkUseRoleExist(userRoleIds, organizationId); Map<String, UserRole> userRoleMap = checkUseRoleExist(userRoleIds, organizationId);
List<String> userRoleInDBInOrgIds = userRoleMap.values().stream().map(UserRole::getId).collect(Collectors.toList()); List<String> userRoleInDBInOrgIds = userRoleMap.values().stream().map(UserRole::getId).toList();
//删除旧的关系 //删除旧的关系
UserRoleRelationExample userRoleRelationExample = new UserRoleRelationExample(); UserRoleRelationExample userRoleRelationExample = new UserRoleRelationExample();
userRoleRelationExample.createCriteria().andUserIdEqualTo(memberId).andSourceIdEqualTo(organizationId); userRoleRelationExample.createCriteria().andUserIdEqualTo(memberId).andSourceIdEqualTo(organizationId);
@ -607,7 +611,7 @@ public class OrganizationService {
createUserId, createUserId,
OperationLogType.UPDATE.name(), OperationLogType.UPDATE.name(),
OperationLogModule.SETTING_ORGANIZATION_MEMBER, OperationLogModule.SETTING_ORGANIZATION_MEMBER,
"成员"); user.getName());
setLog(dto, path, logDTOList, userRoleRelation); setLog(dto, path, logDTOList, userRoleRelation);
}); });
} }