Package com.gestorrh.api.service
Class EmpresaService
java.lang.Object
com.gestorrh.api.service.EmpresaService
Servicio encargado de la gestión integral del ciclo de vida de la entidad Empresa.
Centraliza funcionalidades críticas como el registro inicial, la gestión del perfil corporativo, la configuración de parámetros de geovallado (Sede Central) y la gestión de la seguridad de la cuenta.
Garantiza que la configuración de la empresa sea coherente para que los empleados puedan operar correctamente con los módulos de fichaje y turnos.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final org.springframework.security.crypto.password.PasswordEncoderprivate final EmpresaRepository -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionActualiza la información corporativa y la configuración de geovallado de la empresa autenticada.voidPermite a la empresa cambiar su contraseña de acceso.voidRealiza el borrado definitivo de la cuenta de empresa y todos sus datos relacionados.private RespuestaEmpresaDTOmapearARespuesta(Empresa empresa) Transforma la entidadEmpresaen un objeto de respuesta DTO para su exposición en la API.private EmpresaRecupera la entidadEmpresacompleta desde el repositorio basándose en la identidad del usuario autenticado.Recupera los datos del perfil de la empresa que ha iniciado sesión.registrarEmpresa(PeticionRegistroEmpresaDTO peticion) Registra una nueva organización en la plataforma GestorRH.
-
Field Details
-
empresaRepository
-
codificadorPassword
private final org.springframework.security.crypto.password.PasswordEncoder codificadorPassword
-
-
Constructor Details
-
EmpresaService
public EmpresaService()
-
-
Method Details
-
registrarEmpresa
Registra una nueva organización en la plataforma GestorRH.El flujo de registro incluye la validación de disponibilidad del correo electrónico, el cifrado de la contraseña de acceso y la persistencia de los datos de contacto iniciales.
- Parameters:
peticion- ObjetoPeticionRegistroEmpresaDTOcon las credenciales y datos corporativos.- Returns:
RespuestaEmpresaDTOcon el perfil público de la empresa creada.- Throws:
RuntimeException- Si el correo electrónico ya está en uso por otra empresa en el sistema.
-
obtenerMiPerfil
Recupera los datos del perfil de la empresa que ha iniciado sesión.- Returns:
- RespuestaEmpresaDTO con la información detallada del perfil.
-
actualizarMiPerfil
Actualiza la información corporativa y la configuración de geovallado de la empresa autenticada. Permite definir la ubicación exacta de la sede y el radio de validez para los fichajes presenciales.- Parameters:
peticion- DTO con los nuevos datos de contacto y coordenadas GPS.- Returns:
- RespuestaEmpresaDTO con el perfil actualizado.
-
cambiarMiContrasena
Permite a la empresa cambiar su contraseña de acceso. Valida que la contraseña actual proporcionada sea correcta antes de aplicar el cambio.- Parameters:
peticion- DTO con la contraseña actual y la nueva contraseña.- Throws:
RuntimeException- Si la contraseña actual no coincide con la almacenada.
-
eliminarMiEmpresa
@Transactional public void eliminarMiEmpresa()Realiza el borrado definitivo de la cuenta de empresa y todos sus datos relacionados. Esta operación es irreversible. -
obtenerEmpresaAutenticada
Recupera la entidadEmpresacompleta desde el repositorio basándose en la identidad del usuario autenticado.- Returns:
EmpresaEntidad persistente de la empresa.- Throws:
jakarta.persistence.EntityNotFoundException- Si la empresa no existe en el sistema.
-
mapearARespuesta
Transforma la entidadEmpresaen un objeto de respuesta DTO para su exposición en la API.- Parameters:
empresa- Entidad a mapear.- Returns:
- RespuestaEmpresaDTO con los datos públicos del perfil.
-