diff --git a/backend/framework/sdk/src/main/java/io/metersphere/sdk/constants/OperationLogConstants.java b/backend/framework/sdk/src/main/java/io/metersphere/sdk/constants/OperationLogConstants.java
index dc93e042aa..f6cf8d979f 100644
--- a/backend/framework/sdk/src/main/java/io/metersphere/sdk/constants/OperationLogConstants.java
+++ b/backend/framework/sdk/src/main/java/io/metersphere/sdk/constants/OperationLogConstants.java
@@ -2,4 +2,5 @@ package io.metersphere.sdk.constants;
public class OperationLogConstants {
public static final String SYSTEM = "SYSTEM";
+ public static final String ORGANIZATION = "ORGANIZATION";
}
diff --git a/backend/framework/sdk/src/main/java/io/metersphere/sdk/log/vo/OperationLogRequest.java b/backend/framework/sdk/src/main/java/io/metersphere/sdk/log/vo/OperationLogRequest.java
index ec07728e0f..da3bc6f9f8 100644
--- a/backend/framework/sdk/src/main/java/io/metersphere/sdk/log/vo/OperationLogRequest.java
+++ b/backend/framework/sdk/src/main/java/io/metersphere/sdk/log/vo/OperationLogRequest.java
@@ -1,6 +1,10 @@
package io.metersphere.sdk.log.vo;
+import io.metersphere.sdk.constants.UserRoleType;
import io.metersphere.sdk.dto.BasePageRequest;
+import io.metersphere.sdk.valid.EnumValue;
+import io.metersphere.validation.groups.Created;
+import io.metersphere.validation.groups.Updated;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
@@ -39,6 +43,8 @@ public class OperationLogRequest extends BasePageRequest {
@Schema(title = "名称")
private String content;
+ @Schema(title = "级别 系统|组织|项目")
+ @EnumValue(enumClass = UserRoleType.class, groups = {Created.class, Updated.class})
private String level;
}
diff --git a/backend/framework/sdk/src/main/java/io/metersphere/sdk/mapper/BaseOperationLogMapper.xml b/backend/framework/sdk/src/main/java/io/metersphere/sdk/mapper/BaseOperationLogMapper.xml
index 95d3084299..c25b1378ec 100644
--- a/backend/framework/sdk/src/main/java/io/metersphere/sdk/mapper/BaseOperationLogMapper.xml
+++ b/backend/framework/sdk/src/main/java/io/metersphere/sdk/mapper/BaseOperationLogMapper.xml
@@ -22,10 +22,10 @@
AND t.create_time BETWEEN #{request.startTime} AND #{request.endTime}
- AND t.project_id != 'system'
+ AND t.project_id ]]> 'SYSTEM'
- AND t.project_id ]]> ''
+ AND t.project_id ]]> 'ORGANIZATION'
AND t.project_id IN
diff --git a/backend/framework/sdk/src/main/java/io/metersphere/sdk/service/SystemParameterService.java b/backend/framework/sdk/src/main/java/io/metersphere/sdk/service/SystemParameterService.java
index f2356c57d3..4084463171 100644
--- a/backend/framework/sdk/src/main/java/io/metersphere/sdk/service/SystemParameterService.java
+++ b/backend/framework/sdk/src/main/java/io/metersphere/sdk/service/SystemParameterService.java
@@ -1,6 +1,7 @@
package io.metersphere.sdk.service;
import io.metersphere.sdk.constants.HttpMethodConstants;
+import io.metersphere.sdk.constants.OperationLogConstants;
import io.metersphere.sdk.constants.ParamConstants;
import io.metersphere.sdk.dto.BaseSystemConfigDTO;
import io.metersphere.sdk.dto.EMailInfoDto;
@@ -222,8 +223,8 @@ public class SystemParameterService {
public LogDTO updateBaseLog(List systemParameter) {
List originalValue = getOriginalValue(systemParameter);
LogDTO dto = new LogDTO(
- "system",
- "",
+ OperationLogConstants.SYSTEM,
+ OperationLogConstants.SYSTEM,
"system-parameter",
null,
OperationLogType.ADD.name(),
@@ -239,8 +240,8 @@ public class SystemParameterService {
public LogDTO updateLog(List systemParameter) {
List originalValue = getOriginalValue(systemParameter);
LogDTO dto = new LogDTO(
- "system",
- "",
+ OperationLogConstants.SYSTEM,
+ OperationLogConstants.SYSTEM,
"system-parameter",
null,
OperationLogType.ADD.name(),
diff --git a/backend/framework/sdk/src/main/java/io/metersphere/sdk/service/TestResourcePoolService.java b/backend/framework/sdk/src/main/java/io/metersphere/sdk/service/TestResourcePoolService.java
index 4cf0bf4195..8584bcfbcb 100644
--- a/backend/framework/sdk/src/main/java/io/metersphere/sdk/service/TestResourcePoolService.java
+++ b/backend/framework/sdk/src/main/java/io/metersphere/sdk/service/TestResourcePoolService.java
@@ -1,6 +1,7 @@
package io.metersphere.sdk.service;
import io.metersphere.sdk.constants.HttpMethodConstants;
+import io.metersphere.sdk.constants.OperationLogConstants;
import io.metersphere.sdk.constants.ResourcePoolTypeEnum;
import io.metersphere.sdk.dto.*;
import io.metersphere.sdk.exception.MSException;
@@ -278,8 +279,8 @@ public class TestResourcePoolService {
public LogDTO addLog(TestResourcePoolRequest request) {
LogDTO dto = new LogDTO(
- "system",
- "",
+ OperationLogConstants.SYSTEM,
+ OperationLogConstants.SYSTEM,
request.getId(),
null,
OperationLogType.ADD.name(),
@@ -296,8 +297,8 @@ public class TestResourcePoolService {
TestResourcePool pool = testResourcePoolMapper.selectByPrimaryKey(id);
if (pool != null) {
LogDTO dto = new LogDTO(
- "system",
- "",
+ OperationLogConstants.SYSTEM,
+ OperationLogConstants.SYSTEM,
id,
pool.getCreateUser(),
OperationLogType.DELETE.name(),
@@ -317,8 +318,8 @@ public class TestResourcePoolService {
TestResourcePool pool = testResourcePoolMapper.selectByPrimaryKey(resourcePoolId);
if (pool != null) {
LogDTO dto = new LogDTO(
- "system",
- "",
+ OperationLogConstants.SYSTEM,
+ OperationLogConstants.SYSTEM,
pool.getId(),
pool.getCreateUser(),
OperationLogType.UPDATE.name(),
diff --git a/backend/services/system-setting/src/main/java/io/metersphere/system/service/OrganizationService.java b/backend/services/system-setting/src/main/java/io/metersphere/system/service/OrganizationService.java
index 533d2ec5c5..07e1799768 100644
--- a/backend/services/system-setting/src/main/java/io/metersphere/system/service/OrganizationService.java
+++ b/backend/services/system-setting/src/main/java/io/metersphere/system/service/OrganizationService.java
@@ -3,10 +3,7 @@ package io.metersphere.system.service;
import io.metersphere.project.domain.Project;
import io.metersphere.project.domain.ProjectExample;
import io.metersphere.project.mapper.ProjectMapper;
-import io.metersphere.sdk.constants.HttpMethodConstants;
-import io.metersphere.sdk.constants.InternalUserRole;
-import io.metersphere.sdk.constants.UserRoleEnum;
-import io.metersphere.sdk.constants.UserRoleType;
+import io.metersphere.sdk.constants.*;
import io.metersphere.sdk.dto.LogDTO;
import io.metersphere.sdk.dto.OptionDTO;
import io.metersphere.sdk.exception.MSException;
@@ -284,7 +281,7 @@ public class OrganizationService {
userRoleRelationMapper.insert(userRoleRelation);
//add Log
String path = add ? "/organization/add-member" : "/organization/role/update-member";
- setLog(organizationId, "system", path, OperationLogModule.ORGANIZATION_MEMBER, "成员", logDTOList, memberId, userRoleRelation, add);
+ setLog(organizationId, OperationLogConstants.ORGANIZATION, path, OperationLogModule.ORGANIZATION_MEMBER, "成员", logDTOList, memberId, userRoleRelation, add);
}
}
});
@@ -389,7 +386,7 @@ public class OrganizationService {
}
for (UserRoleRelation userRoleWidthOrgRelation : userRoleWidthOrgRelations) {
LogDTO dto = new LogDTO(
- "system",
+ OperationLogConstants.ORGANIZATION,
organizationId,
userRoleWidthOrgRelation.getId(),
userRoleWidthOrgRelation.getCreateUser(),
@@ -468,7 +465,7 @@ public class OrganizationService {
userRoleRelationMapper.insert(userRoleRelation);
//add Log
String path = "/organization/update-member";
- setLog(organizationId, "system", path, OperationLogModule.ORGANIZATION_MEMBER, "成员", logDTOList, memberId, userRoleRelation, false);
+ setLog(organizationId, OperationLogConstants.ORGANIZATION, path, OperationLogModule.ORGANIZATION_MEMBER, "成员", logDTOList, memberId, userRoleRelation, false);
});
}
@@ -497,7 +494,7 @@ public class OrganizationService {
userRoleRelationMapper.insert(userRoleRelation);
//add Log
String path = "/organization/update-member";
- setLog(organizationId, "system", path, OperationLogModule.ORGANIZATION_MEMBER, "成员", logDTOList, memberId, userRoleRelation, false);
+ setLog(organizationId, OperationLogConstants.ORGANIZATION, path, OperationLogModule.ORGANIZATION_MEMBER, "成员", logDTOList, memberId, userRoleRelation, false);
});
}
@@ -676,8 +673,8 @@ public class OrganizationService {
*/
private void setLog(String organizationId, String createUser, String type, String content, String path, Object originalValue, Object modifiedValue, List logs) {
LogDTO dto = new LogDTO(
- "system",
- "system",
+ OperationLogConstants.SYSTEM,
+ OperationLogConstants.SYSTEM,
organizationId,
createUser,
type,
diff --git a/backend/services/system-setting/src/main/java/io/metersphere/system/service/OrganizationUserRoleLogService.java b/backend/services/system-setting/src/main/java/io/metersphere/system/service/OrganizationUserRoleLogService.java
index 2c6b84ca07..dcc9a8d47d 100644
--- a/backend/services/system-setting/src/main/java/io/metersphere/system/service/OrganizationUserRoleLogService.java
+++ b/backend/services/system-setting/src/main/java/io/metersphere/system/service/OrganizationUserRoleLogService.java
@@ -1,5 +1,6 @@
package io.metersphere.system.service;
+import io.metersphere.sdk.constants.OperationLogConstants;
import io.metersphere.sdk.dto.LogDTO;
import io.metersphere.sdk.dto.request.PermissionSettingUpdateRequest;
import io.metersphere.sdk.log.constants.OperationLogModule;
@@ -27,7 +28,7 @@ public class OrganizationUserRoleLogService {
*/
public LogDTO addLog(OrganizationUserRoleEditRequest request) {
LogDTO dto = new LogDTO(
- "",
+ OperationLogConstants.ORGANIZATION,
request.getScopeId(),
null,
null,
@@ -46,7 +47,7 @@ public class OrganizationUserRoleLogService {
*/
public LogDTO updateLog(OrganizationUserRoleEditRequest request) {
LogDTO dto = new LogDTO(
- "",
+ OperationLogConstants.ORGANIZATION,
request.getScopeId(),
null,
null,
@@ -66,7 +67,7 @@ public class OrganizationUserRoleLogService {
public LogDTO deleteLog(String id) {
UserRole userRole = userRoleMapper.selectByPrimaryKey(id);
LogDTO dto = new LogDTO(
- "",
+ OperationLogConstants.ORGANIZATION,
userRole.getScopeId(),
null,
null,
@@ -105,7 +106,7 @@ public class OrganizationUserRoleLogService {
private LogDTO getLog(String roleId) {
UserRole userRole = userRoleMapper.selectByPrimaryKey(roleId);
return new LogDTO(
- "",
+ OperationLogConstants.ORGANIZATION,
userRole.getScopeId(),
null,
null,
diff --git a/backend/services/system-setting/src/main/java/io/metersphere/system/service/SystemProjectService.java b/backend/services/system-setting/src/main/java/io/metersphere/system/service/SystemProjectService.java
index d1c56ba8de..0b55f41fce 100644
--- a/backend/services/system-setting/src/main/java/io/metersphere/system/service/SystemProjectService.java
+++ b/backend/services/system-setting/src/main/java/io/metersphere/system/service/SystemProjectService.java
@@ -5,6 +5,7 @@ import io.metersphere.project.domain.ProjectExample;
import io.metersphere.project.mapper.ProjectMapper;
import io.metersphere.sdk.constants.HttpMethodConstants;
import io.metersphere.sdk.constants.InternalUserRole;
+import io.metersphere.sdk.constants.OperationLogConstants;
import io.metersphere.sdk.dto.AddProjectRequest;
import io.metersphere.sdk.dto.LogDTO;
import io.metersphere.sdk.dto.ProjectDTO;
@@ -346,7 +347,7 @@ public class SystemProjectService {
// delete project
projectMapper.deleteByPrimaryKey(project.getId());
setLog(project.getId(), "null", Translator.get("delete") + Translator.get("project") + ": " + project.getName(),
- "system", "", OperationLogType.DELETE.name(), "", logDTOList);
+ OperationLogConstants.SYSTEM, OperationLogConstants.SYSTEM, OperationLogType.DELETE.name(), "", logDTOList);
});
operationLogService.batchAdd(logDTOList);
}
@@ -364,8 +365,8 @@ public class SystemProjectService {
private static void setLog(String projectId, String path, String content, String userId, Object originalValue,
String type, String method, List logDTOList) {
LogDTO dto = new LogDTO(
- "system",
- "system",
+ OperationLogConstants.SYSTEM,
+ OperationLogConstants.SYSTEM,
projectId,
userId,
type,
diff --git a/backend/services/system-setting/src/main/java/io/metersphere/system/service/UserRoleRelationService.java b/backend/services/system-setting/src/main/java/io/metersphere/system/service/UserRoleRelationService.java
index 65903195f8..5c8dcb4658 100644
--- a/backend/services/system-setting/src/main/java/io/metersphere/system/service/UserRoleRelationService.java
+++ b/backend/services/system-setting/src/main/java/io/metersphere/system/service/UserRoleRelationService.java
@@ -1,5 +1,6 @@
package io.metersphere.system.service;
+import io.metersphere.sdk.constants.OperationLogConstants;
import io.metersphere.sdk.constants.UserRoleEnum;
import io.metersphere.sdk.dto.LogDTO;
import io.metersphere.sdk.log.constants.OperationLogModule;
@@ -61,8 +62,8 @@ public class UserRoleRelationService {
userRoleList.forEach(userRole -> {
LogDTO log = new LogDTO();
log.setId(UUID.randomUUID().toString());
- log.setProjectId("system");
- log.setOrganizationId("");
+ log.setProjectId(OperationLogConstants.SYSTEM);
+ log.setOrganizationId(OperationLogConstants.SYSTEM);
log.setType(operationType);
log.setCreateUser(operator);
log.setModule(OperationLogModule.SYSTEM_USER);
diff --git a/backend/services/system-setting/src/main/java/io/metersphere/system/service/UserService.java b/backend/services/system-setting/src/main/java/io/metersphere/system/service/UserService.java
index 6f57670ab8..af40c3e352 100644
--- a/backend/services/system-setting/src/main/java/io/metersphere/system/service/UserService.java
+++ b/backend/services/system-setting/src/main/java/io/metersphere/system/service/UserService.java
@@ -2,6 +2,7 @@ package io.metersphere.system.service;
import com.alibaba.excel.EasyExcelFactory;
import io.metersphere.sdk.constants.HttpMethodConstants;
+import io.metersphere.sdk.constants.OperationLogConstants;
import io.metersphere.sdk.dto.BasePageRequest;
import io.metersphere.sdk.dto.ExcelParseDTO;
import io.metersphere.sdk.dto.LogDTO;
@@ -71,8 +72,8 @@ public class UserService {
LogDTO log = new LogDTO();
log.setId(UUID.randomUUID().toString());
log.setCreateUser(user.getCreateUser());
- log.setProjectId("system");
- log.setOrganizationId("");
+ log.setProjectId(OperationLogConstants.SYSTEM);
+ log.setOrganizationId(OperationLogConstants.SYSTEM);
log.setType(OperationLogType.ADD.name());
log.setModule(OperationLogModule.SYSTEM_USER);
log.setMethod("addUser");
@@ -312,8 +313,8 @@ public class UserService {
User user = userMapper.selectByPrimaryKey(request.getId());
if (user != null) {
LogDTO dto = new LogDTO(
- "system",
- "",
+ OperationLogConstants.SYSTEM,
+ OperationLogConstants.SYSTEM,
request.getId(),
null,
OperationLogType.UPDATE.name(),
@@ -332,8 +333,8 @@ public class UserService {
User user = userMapper.selectByPrimaryKey(userId);
if (user != null) {
LogDTO dto = new LogDTO(
- "system",
- "",
+ OperationLogConstants.SYSTEM,
+ OperationLogConstants.SYSTEM,
userId,
null,
OperationLogType.UPDATE.name(),
@@ -354,8 +355,8 @@ public class UserService {
if (user != null) {
LogDTO dto = new LogDTO(
- "system",
- "",
+ OperationLogConstants.SYSTEM,
+ OperationLogConstants.SYSTEM,
user.getId(),
user.getCreateUser(),
OperationLogType.DELETE.name(),
diff --git a/backend/services/system-setting/src/test/java/io/metersphere/system/controller/OperationLogControllerTests.java b/backend/services/system-setting/src/test/java/io/metersphere/system/controller/OperationLogControllerTests.java
index d6115ab324..ebe598971c 100644
--- a/backend/services/system-setting/src/test/java/io/metersphere/system/controller/OperationLogControllerTests.java
+++ b/backend/services/system-setting/src/test/java/io/metersphere/system/controller/OperationLogControllerTests.java
@@ -141,7 +141,7 @@ public class OperationLogControllerTests extends BaseTest {
this.requestGetWithOkAndReturn(USER_LIST);
// @@校验权限
- // requestGetPermissionTest(PermissionConstants.SYSTEM_OPERATING_LOG_READ, OPTIONS_LIST);
+ // requestGetPermissionTest(PermissionConstants.SYSTEM_OPERATING_LOG_READ, USER_LIST);
}
@Test
diff --git a/backend/services/system-setting/src/test/resources/dml/init_operation_log_test.sql b/backend/services/system-setting/src/test/resources/dml/init_operation_log_test.sql
index d5551f88eb..72495b6801 100644
--- a/backend/services/system-setting/src/test/resources/dml/init_operation_log_test.sql
+++ b/backend/services/system-setting/src/test/resources/dml/init_operation_log_test.sql
@@ -7,10 +7,10 @@ INSERT INTO project (id, num, organization_id, name, description, create_user, u
-- 初始化日志记录
-INSERT INTO operation_log(`id`, `project_id`, `organization_id`, `create_time`, `create_user`, `source_id`, `method`, `type`, `module`, `content`, `path`) VALUES (uuid(), 'system', '', 1689141859000, 'admin', '1', 'post', 'add', 'SYSTEM_PARAMETER_SETTING', '认证配置', '/system/authsource/add');
-INSERT INTO operation_log(`id`, `project_id`, `organization_id`, `create_time`, `create_user`, `source_id`, `method`, `type`, `module`, `content`, `path`) VALUES (uuid(), 'system', '', 1689141859000, 'admin', '1', 'post', 'update', 'SYSTEM_PARAMETER_SETTING', '认证配置', '/system/authsource/update');
-INSERT INTO operation_log(`id`, `project_id`, `organization_id`, `create_time`, `create_user`, `source_id`, `method`, `type`, `module`, `content`, `path`) VALUES (uuid(), '', 'organization_id_001', 1689141859000, 'admin', '1', 'post', 'add', 'SYSTEM_PARAMETER_SETTING', '认证配置', '/system/authsource/add');
-INSERT INTO operation_log(`id`, `project_id`, `organization_id`, `create_time`, `create_user`, `source_id`, `method`, `type`, `module`, `content`, `path`) VALUES (uuid(), '', 'organization_id_002', 1689141859000, 'admin', '1', 'post', 'update', 'SYSTEM_PARAMETER_SETTING', '认证配置', '/system/authsource/update');
+INSERT INTO operation_log(`id`, `project_id`, `organization_id`, `create_time`, `create_user`, `source_id`, `method`, `type`, `module`, `content`, `path`) VALUES (uuid(), 'SYSTEM', 'SYSTEM', 1689141859000, 'admin', '1', 'post', 'add', 'SYSTEM_PARAMETER_SETTING', '认证配置', '/system/authsource/add');
+INSERT INTO operation_log(`id`, `project_id`, `organization_id`, `create_time`, `create_user`, `source_id`, `method`, `type`, `module`, `content`, `path`) VALUES (uuid(), 'SYSTEM', 'SYSTEM', 1689141859000, 'admin', '1', 'post', 'update', 'SYSTEM_PARAMETER_SETTING', '认证配置', '/system/authsource/update');
+INSERT INTO operation_log(`id`, `project_id`, `organization_id`, `create_time`, `create_user`, `source_id`, `method`, `type`, `module`, `content`, `path`) VALUES (uuid(), 'ORGANIZATION', 'organization_id_001', 1689141859000, 'admin', '1', 'post', 'add', 'SYSTEM_PARAMETER_SETTING', '认证配置', '/system/authsource/add');
+INSERT INTO operation_log(`id`, `project_id`, `organization_id`, `create_time`, `create_user`, `source_id`, `method`, `type`, `module`, `content`, `path`) VALUES (uuid(), 'ORGANIZATION', 'organization_id_002', 1689141859000, 'admin', '1', 'post', 'update', 'SYSTEM_PARAMETER_SETTING', '认证配置', '/system/authsource/update');
INSERT INTO operation_log(`id`, `project_id`, `organization_id`, `create_time`, `create_user`, `source_id`, `method`, `type`, `module`, `content`, `path`) VALUES (uuid(), 'project_id_001', 'organization_id_001', 1689141859000, 'admin', '1', 'post', 'add', 'SYSTEM_PARAMETER_SETTING', '认证配置', '/system/authsource/add');
INSERT INTO operation_log(`id`, `project_id`, `organization_id`, `create_time`, `create_user`, `source_id`, `method`, `type`, `module`, `content`, `path`) VALUES (uuid(), 'project_id_001', 'organization_id_001', 1689141859000, 'admin', '1', 'post', 'update', 'SYSTEM_PARAMETER_SETTING', '认证配置', '/system/authsource/update');
INSERT INTO operation_log(`id`, `project_id`, `organization_id`, `create_time`, `create_user`, `source_id`, `method`, `type`, `module`, `content`, `path`) VALUES (uuid(), 'project_id_002', 'organization_id_001', 1689141859000, 'admin', '1', 'post', 'add', 'SYSTEM_PARAMETER_SETTING', '认证配置', '/system/authsource/add');