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); }