feat: rename @Operation to @AuditLog
This commit is contained in:
parent
5b9728282b
commit
71ac0e521e
|
@ -4,7 +4,7 @@ import com.databasir.api.validator.DatabaseTypeValidator;
|
|||
import com.databasir.common.JsonData;
|
||||
import com.databasir.core.domain.database.data.*;
|
||||
import com.databasir.core.domain.database.service.DatabaseTypeService;
|
||||
import com.databasir.core.domain.log.annotation.Operation;
|
||||
import com.databasir.core.domain.log.annotation.AuditLog;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
|
@ -43,7 +43,7 @@ public class DatabaseTypeController {
|
|||
}
|
||||
|
||||
@PostMapping(Routes.DatabaseType.CREATE)
|
||||
@Operation(module = Operation.Modules.DATABASE_TYPE, name = "创建数据库类型")
|
||||
@AuditLog(module = AuditLog.Modules.DATABASE_TYPE, name = "创建数据库类型")
|
||||
@PreAuthorize("hasAnyAuthority('SYS_OWNER')")
|
||||
public JsonData<Integer> create(@RequestBody @Valid DatabaseTypeCreateRequest request) {
|
||||
databaseTypeValidator.isValidUrlPattern(request.getUrlPattern());
|
||||
|
@ -52,7 +52,7 @@ public class DatabaseTypeController {
|
|||
}
|
||||
|
||||
@PatchMapping(Routes.DatabaseType.UPDATE)
|
||||
@Operation(module = Operation.Modules.DATABASE_TYPE, name = "更新数据库类型")
|
||||
@AuditLog(module = AuditLog.Modules.DATABASE_TYPE, name = "更新数据库类型")
|
||||
@PreAuthorize("hasAnyAuthority('SYS_OWNER')")
|
||||
public JsonData<Void> update(@RequestBody @Valid DatabaseTypeUpdateRequest request) {
|
||||
databaseTypeValidator.isValidUrlPattern(request.getUrlPattern());
|
||||
|
@ -61,7 +61,7 @@ public class DatabaseTypeController {
|
|||
}
|
||||
|
||||
@DeleteMapping(Routes.DatabaseType.DELETE_ONE)
|
||||
@Operation(module = Operation.Modules.DATABASE_TYPE, name = "删除数据库类型")
|
||||
@AuditLog(module = AuditLog.Modules.DATABASE_TYPE, name = "删除数据库类型")
|
||||
@PreAuthorize("hasAnyAuthority('SYS_OWNER')")
|
||||
public JsonData<Void> delete(@PathVariable Integer id) {
|
||||
databaseTypeService.deleteById(id);
|
||||
|
|
|
@ -5,7 +5,7 @@ import com.databasir.common.JsonData;
|
|||
import com.databasir.core.domain.document.data.*;
|
||||
import com.databasir.core.domain.document.generator.DocumentFileType;
|
||||
import com.databasir.core.domain.document.service.DocumentService;
|
||||
import com.databasir.core.domain.log.annotation.Operation;
|
||||
import com.databasir.core.domain.log.annotation.AuditLog;
|
||||
import com.databasir.core.domain.project.service.ProjectService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.data.domain.Page;
|
||||
|
@ -36,7 +36,7 @@ public class DocumentController {
|
|||
private final ProjectService projectService;
|
||||
|
||||
@PostMapping(Routes.Document.SYNC_ONE)
|
||||
@Operation(module = Operation.Modules.PROJECT, name = "文档同步", involvedProjectId = "#projectId")
|
||||
@AuditLog(module = AuditLog.Modules.PROJECT, name = "文档同步", involvedProjectId = "#projectId")
|
||||
public JsonData<Integer> sync(@PathVariable Integer projectId) {
|
||||
Integer userId = LoginUserContext.getLoginUserId();
|
||||
Optional<Integer> taskIdOpt = projectService.createSyncTask(projectId, userId, false);
|
||||
|
|
|
@ -4,7 +4,7 @@ import com.databasir.api.config.security.DatabasirUserDetails;
|
|||
import com.databasir.common.JsonData;
|
||||
import com.databasir.core.domain.description.data.DocumentDescriptionSaveRequest;
|
||||
import com.databasir.core.domain.description.service.DocumentDescriptionService;
|
||||
import com.databasir.core.domain.log.annotation.Operation;
|
||||
import com.databasir.core.domain.log.annotation.AuditLog;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.security.core.context.SecurityContextHolder;
|
||||
|
@ -25,7 +25,7 @@ public class DocumentDescriptionController {
|
|||
|
||||
@PostMapping(Routes.DocumentDescription.SAVE)
|
||||
@PreAuthorize("hasAnyAuthority('SYS_OWNER', 'GROUP_OWNER?groupId='+#groupId, 'GROUP_MEMBER?groupId='+#groupId)")
|
||||
@Operation(module = Operation.Modules.PROJECT,
|
||||
@AuditLog(module = AuditLog.Modules.PROJECT,
|
||||
name = "更新描述",
|
||||
involvedProjectId = "#projectId")
|
||||
public JsonData<Void> save(@PathVariable Integer groupId,
|
||||
|
|
|
@ -2,7 +2,7 @@ package com.databasir.api;
|
|||
|
||||
import com.databasir.api.config.security.DatabasirUserDetails;
|
||||
import com.databasir.common.JsonData;
|
||||
import com.databasir.core.domain.log.annotation.Operation;
|
||||
import com.databasir.core.domain.log.annotation.AuditLog;
|
||||
import com.databasir.core.domain.discussion.data.DiscussionCreateRequest;
|
||||
import com.databasir.core.domain.discussion.data.DiscussionListCondition;
|
||||
import com.databasir.core.domain.discussion.data.DiscussionResponse;
|
||||
|
@ -39,7 +39,7 @@ public class DocumentDiscussionController {
|
|||
|
||||
@DeleteMapping(Routes.DocumentDiscussion.DELETE)
|
||||
@PreAuthorize("hasAnyAuthority('SYS_OWNER', 'GROUP_OWNER?groupId='+#groupId)")
|
||||
@Operation(module = Operation.Modules.PROJECT,
|
||||
@AuditLog(module = AuditLog.Modules.PROJECT,
|
||||
name = "删除评论",
|
||||
involvedProjectId = "#projectId")
|
||||
public JsonData<Void> delete(@PathVariable Integer groupId,
|
||||
|
@ -51,7 +51,7 @@ public class DocumentDiscussionController {
|
|||
|
||||
@PostMapping(Routes.DocumentDiscussion.CREATE)
|
||||
@PreAuthorize("hasAnyAuthority('SYS_OWNER', 'GROUP_OWNER?groupId='+#groupId, 'GROUP_MEMBER?groupId='+#groupId)")
|
||||
@Operation(module = Operation.Modules.PROJECT,
|
||||
@AuditLog(module = AuditLog.Modules.PROJECT,
|
||||
name = "新增评论",
|
||||
involvedProjectId = "#projectId")
|
||||
public JsonData<Void> create(@PathVariable Integer groupId,
|
||||
|
|
|
@ -4,7 +4,7 @@ import com.databasir.common.JsonData;
|
|||
import com.databasir.core.domain.document.data.DocumentTemplatePropertiesResponse;
|
||||
import com.databasir.core.domain.document.data.DocumentTemplatePropertiesUpdateRequest;
|
||||
import com.databasir.core.domain.document.service.DocumentTemplateService;
|
||||
import com.databasir.core.domain.log.annotation.Operation;
|
||||
import com.databasir.core.domain.log.annotation.AuditLog;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
@ -29,7 +29,7 @@ public class DocumentTemplateController {
|
|||
|
||||
@PatchMapping(Routes.DocumentTemplateProperty.API)
|
||||
@PreAuthorize("hasAnyAuthority('SYS_OWNER')")
|
||||
@Operation(module = Operation.Modules.SETTING, name = "更新模板")
|
||||
@AuditLog(module = AuditLog.Modules.SETTING, name = "更新模板")
|
||||
public JsonData<Void> updateByType(@RequestBody @Valid DocumentTemplatePropertiesUpdateRequest request) {
|
||||
documentTemplateService.updateByType(request);
|
||||
return JsonData.ok();
|
||||
|
|
|
@ -4,7 +4,7 @@ import com.databasir.api.validator.UserOperationValidator;
|
|||
import com.databasir.common.JsonData;
|
||||
import com.databasir.core.domain.group.data.*;
|
||||
import com.databasir.core.domain.group.service.GroupService;
|
||||
import com.databasir.core.domain.log.annotation.Operation;
|
||||
import com.databasir.core.domain.log.annotation.AuditLog;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
|
@ -32,7 +32,7 @@ public class GroupController {
|
|||
|
||||
@PostMapping(Routes.Group.CREATE)
|
||||
@PreAuthorize("hasAnyAuthority('SYS_OWNER')")
|
||||
@Operation(module = Operation.Modules.GROUP, name = "创建分组")
|
||||
@AuditLog(module = AuditLog.Modules.GROUP, name = "创建分组")
|
||||
public JsonData<Void> create(@RequestBody @Valid GroupCreateRequest request) {
|
||||
groupService.create(request);
|
||||
return JsonData.ok();
|
||||
|
@ -40,7 +40,7 @@ public class GroupController {
|
|||
|
||||
@PatchMapping(Routes.Group.UPDATE)
|
||||
@PreAuthorize("hasAnyAuthority('SYS_OWNER', 'GROUP_OWNER'.concat('?groupId='.concat(#request.id)))")
|
||||
@Operation(module = Operation.Modules.GROUP,
|
||||
@AuditLog(module = AuditLog.Modules.GROUP,
|
||||
name = "更新分组",
|
||||
involvedGroupId = "#request.id")
|
||||
public JsonData<Void> update(@RequestBody @Valid GroupUpdateRequest request) {
|
||||
|
@ -57,7 +57,7 @@ public class GroupController {
|
|||
|
||||
@DeleteMapping(Routes.Group.DELETE)
|
||||
@PreAuthorize("hasAnyAuthority('SYS_OWNER', 'GROUP_OWNER'.concat('?groupId='.concat(#groupId)))")
|
||||
@Operation(module = Operation.Modules.GROUP,
|
||||
@AuditLog(module = AuditLog.Modules.GROUP,
|
||||
name = "删除分组",
|
||||
involvedGroupId = "#groupId")
|
||||
public JsonData<Void> deleteById(@PathVariable Integer groupId) {
|
||||
|
@ -81,7 +81,7 @@ public class GroupController {
|
|||
|
||||
@PostMapping(Routes.Group.ADD_MEMBER)
|
||||
@PreAuthorize("hasAnyAuthority('SYS_OWNER', 'GROUP_OWNER'.concat('?groupId='.concat(#groupId)))")
|
||||
@Operation(module = Operation.Modules.GROUP,
|
||||
@AuditLog(module = AuditLog.Modules.GROUP,
|
||||
name = "添加组员",
|
||||
involvedGroupId = "#groupId",
|
||||
involvedUserId = "#request.userId")
|
||||
|
@ -98,7 +98,7 @@ public class GroupController {
|
|||
|
||||
@DeleteMapping(Routes.Group.DELETE_MEMBER)
|
||||
@PreAuthorize("hasAnyAuthority('SYS_OWNER', 'GROUP_OWNER'.concat('?groupId='.concat(#groupId)))")
|
||||
@Operation(module = Operation.Modules.GROUP,
|
||||
@AuditLog(module = AuditLog.Modules.GROUP,
|
||||
name = "移除组员",
|
||||
involvedGroupId = "#groupId",
|
||||
involvedUserId = "#userId")
|
||||
|
@ -111,7 +111,7 @@ public class GroupController {
|
|||
|
||||
@PatchMapping(Routes.Group.UPDATE_MEMBER)
|
||||
@PreAuthorize("hasAnyAuthority('SYS_OWNER', 'GROUP_OWNER'.concat('?groupId='.concat(#groupId)))")
|
||||
@Operation(module = Operation.Modules.GROUP,
|
||||
@AuditLog(module = AuditLog.Modules.GROUP,
|
||||
name = "更新组员角色",
|
||||
involvedGroupId = "#groupId",
|
||||
involvedUserId = "#userId")
|
||||
|
|
|
@ -4,7 +4,7 @@ import com.databasir.common.JsonData;
|
|||
import com.databasir.core.domain.app.OpenAuthAppService;
|
||||
import com.databasir.core.domain.app.data.*;
|
||||
import com.databasir.core.domain.app.handler.OpenAuthHandlers;
|
||||
import com.databasir.core.domain.log.annotation.Operation;
|
||||
import com.databasir.core.domain.log.annotation.AuditLog;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
|
@ -69,7 +69,7 @@ public class LoginAppController {
|
|||
@PostMapping(Routes.OAuth2App.CREATE)
|
||||
@PreAuthorize("hasAnyAuthority('SYS_OWNER')")
|
||||
@ResponseBody
|
||||
@Operation(module = Operation.Modules.LOGIN_APP, name = "创建登录应用")
|
||||
@AuditLog(module = AuditLog.Modules.LOGIN_APP, name = "创建登录应用")
|
||||
public JsonData<Integer> create(@RequestBody @Valid OAuthAppCreateRequest request) {
|
||||
Integer id = openAuthAppService.create(request);
|
||||
return JsonData.ok(id);
|
||||
|
@ -78,7 +78,7 @@ public class LoginAppController {
|
|||
@PatchMapping(Routes.OAuth2App.UPDATE)
|
||||
@PreAuthorize("hasAnyAuthority('SYS_OWNER')")
|
||||
@ResponseBody
|
||||
@Operation(module = Operation.Modules.LOGIN_APP, name = "更新登录应用")
|
||||
@AuditLog(module = AuditLog.Modules.LOGIN_APP, name = "更新登录应用")
|
||||
public JsonData<Void> updateById(@RequestBody @Valid OAuthAppUpdateRequest request) {
|
||||
openAuthAppService.updateById(request);
|
||||
return JsonData.ok();
|
||||
|
@ -87,7 +87,7 @@ public class LoginAppController {
|
|||
@DeleteMapping(Routes.OAuth2App.DELETE)
|
||||
@PreAuthorize("hasAnyAuthority('SYS_OWNER')")
|
||||
@ResponseBody
|
||||
@Operation(module = Operation.Modules.LOGIN_APP, name = "删除登录应用")
|
||||
@AuditLog(module = AuditLog.Modules.LOGIN_APP, name = "删除登录应用")
|
||||
public JsonData<Void> deleteById(@PathVariable Integer id) {
|
||||
openAuthAppService.deleteById(id);
|
||||
return JsonData.ok();
|
||||
|
|
|
@ -5,7 +5,7 @@ import com.databasir.common.DatabasirException;
|
|||
import com.databasir.common.JsonData;
|
||||
import com.databasir.common.exception.InvalidTokenException;
|
||||
import com.databasir.core.domain.DomainErrors;
|
||||
import com.databasir.core.domain.log.annotation.Operation;
|
||||
import com.databasir.core.domain.log.annotation.AuditLog;
|
||||
import com.databasir.core.domain.login.data.AccessTokenRefreshRequest;
|
||||
import com.databasir.core.domain.login.data.AccessTokenRefreshResponse;
|
||||
import com.databasir.core.domain.login.data.UserLoginResponse;
|
||||
|
@ -31,7 +31,7 @@ public class LoginController {
|
|||
private final LoginService loginService;
|
||||
|
||||
@GetMapping(Routes.Login.LOGOUT)
|
||||
@Operation(module = Operation.Modules.USER, name = "注销登录")
|
||||
@AuditLog(module = AuditLog.Modules.USER, name = "注销登录")
|
||||
public JsonData<Void> logout() {
|
||||
SecurityContextHolder.clearContext();
|
||||
return JsonData.ok();
|
||||
|
|
|
@ -3,7 +3,7 @@ package com.databasir.api;
|
|||
import com.databasir.api.config.security.DatabasirUserDetails;
|
||||
import com.databasir.api.validator.CronExpressionValidator;
|
||||
import com.databasir.common.JsonData;
|
||||
import com.databasir.core.domain.log.annotation.Operation;
|
||||
import com.databasir.core.domain.log.annotation.AuditLog;
|
||||
import com.databasir.core.domain.project.data.*;
|
||||
import com.databasir.core.domain.project.data.task.ProjectSimpleTaskResponse;
|
||||
import com.databasir.core.domain.project.data.task.ProjectTaskListCondition;
|
||||
|
@ -33,7 +33,7 @@ public class ProjectController {
|
|||
@PostMapping(Routes.GroupProject.CREATE)
|
||||
@PreAuthorize("hasAnyAuthority('SYS_OWNER', 'GROUP_OWNER?groupId='+#request.groupId, "
|
||||
+ "'GROUP_MEMBER?groupId='+#request.groupId)")
|
||||
@Operation(module = Operation.Modules.PROJECT,
|
||||
@AuditLog(module = AuditLog.Modules.PROJECT,
|
||||
name = "创建项目",
|
||||
involvedGroupId = "#request.groupId")
|
||||
public JsonData<Void> create(@RequestBody @Valid ProjectCreateRequest request) {
|
||||
|
@ -44,7 +44,7 @@ public class ProjectController {
|
|||
|
||||
@PatchMapping(Routes.GroupProject.UPDATE)
|
||||
@PreAuthorize("hasAnyAuthority('SYS_OWNER', 'GROUP_OWNER?groupId='+#groupId, 'GROUP_MEMBER?groupId='+#groupId)")
|
||||
@Operation(module = Operation.Modules.PROJECT,
|
||||
@AuditLog(module = AuditLog.Modules.PROJECT,
|
||||
name = "更新项目",
|
||||
involvedGroupId = "#groupId",
|
||||
involvedProjectId = "#request.id")
|
||||
|
@ -57,7 +57,7 @@ public class ProjectController {
|
|||
|
||||
@DeleteMapping(Routes.GroupProject.DELETE)
|
||||
@PreAuthorize("hasAnyAuthority('SYS_OWNER', 'GROUP_OWNER?groupId='+#groupId, 'GROUP_MEMBER?groupId='+#groupId)")
|
||||
@Operation(module = Operation.Modules.PROJECT,
|
||||
@AuditLog(module = AuditLog.Modules.PROJECT,
|
||||
name = "删除项目",
|
||||
involvedGroupId = "#groupId",
|
||||
involvedProjectId = "#projectId")
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package com.databasir.api;
|
||||
|
||||
import com.databasir.common.JsonData;
|
||||
import com.databasir.core.domain.log.annotation.Operation;
|
||||
import com.databasir.core.domain.log.annotation.AuditLog;
|
||||
import com.databasir.core.domain.system.data.SystemEmailResponse;
|
||||
import com.databasir.core.domain.system.data.SystemEmailUpdateRequest;
|
||||
import com.databasir.core.domain.system.service.SystemService;
|
||||
|
@ -28,14 +28,14 @@ public class SettingController {
|
|||
}
|
||||
|
||||
@DeleteMapping(Routes.Setting.DELETE_SYS_EMAIL)
|
||||
@Operation(module = Operation.Modules.SETTING, name = "重置系统邮箱")
|
||||
@AuditLog(module = AuditLog.Modules.SETTING, name = "重置系统邮箱")
|
||||
public JsonData<Void> deleteSysEmail() {
|
||||
systemService.deleteSystemEmail();
|
||||
return JsonData.ok();
|
||||
}
|
||||
|
||||
@PostMapping(Routes.Setting.UPDATE_SYS_EMAIL)
|
||||
@Operation(module = Operation.Modules.SETTING, name = "更新邮件配置")
|
||||
@AuditLog(module = AuditLog.Modules.SETTING, name = "更新邮件配置")
|
||||
public JsonData<Void> updateSystemEmailSetting(@RequestBody @Valid SystemEmailUpdateRequest request) {
|
||||
systemService.updateEmailSetting(request);
|
||||
return JsonData.ok();
|
||||
|
|
|
@ -5,7 +5,7 @@ import com.databasir.api.validator.UserOperationValidator;
|
|||
import com.databasir.common.JsonData;
|
||||
import com.databasir.common.exception.Forbidden;
|
||||
import com.databasir.core.domain.DomainErrors;
|
||||
import com.databasir.core.domain.log.annotation.Operation;
|
||||
import com.databasir.core.domain.log.annotation.AuditLog;
|
||||
import com.databasir.core.domain.user.data.*;
|
||||
import com.databasir.core.domain.user.service.UserService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
@ -37,7 +37,7 @@ public class UserController {
|
|||
|
||||
@PostMapping(Routes.User.DISABLE)
|
||||
@PreAuthorize("hasAnyAuthority('SYS_OWNER')")
|
||||
@Operation(module = Operation.Modules.USER, name = "禁用用户", involvedUserId = "#userId")
|
||||
@AuditLog(module = AuditLog.Modules.USER, name = "禁用用户", involvedUserId = "#userId")
|
||||
public JsonData<Void> disableUser(@PathVariable Integer userId) {
|
||||
if (userOperationValidator.isMyself(userId)) {
|
||||
throw DomainErrors.CANNOT_UPDATE_SELF_ENABLED_STATUS.exception();
|
||||
|
@ -48,7 +48,7 @@ public class UserController {
|
|||
|
||||
@PostMapping(Routes.User.ENABLE)
|
||||
@PreAuthorize("hasAnyAuthority('SYS_OWNER')")
|
||||
@Operation(module = Operation.Modules.USER, name = "启用用户", involvedUserId = "#userId")
|
||||
@AuditLog(module = AuditLog.Modules.USER, name = "启用用户", involvedUserId = "#userId")
|
||||
public JsonData<Void> enableUser(@PathVariable Integer userId) {
|
||||
if (userOperationValidator.isMyself(userId)) {
|
||||
throw DomainErrors.CANNOT_UPDATE_SELF_ENABLED_STATUS.exception();
|
||||
|
@ -59,7 +59,7 @@ public class UserController {
|
|||
|
||||
@PostMapping(Routes.User.CREATE)
|
||||
@PreAuthorize("hasAnyAuthority('SYS_OWNER')")
|
||||
@Operation(module = Operation.Modules.USER, name = "创建用户")
|
||||
@AuditLog(module = AuditLog.Modules.USER, name = "创建用户")
|
||||
public JsonData<Void> create(@RequestBody @Valid UserCreateRequest request) {
|
||||
userService.create(request, UserSource.MANUAL);
|
||||
return JsonData.ok();
|
||||
|
@ -82,7 +82,7 @@ public class UserController {
|
|||
|
||||
@PostMapping(Routes.User.RENEW_PASSWORD)
|
||||
@PreAuthorize("hasAnyAuthority('SYS_OWNER')")
|
||||
@Operation(module = Operation.Modules.USER, name = "重置用户密码", involvedUserId = "#userId")
|
||||
@AuditLog(module = AuditLog.Modules.USER, name = "重置用户密码", involvedUserId = "#userId")
|
||||
public JsonData<Void> renewPassword(@PathVariable Integer userId) {
|
||||
Integer operatorUserId = LoginUserContext.getLoginUserId();
|
||||
userService.renewPassword(operatorUserId, userId);
|
||||
|
@ -91,7 +91,7 @@ public class UserController {
|
|||
|
||||
@PostMapping(Routes.User.ADD_OR_REMOVE_SYS_OWNER)
|
||||
@PreAuthorize("hasAnyAuthority('SYS_OWNER')")
|
||||
@Operation(module = Operation.Modules.USER, name = "添加系统管理员", involvedUserId = "#userId")
|
||||
@AuditLog(module = AuditLog.Modules.USER, name = "添加系统管理员", involvedUserId = "#userId")
|
||||
public JsonData<Void> addSysOwner(@PathVariable Integer userId) {
|
||||
userOperationValidator.forbiddenIfUpdateSelfRole(userId);
|
||||
userService.addSysOwnerTo(userId);
|
||||
|
@ -100,7 +100,7 @@ public class UserController {
|
|||
|
||||
@DeleteMapping(Routes.User.ADD_OR_REMOVE_SYS_OWNER)
|
||||
@PreAuthorize("hasAnyAuthority('SYS_OWNER')")
|
||||
@Operation(module = Operation.Modules.USER, name = "移除系统管理员", involvedUserId = "#userId")
|
||||
@AuditLog(module = AuditLog.Modules.USER, name = "移除系统管理员", involvedUserId = "#userId")
|
||||
public JsonData<Void> removeSysOwner(@PathVariable Integer userId) {
|
||||
userOperationValidator.forbiddenIfUpdateSelfRole(userId);
|
||||
userService.removeSysOwnerFrom(userId);
|
||||
|
@ -108,7 +108,7 @@ public class UserController {
|
|||
}
|
||||
|
||||
@PostMapping(Routes.User.UPDATE_PASSWORD)
|
||||
@Operation(module = Operation.Modules.USER, name = "更新密码", involvedUserId = "#userId")
|
||||
@AuditLog(module = AuditLog.Modules.USER, name = "更新密码", involvedUserId = "#userId")
|
||||
public JsonData<Void> updatePassword(@PathVariable Integer userId,
|
||||
@RequestBody @Valid UserPasswordUpdateRequest request) {
|
||||
if (userOperationValidator.isMyself(userId)) {
|
||||
|
@ -120,7 +120,7 @@ public class UserController {
|
|||
}
|
||||
|
||||
@PostMapping(Routes.User.UPDATE_NICKNAME)
|
||||
@Operation(module = Operation.Modules.USER, name = "更新昵称", involvedUserId = "#userId")
|
||||
@AuditLog(module = AuditLog.Modules.USER, name = "更新昵称", involvedUserId = "#userId")
|
||||
public JsonData<Void> updateNickname(@PathVariable Integer userId,
|
||||
@RequestBody @Valid UserNicknameUpdateRequest request) {
|
||||
if (userOperationValidator.isMyself(userId)) {
|
||||
|
|
|
@ -2,7 +2,7 @@ package com.databasir.api.advice;
|
|||
|
||||
import com.databasir.api.config.security.DatabasirUserDetails;
|
||||
import com.databasir.common.JsonData;
|
||||
import com.databasir.core.domain.log.annotation.Operation;
|
||||
import com.databasir.core.domain.log.annotation.AuditLog;
|
||||
import com.databasir.core.domain.log.data.OperationLogRequest;
|
||||
import com.databasir.core.domain.log.service.OperationLogService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
@ -38,17 +38,17 @@ public class OperationLogAspect {
|
|||
private ParameterNameDiscoverer parameterNameDiscoverer = new LocalVariableTableParameterNameDiscoverer();
|
||||
|
||||
@AfterReturning(value = "@annotation(operation)", returning = "returnValue")
|
||||
public void log(JoinPoint joinPoint, Object returnValue, Operation operation) {
|
||||
public void log(JoinPoint joinPoint, Object returnValue, AuditLog operation) {
|
||||
saveLog(operation, joinPoint, (JsonData<Object>) returnValue);
|
||||
}
|
||||
|
||||
@AfterThrowing(value = "@annotation(operation)", throwing = "ex")
|
||||
public void log(JoinPoint joinPoint, RuntimeException ex, Operation operation) {
|
||||
public void log(JoinPoint joinPoint, RuntimeException ex, AuditLog operation) {
|
||||
saveLog(operation, joinPoint, JsonData.error("-1", ex.getMessage()));
|
||||
throw ex;
|
||||
}
|
||||
|
||||
private void saveLog(Operation operation, JoinPoint joinPoint, JsonData<Object> result) {
|
||||
private void saveLog(AuditLog operation, JoinPoint joinPoint, JsonData<Object> result) {
|
||||
MethodSignature signature = (MethodSignature) joinPoint.getSignature();
|
||||
Method method = signature.getMethod();
|
||||
Object[] arguments = joinPoint.getArgs();
|
||||
|
@ -65,7 +65,7 @@ public class OperationLogAspect {
|
|||
int userId = userId();
|
||||
String username = principal.getUserPojo().getUsername();
|
||||
String nickname = principal.getUserPojo().getNickname();
|
||||
if (userId == Operation.Types.SYSTEM_USER_ID) {
|
||||
if (userId == AuditLog.Types.SYSTEM_USER_ID) {
|
||||
username = "system";
|
||||
nickname = "system";
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ import java.lang.annotation.Target;
|
|||
|
||||
@Target(ElementType.METHOD)
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
public @interface Operation {
|
||||
public @interface AuditLog {
|
||||
|
||||
String module();
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package com.databasir.core.domain.log.service;
|
||||
|
||||
import com.databasir.common.JsonData;
|
||||
import com.databasir.core.domain.log.annotation.Operation;
|
||||
import com.databasir.core.domain.log.annotation.AuditLog;
|
||||
import com.databasir.core.domain.log.converter.OperationLogPojoConverter;
|
||||
import com.databasir.core.domain.log.converter.OperationLogRequestConverter;
|
||||
import com.databasir.core.domain.log.data.OperationLogPageCondition;
|
||||
|
@ -55,7 +55,7 @@ public class OperationLogService {
|
|||
OperationLogRequest log = OperationLogRequest.builder()
|
||||
.isSuccess(false)
|
||||
.operationCode("login")
|
||||
.operationModule(Operation.Modules.LOGIN)
|
||||
.operationModule(AuditLog.Modules.LOGIN)
|
||||
.operationName("登录")
|
||||
.operatorNickname(username)
|
||||
.operatorUsername(username)
|
||||
|
@ -81,7 +81,7 @@ public class OperationLogService {
|
|||
.isSuccess(success)
|
||||
.involvedUserId(user.getId())
|
||||
.operationCode("login")
|
||||
.operationModule(Operation.Modules.LOGIN)
|
||||
.operationModule(AuditLog.Modules.LOGIN)
|
||||
.operationName("登录")
|
||||
.operatorNickname(user.getNickname())
|
||||
.operatorUsername(user.getUsername())
|
||||
|
|
Loading…
Reference in New Issue