Skip to content

Commit

Permalink
Merge pull request #30 from EntrevistadorInteligente/feature/81418367
Browse files Browse the repository at this point in the history
Feature/81418367 Refactorización de los modelos del dominio y dto's
  • Loading branch information
JamiltonQuintero authored Oct 3, 2024
2 parents 5ed959d + fb42076 commit 9119ad0
Show file tree
Hide file tree
Showing 73 changed files with 717 additions and 473 deletions.
9 changes: 8 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,8 @@
<maven.compiler.plugin.version>3.8.1</maven.compiler.plugin.version>
<org.projectlombok.version>1.18.30</org.projectlombok.version>
<org.projectlombok.mapstruct.binding.version>0.2.0</org.projectlombok.mapstruct.binding.version>
<sonar.coverage.exclusions>*/**/jms/**,*/**/beanconfiguration/**,*/**/excepciones/**,*/**/enums/**,*/**/dto/**,*/**/model/**,*/**/properties/**</sonar.coverage.exclusions>
<sonar.coverage.exclusions>*/**/jms/**,*/**/beanconfiguration/**,*/**/excepciones/**,*/**/enums/**,*/**/dto/**,*/**/model/**,*/**/properties/**,*/**/entity/**</sonar.coverage.exclusions>
<mockwebserver.version>4.12.0</mockwebserver.version>
</properties>
<dependencies>
<dependency>
Expand Down Expand Up @@ -54,6 +55,12 @@
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>mockwebserver</artifactId>
<version>${mockwebserver.version}</version>
<scope>test</scope>
</dependency>
</dependencies>

<build>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,10 @@
import com.entrevistador.generadorfeedback.application.usescases.PreguntaCreation;
import com.entrevistador.generadorfeedback.application.usescases.RespuestaCreation;
import com.entrevistador.generadorfeedback.domain.exception.FeedbackException;
import com.entrevistador.generadorfeedback.domain.jms.JmsPublisherClient;
import com.entrevistador.generadorfeedback.domain.model.Entrevista;
import com.entrevistador.generadorfeedback.domain.port.jms.JmsPublisherClient;
import com.entrevistador.generadorfeedback.domain.model.EntrevistaFeedback;
import com.entrevistador.generadorfeedback.domain.model.Feedback;
import com.entrevistador.generadorfeedback.domain.model.FeedbackResponse;
import com.entrevistador.generadorfeedback.domain.model.Notificacion;
import com.entrevistador.generadorfeedback.domain.model.PreguntaComentarioEntrevista;
import com.entrevistador.generadorfeedback.domain.model.Respuesta;
import com.entrevistador.generadorfeedback.domain.model.enums.TipoNotificacionEnum;
import com.entrevistador.generadorfeedback.domain.port.FeedbackDao;
import com.entrevistador.generadorfeedback.domain.port.client.NotificacionesClient;
Expand All @@ -32,35 +29,35 @@ public class FeedbackService implements FeedbackCreation, PreguntaCreation, Resp
private final NotificacionesClient notificacionesClient;

@Override
public Mono<Void> guardarPreguntas(Entrevista entrevista) {
log.info("Preguntas de entrevista id {} generadas exitosamente", entrevista.getIdEntrevista());
return this.feedbackDao.guardarPreguntas(entrevista)
.flatMap(pregunta -> generarNotificacion(pregunta.getUsername(), TipoNotificacionEnum.PG,
pregunta.getIdEntrevista()));
public Mono<Void> guardarPreguntas(Feedback feedback) {
log.info("Preguntas de entrevista id {} generadas exitosamente", feedback.getIdEntrevista());
return this.feedbackDao.guardarPreguntas(feedback)
.flatMap(it -> generarNotificacion(it.getUsername(), TipoNotificacionEnum.PG,
it.getIdEntrevista()));
}

@Override
public Flux<PreguntaComentarioEntrevista> obtenerPreguntas(String entrevistaId) {
public Flux<EntrevistaFeedback> obtenerPreguntas(String entrevistaId) {
return this.feedbackDao.obtenerPreguntas(entrevistaId);
}

@Override
public Mono<Void> iniciarSolicitudFeedback(Respuesta respuesta) {
return this.feedbackDao.obtenerFeedback(respuesta.getIdEntrevista())
public Mono<Void> iniciarSolicitudFeedback(Feedback feedback) {
return this.feedbackDao.obtenerFeedback(feedback.getIdEntrevista())
.flatMap(Feedback::validateFeedbackProcess)
.flatMap(unused -> this.feedbackDao.actualizarRespuestas(respuesta))
.flatMap(unused -> this.feedbackDao.actualizarRespuestas(feedback))
.flatMap(this.jmsPublisherClient::enviarsolicitudFeedback);
}

@Override
public Mono<Void> actualizarFeedback(Feedback feedback) {
return this.feedbackDao.actualizarFeedback(feedback)
.flatMap(fb -> generarNotificacion(fb.getUsername(), TipoNotificacionEnum.FG,
fb.getIdEntrevista()));
.flatMap(it -> generarNotificacion(it.getUsername(), TipoNotificacionEnum.FG,
it.getIdEntrevista()));
}

@Override
public Flux<FeedbackResponse> obtenerFeedback(String entrevistaId) {
public Flux<EntrevistaFeedback> obtenerFeedback(String entrevistaId) {
return this.feedbackDao.obtenerEntrevistaFeedback(entrevistaId);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ public Flux<PruebaEntrevista> getPreguntas(String rol) {
}

@Override
public Mono<PruebaEntrevista> guardarEntrevista(PruebaEntrevista request) {
return pruebaEntrevistaDao.guardarEntrevista(request);
public Mono<PruebaEntrevista> guardarEntrevista(PruebaEntrevista pruebaEntrevista) {
return pruebaEntrevistaDao.guardarEntrevista(pruebaEntrevista);
}
}
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package com.entrevistador.generadorfeedback.application.usescases;

import com.entrevistador.generadorfeedback.domain.model.EntrevistaFeedback;
import com.entrevistador.generadorfeedback.domain.model.Feedback;
import com.entrevistador.generadorfeedback.domain.model.FeedbackResponse;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;

public interface FeedbackCreation {
Mono<Void> actualizarFeedback(Feedback feedbackDto);

Flux<FeedbackResponse> obtenerFeedback(String idEntrevista);
Flux<EntrevistaFeedback> obtenerFeedback(String idEntrevista);
}
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package com.entrevistador.generadorfeedback.application.usescases;

import com.entrevistador.generadorfeedback.domain.model.Entrevista;
import com.entrevistador.generadorfeedback.domain.model.PreguntaComentarioEntrevista;
import com.entrevistador.generadorfeedback.domain.model.EntrevistaFeedback;
import com.entrevistador.generadorfeedback.domain.model.Feedback;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;

public interface PreguntaCreation {

Mono<Void> guardarPreguntas(Entrevista entrevistaDto);
Mono<Void> guardarPreguntas(Feedback feedback);

Flux<PreguntaComentarioEntrevista> obtenerPreguntas(String entrevitaId);
Flux<EntrevistaFeedback> obtenerPreguntas(String entrevitaId);

}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@
public interface PruebaEntrevista {

Flux<com.entrevistador.generadorfeedback.domain.model.PruebaEntrevista> getPreguntas(String rol);
Mono<com.entrevistador.generadorfeedback.domain.model.PruebaEntrevista> guardarEntrevista(com.entrevistador.generadorfeedback.domain.model.PruebaEntrevista request);
Mono<com.entrevistador.generadorfeedback.domain.model.PruebaEntrevista> guardarEntrevista(com.entrevistador.generadorfeedback.domain.model.PruebaEntrevista pruebaEntrevista);

}
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package com.entrevistador.generadorfeedback.application.usescases;

import com.entrevistador.generadorfeedback.domain.model.Respuesta;
import com.entrevistador.generadorfeedback.domain.model.Feedback;
import reactor.core.publisher.Mono;

public interface RespuestaCreation {

Mono<Void> iniciarSolicitudFeedback(Respuesta respuestaDto);
Mono<Void> iniciarSolicitudFeedback(Feedback feedback);
}

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,10 @@
@Getter
@AllArgsConstructor
@NoArgsConstructor
public class FeedbackResponse {
public class EntrevistaFeedback {
private String idPregunta;
private String pregunta;
private String respuesta;
private String feedback;
private String score;
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,11 @@
@AllArgsConstructor
@NoArgsConstructor
public class Feedback {
private String uuid;
private String idEntrevista;
private String username;
private TipoNotificacionEnum feedbackProcess;
private List<FeedbackComentario> procesoEntrevista;
private List<EntrevistaFeedback> procesoEntrevista;

public Mono<Feedback> validateFeedbackProcess() {
if (this.feedbackProcess == TipoNotificacionEnum.FG) {
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import lombok.NoArgsConstructor;
import lombok.Setter;

//TODO: Esta Clase se mantendra por ser usada en el Clase FeedbackService#generarNotificacion
@Getter
@Setter
@AllArgsConstructor
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,17 @@

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/*
* Clase que representa el dominio de PreguntaEntity
*/
@Data
@Builder
@Getter
@AllArgsConstructor
@NoArgsConstructor
@AllArgsConstructor
public class Pregunta {
private String idEntrevista;
private String username;
private List<PreguntaComentario> procesoEntrevista;
private String descripcion;
private String titulo;
}

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,23 @@

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.Getter;
import lombok.NoArgsConstructor;

import java.util.List;

@Data
/*
* Clase que representa el dominio de EntrevistaEntity
*/
@Getter
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PruebaEntrevista {
private String id;
private String nombreEmpresa;
private String tituloVacante;
private String descripcionEntrevista;
private List<PreguntaRequest> preguntas;
private List<Pregunta> preguntas;
private String rol;
}

This file was deleted.

This file was deleted.

Loading

0 comments on commit 9119ad0

Please sign in to comment.