SpringDemo/src/main/java/com/example/springdemo/service/PermissionsServiceImpl.java

58 lines
1.8 KiB
Java
Raw Normal View History

2023-11-07 15:44:33 +00:00
package com.example.springdemo.service;
import com.example.springdemo.dao.PermissionsRepository;
import com.example.springdemo.dao.RolesPermissionsRepository;
2023-11-07 15:44:33 +00:00
import com.example.springdemo.entities.RBAC.Permissions;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Optional;
2023-11-07 15:44:33 +00:00
@Service
public class PermissionsServiceImpl implements PermissionsService {
@Resource
private PermissionsRepository permissionsRepository;
@Resource
private RolesPermissionsRepository rolesPermissionsRepository;
2023-11-07 15:44:33 +00:00
@Override
@Transactional(rollbackFor = Exception.class)
public Permissions addPermission(Permissions permission) {
return permissionsRepository.save(permission);
2023-11-07 15:44:33 +00:00
}
@Override
@Transactional(rollbackFor = Exception.class)
public Permissions updatePermission(Permissions permission) {
return permissionsRepository.save(permission);
2023-11-07 15:44:33 +00:00
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deletePermissionById(Long permissionId) {
if (this.checkPermissionsRolesIfExist(permissionId)) {
//删除权限与角色的关联关系
rolesPermissionsRepository.deleteByPermissionsId(permissionId);
}
//删除权限
permissionsRepository.deleteById(permissionId);
}
private boolean checkPermissionsRolesIfExist(Long permissionId) {
return rolesPermissionsRepository.findByPermissionsId(permissionId).isPresent();
2023-11-07 15:44:33 +00:00
}
@Override
public Optional<Permissions> findById(Long permissionId) {
return permissionsRepository.findById(permissionId);
2023-11-07 15:44:33 +00:00
}
@Override
public List<Permissions> findAllPermissions() {
2023-11-07 15:44:33 +00:00
return permissionsRepository.findAll();
}
}