From f022d298e678c422fd920e5b56a18b63149613ea Mon Sep 17 00:00:00 2001 From: chiguyong Date: Tue, 17 Mar 2026 22:58:16 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=BB=9F=E4=B8=80=E4=BD=BF=E7=94=A8Busi?= =?UTF-8?q?nessException=E6=9B=BF=E6=8D=A2RuntimeException?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - RoleService 改用 BusinessException - PermissionService 改用 BusinessException - ProjectService 改用 BusinessException - SpaceNodeService 改用 BusinessException - LoginService 添加 @Transactional - 扩展错误码:PERMISSION_002, SPACE_001, SPACE_002 --- .../java/com/ether/pms/auth/service/LoginService.java | 2 ++ .../com/ether/pms/auth/service/PermissionService.java | 6 ++++-- .../main/java/com/ether/pms/auth/service/RoleService.java | 8 +++++--- .../src/main/java/com/ether/pms/common/ErrorCode.java | 4 ++++ .../java/com/ether/pms/mdm/service/ProjectService.java | 8 +++++--- .../java/com/ether/pms/mdm/service/SpaceNodeService.java | 6 ++++-- 6 files changed, 24 insertions(+), 10 deletions(-) diff --git a/module-auth/src/main/java/com/ether/pms/auth/service/LoginService.java b/module-auth/src/main/java/com/ether/pms/auth/service/LoginService.java index 6bf1140..80c09b0 100644 --- a/module-auth/src/main/java/com/ether/pms/auth/service/LoginService.java +++ b/module-auth/src/main/java/com/ether/pms/auth/service/LoginService.java @@ -7,6 +7,7 @@ import com.ether.pms.common.BusinessException; import com.ether.pms.common.ErrorCode; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.HashMap; import java.util.Map; @@ -20,6 +21,7 @@ public class LoginService { private final PasswordService passwordService; private final LoginAttemptService loginAttemptService; + @Transactional public Map login(String username, String password, String ip) { if (loginAttemptService.isLockedOut(username)) { throw new BusinessException(ErrorCode.AUTH_002); diff --git a/module-auth/src/main/java/com/ether/pms/auth/service/PermissionService.java b/module-auth/src/main/java/com/ether/pms/auth/service/PermissionService.java index 0eae3ab..1588010 100644 --- a/module-auth/src/main/java/com/ether/pms/auth/service/PermissionService.java +++ b/module-auth/src/main/java/com/ether/pms/auth/service/PermissionService.java @@ -2,6 +2,8 @@ package com.ether.pms.auth.service; import com.ether.pms.auth.entity.Permission; import com.ether.pms.auth.repository.PermissionRepository; +import com.ether.pms.common.BusinessException; +import com.ether.pms.common.ErrorCode; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -21,7 +23,7 @@ public class PermissionService { public Permission findById(UUID id) { return permissionRepository.findById(id) - .orElseThrow(() -> new RuntimeException("权限不存在")); + .orElseThrow(() -> new BusinessException(ErrorCode.PERMISSION_002)); } public List findByType(String type) { @@ -39,7 +41,7 @@ public class PermissionService { @Transactional public Permission create(Permission permission) { if (permissionRepository.existsByCode(permission.getCode())) { - throw new RuntimeException("权限编码已存在"); + throw new BusinessException(ErrorCode.PERMISSION_001); } return permissionRepository.save(permission); } diff --git a/module-auth/src/main/java/com/ether/pms/auth/service/RoleService.java b/module-auth/src/main/java/com/ether/pms/auth/service/RoleService.java index d46fcd7..e65152d 100644 --- a/module-auth/src/main/java/com/ether/pms/auth/service/RoleService.java +++ b/module-auth/src/main/java/com/ether/pms/auth/service/RoleService.java @@ -4,6 +4,8 @@ import com.ether.pms.auth.entity.Role; import com.ether.pms.auth.entity.Permission; import com.ether.pms.auth.repository.RoleRepository; import com.ether.pms.auth.repository.PermissionRepository; +import com.ether.pms.common.BusinessException; +import com.ether.pms.common.ErrorCode; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -24,12 +26,12 @@ public class RoleService { public Role findById(UUID id) { return roleRepository.findById(id) - .orElseThrow(() -> new RuntimeException("角色不存在")); + .orElseThrow(() -> new BusinessException(ErrorCode.ROLE_002)); } public Role findByCode(String code) { return roleRepository.findByCode(code) - .orElseThrow(() -> new RuntimeException("角色不存在")); + .orElseThrow(() -> new BusinessException(ErrorCode.ROLE_002)); } public List findByProjectId(String projectId) { @@ -39,7 +41,7 @@ public class RoleService { @Transactional public Role create(Role role) { if (roleRepository.existsByCode(role.getCode())) { - throw new RuntimeException("角色编码已存在"); + throw new BusinessException(ErrorCode.ROLE_001); } return roleRepository.save(role); } diff --git a/module-common/src/main/java/com/ether/pms/common/ErrorCode.java b/module-common/src/main/java/com/ether/pms/common/ErrorCode.java index de5d673..a434fd4 100644 --- a/module-common/src/main/java/com/ether/pms/common/ErrorCode.java +++ b/module-common/src/main/java/com/ether/pms/common/ErrorCode.java @@ -24,10 +24,14 @@ public enum ErrorCode { ROLE_002(3002, "角色不存在"), PERMISSION_001(4001, "权限编码已存在"), + PERMISSION_002(4002, "权限不存在"), PROJECT_001(5001, "项目编码已存在"), PROJECT_002(5002, "项目不存在"), + SPACE_001(6001, "空间节点编码已存在"), + SPACE_002(6002, "空间节点不存在"), + SYSTEM_ERROR(9999, "系统错误"); private final int code; diff --git a/module-mdm/src/main/java/com/ether/pms/mdm/service/ProjectService.java b/module-mdm/src/main/java/com/ether/pms/mdm/service/ProjectService.java index 6c7aa88..1054dc1 100644 --- a/module-mdm/src/main/java/com/ether/pms/mdm/service/ProjectService.java +++ b/module-mdm/src/main/java/com/ether/pms/mdm/service/ProjectService.java @@ -2,6 +2,8 @@ package com.ether.pms.mdm.service; import com.ether.pms.mdm.entity.Project; import com.ether.pms.mdm.repository.ProjectRepository; +import com.ether.pms.common.BusinessException; +import com.ether.pms.common.ErrorCode; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -21,18 +23,18 @@ public class ProjectService { public Project findById(UUID id) { return projectRepository.findById(id) - .orElseThrow(() -> new RuntimeException("项目不存在")); + .orElseThrow(() -> new BusinessException(ErrorCode.PROJECT_002)); } public Project findByCode(String code) { return projectRepository.findByCode(code) - .orElseThrow(() -> new RuntimeException("项目不存在")); + .orElseThrow(() -> new BusinessException(ErrorCode.PROJECT_002)); } @Transactional public Project create(Project project) { if (projectRepository.existsByCode(project.getCode())) { - throw new RuntimeException("项目编码已存在"); + throw new BusinessException(ErrorCode.PROJECT_001); } return projectRepository.save(project); } diff --git a/module-mdm/src/main/java/com/ether/pms/mdm/service/SpaceNodeService.java b/module-mdm/src/main/java/com/ether/pms/mdm/service/SpaceNodeService.java index eaa846c..9bfeade 100644 --- a/module-mdm/src/main/java/com/ether/pms/mdm/service/SpaceNodeService.java +++ b/module-mdm/src/main/java/com/ether/pms/mdm/service/SpaceNodeService.java @@ -2,6 +2,8 @@ package com.ether.pms.mdm.service; import com.ether.pms.mdm.entity.SpaceNode; import com.ether.pms.mdm.repository.SpaceNodeRepository; +import com.ether.pms.common.BusinessException; +import com.ether.pms.common.ErrorCode; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -21,7 +23,7 @@ public class SpaceNodeService { public SpaceNode findById(UUID id) { return spaceNodeRepository.findById(id) - .orElseThrow(() -> new RuntimeException("空间节点不存在")); + .orElseThrow(() -> new BusinessException(ErrorCode.SPACE_002)); } public List findByProject(String projectCode) { @@ -39,7 +41,7 @@ public class SpaceNodeService { @Transactional public SpaceNode create(SpaceNode spaceNode) { if (spaceNodeRepository.existsByCode(spaceNode.getCode())) { - throw new RuntimeException("空间节点编码已存在"); + throw new BusinessException(ErrorCode.SPACE_001); } return spaceNodeRepository.save(spaceNode); }