diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/PermissionServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/PermissionServiceImpl.java index aff8812..e912cc4 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/PermissionServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/PermissionServiceImpl.java @@ -9,11 +9,10 @@ import com.electromagnetic.industry.software.manage.pojo.models.RolePermission; import com.electromagnetic.industry.software.manage.pojo.models.UserRole; import com.electromagnetic.industry.software.manage.service.PermissionService; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; @Service @@ -32,16 +31,19 @@ public class PermissionServiceImpl implements PermissionService { * @return */ @Override + @Transactional public Map getUserPermission(String userId, String id) { List roleIds = getRoles(userId); - + // 只有当 roleIds 不为空且不为 null 时,才添加 in 条件 + if (roleIds == null || roleIds.isEmpty()) { + return transToMap(new ArrayList<>()); + } LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); queryWrapper1.select(RolePermission::getPermissionCode) .eq(RolePermission::getFileId, id) .in(RolePermission::getRoleId, roleIds); List permissionCodes = rolePermissionMapper.selectObjs(queryWrapper1).stream().map(Object::toString).collect(Collectors.toList()); - return transToMap(permissionCodes); }