fix(角色提升):
修复角色无法提升问题
This commit is contained in:
parent
cf7d44f6dd
commit
ea48169098
@ -59,9 +59,9 @@ public class RoleController {
|
|||||||
@PatchMapping("{id}")
|
@PatchMapping("{id}")
|
||||||
@PreAuthorize("hasAuthority('ROLE_UPDATE')")
|
@PreAuthorize("hasAuthority('ROLE_UPDATE')")
|
||||||
public Boolean update(@RequestBody RoleDto dto, @PathVariable("id") Long id) {
|
public Boolean update(@RequestBody RoleDto dto, @PathVariable("id") Long id) {
|
||||||
Role role = roleMapper.toEntity(dto);
|
// Role role = roleMapper.toEntity(dto);
|
||||||
role.setId(id);
|
// role.setId(id);
|
||||||
return service.updateById(role);
|
return service.updateRole(dto, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -11,7 +11,6 @@ import jakarta.validation.constraints.Email;
|
|||||||
import jakarta.validation.constraints.NotEmpty;
|
import jakarta.validation.constraints.NotEmpty;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
import jakarta.validation.constraints.Pattern;
|
import jakarta.validation.constraints.Pattern;
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户更新Dto
|
* 用户更新Dto
|
||||||
@ -63,7 +62,7 @@ public class UserUpdateDto {
|
|||||||
* 用户身份集合
|
* 用户身份集合
|
||||||
*/
|
*/
|
||||||
@NotEmpty(message = "角色不能为空")
|
@NotEmpty(message = "角色不能为空")
|
||||||
public Set<Long> roleIds;
|
public Long roleId;
|
||||||
|
|
||||||
public String remark;
|
public String remark;
|
||||||
|
|
||||||
|
@ -24,4 +24,6 @@ public interface RoleService extends IService<Role> {
|
|||||||
Boolean toggle(Long id);
|
Boolean toggle(Long id);
|
||||||
|
|
||||||
Boolean delete(Long id);
|
Boolean delete(Long id);
|
||||||
|
|
||||||
|
Boolean updateRole(RoleDto dto, Long id);
|
||||||
}
|
}
|
||||||
|
@ -16,6 +16,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@ -68,6 +69,20 @@ public class RoleServiceImpl extends ServiceImpl<RoleRepository, Role> implement
|
|||||||
return removeById(id);
|
return removeById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean updateRole(RoleDto dto, Long id) {
|
||||||
|
Role role =mapper.toEntity(dto);
|
||||||
|
role.setId(id);
|
||||||
|
if (dto.getAuthorities() != null && !dto.getAuthorities().isEmpty()) {
|
||||||
|
roleAuthService.remove(new LambdaQueryWrapper<RoleAuthority>().eq(RoleAuthority::getRoleId, id));
|
||||||
|
Set<Authority> authorities = new HashSet<>(dto.getAuthorities());
|
||||||
|
roleAuthService.saveBatch(authorities.stream().map(authority -> new RoleAuthority(id, authority.getAuthority())).collect(Collectors.toList()));
|
||||||
|
|
||||||
|
}
|
||||||
|
return updateById(role);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Boolean edit(RoleDto dto, Long id) {
|
public Boolean edit(RoleDto dto, Long id) {
|
||||||
boolean existsByName = count(new LambdaQueryWrapper<Role>().ne(Role::getId, id).eq(Role::getName, dto.getName())) > 0;
|
boolean existsByName = count(new LambdaQueryWrapper<Role>().ne(Role::getId, id).eq(Role::getName, dto.getName())) > 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user