Time issue resolve

This commit is contained in:
harish
2024-10-23 12:23:34 +05:30
parent 2810a809d7
commit 647c05d457
6 changed files with 40 additions and 1 deletions

View File

@@ -250,5 +250,6 @@ public class GepafinConstant {
public static final String EVALUATIONCRITERIA_INVALID = "evaluationCriteria.invalid"; public static final String EVALUATIONCRITERIA_INVALID = "evaluationCriteria.invalid";
public static final String APPLICATION_NOT_IN_DRAFT_STATUS="application.not.in.draft.status"; public static final String APPLICATION_NOT_IN_DRAFT_STATUS="application.not.in.draft.status";
public static final String GET_ERROR_S3 = "get.error.s3"; public static final String GET_ERROR_S3 = "get.error.s3";
public static final String INVALID_APPLICATION_STATUS = "invalid.application.status";
} }

View File

@@ -5,6 +5,7 @@ import net.gepafin.tendermanagement.constants.GepafinConstant;
import net.gepafin.tendermanagement.entities.ApplicationEntity; import net.gepafin.tendermanagement.entities.ApplicationEntity;
import net.gepafin.tendermanagement.entities.AssignedApplicationsEntity; import net.gepafin.tendermanagement.entities.AssignedApplicationsEntity;
import net.gepafin.tendermanagement.entities.UserEntity; import net.gepafin.tendermanagement.entities.UserEntity;
import net.gepafin.tendermanagement.enums.ApplicationStatusTypeEnum;
import net.gepafin.tendermanagement.enums.AssignedApplicationEnum; import net.gepafin.tendermanagement.enums.AssignedApplicationEnum;
import net.gepafin.tendermanagement.model.request.AssignedApplicationsRequest; import net.gepafin.tendermanagement.model.request.AssignedApplicationsRequest;
import net.gepafin.tendermanagement.model.response.AssignedApplicationsResponse; import net.gepafin.tendermanagement.model.response.AssignedApplicationsResponse;
@@ -46,6 +47,12 @@ public class AssignedApplicationsDao {
throw new CustomValidationException(Status.BAD_REQUEST, Translator.toLocale(GepafinConstant.APPLICATION_ALREADY_ASSIGNED)); throw new CustomValidationException(Status.BAD_REQUEST, Translator.toLocale(GepafinConstant.APPLICATION_ALREADY_ASSIGNED));
} }
ApplicationEntity application = applicationService.validateApplication(applicationId); ApplicationEntity application = applicationService.validateApplication(applicationId);
if (Boolean.FALSE.equals(ApplicationStatusTypeEnum.SUBMIT.equals(application.getStatus()))) {
throw new CustomValidationException(
Status.BAD_REQUEST,
Translator.toLocale(GepafinConstant.INVALID_APPLICATION_STATUS)
);
}
UserEntity user = userService.validateUser(userId); UserEntity user = userService.validateUser(userId);
AssignedApplicationsEntity assignment = createAssignmentEntity(application, user.getId(), assignedByUser, assignedApplicationsRequest); AssignedApplicationsEntity assignment = createAssignmentEntity(application, user.getId(), assignedByUser, assignedApplicationsRequest);
AssignedApplicationsResponse assignApplicationToInstructorResponse = convertEntityToResponse(assignment, assignedApplicationsRequest); AssignedApplicationsResponse assignApplicationToInstructorResponse = convertEntityToResponse(assignment, assignedApplicationsRequest);

View File

@@ -5,8 +5,10 @@ import java.time.LocalDateTime;
import java.time.LocalTime; import java.time.LocalTime;
import java.util.List; import java.util.List;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.Data; import lombok.Data;
import net.gepafin.tendermanagement.enums.CallStatusEnum; import net.gepafin.tendermanagement.enums.CallStatusEnum;
import net.gepafin.tendermanagement.util.DynamicLocalTimeSerializer;
@Data @Data
public class CallResponse { public class CallResponse {
@@ -47,8 +49,10 @@ public class CallResponse {
private String phoneNumber; private String phoneNumber;
@JsonSerialize(using = DynamicLocalTimeSerializer.class)
private LocalTime startTime; private LocalTime startTime;
@JsonSerialize(using = DynamicLocalTimeSerializer.class)
private LocalTime endTime; private LocalTime endTime;
private LocalDateTime createdDate; private LocalDateTime createdDate;

View File

@@ -0,0 +1,26 @@
package net.gepafin.tendermanagement.util;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import java.io.IOException;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
public class DynamicLocalTimeSerializer extends JsonSerializer<LocalTime> {
private static final DateTimeFormatter HH_MM_FORMAT = DateTimeFormatter.ofPattern("HH:mm");
private static final DateTimeFormatter HH_MM_SS_FORMAT = DateTimeFormatter.ofPattern("HH:mm:ss");
@Override
public void serialize(LocalTime time, JsonGenerator gen, SerializerProvider serializers) throws IOException {
// Use HH:mm if seconds are 00, otherwise use HH:mm:ss
String formattedTime = (time.getSecond() == 0)
? time.format(HH_MM_FORMAT)
: time.format(HH_MM_SS_FORMAT);
gen.writeString(formattedTime);
}
}

View File

@@ -275,4 +275,4 @@ assigned.application.deleted.success=Assigned Application successfully deleted.
assigned.application.get.success=Assigned Application details fetched successfully. assigned.application.get.success=Assigned Application details fetched successfully.
assigned.application.update.successfully=Assigned Application updated successfully. assigned.application.update.successfully=Assigned Application updated successfully.
get.error.s3=Failed to fetch the file from S3. get.error.s3=Failed to fetch the file from S3.
invalid.application.status = Invalid Application status.

View File

@@ -259,6 +259,7 @@ aasigned.application.not.found = Applicazione assegnata non trovata con l'ID spe
assigned.application.deleted.success =Applicazione assegnata eliminata con successo. assigned.application.deleted.success =Applicazione assegnata eliminata con successo.
assigned.application.get.success =Dettagli dell'applicazione assegnata recuperati correttamente. assigned.application.get.success =Dettagli dell'applicazione assegnata recuperati correttamente.
assigned.application.update.successfully = Applicazione assegnata aggiornata correttamente. assigned.application.update.successfully = Applicazione assegnata aggiornata correttamente.
invalid.application.status = Stato della domanda non valido.
# Hub Messages # Hub Messages
hub_create_success=Hub creato con successo hub_create_success=Hub creato con successo