Skip to content

Commit

Permalink
fix(dvs-client): missing fields in callback
Browse files Browse the repository at this point in the history
  • Loading branch information
vincejv committed Aug 27, 2023
1 parent aa45863 commit e48e75e
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@
import com.abavilla.fpi.fw.controller.AbsBaseResource;
import com.abavilla.fpi.fw.util.MapperUtil;
import com.abavilla.fpi.load.config.ApiKeyConfig;
import com.abavilla.fpi.load.dto.load.dtone.DVSCallbackDto;
import com.abavilla.fpi.load.dto.load.gl.GLRewardsCallbackDto;
import com.abavilla.fpi.load.entity.load.RewardsTransStatus;
import com.abavilla.fpi.load.service.load.RewardsCallbackSvc;
import com.dtone.dvs.dto.Transaction;
import com.fasterxml.jackson.databind.JsonNode;
import io.netty.handler.codec.http.HttpResponseStatus;
import io.smallrye.mutiny.Uni;
Expand Down Expand Up @@ -54,7 +54,7 @@ public Uni<Void> callback(@PathParam("apiKey") String apiKey,
if (StringUtils.equals(apiKey, apiKeyConfig.getGenericApiKey())) {
return service.storeCallback(MapperUtil.convert(body, GLRewardsCallbackDto.class));
} else if (StringUtils.equals(apiKey, "intlprov")) {
return service.storeCallback(MapperUtil.convert(body, DVSCallbackDto.class));
return service.storeCallback(MapperUtil.convert(body, Transaction.class));
} else {
throw new WebApplicationException(Response
.status(HttpResponseStatus.UNAUTHORIZED.code())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,17 +21,17 @@
import java.util.List;

import com.abavilla.fpi.fw.dto.AbsDto;
import com.dtone.dvs.dto.Benefit;
import com.dtone.dvs.dto.Party;
import com.dtone.dvs.dto.PartyIdentifier;
import com.dtone.dvs.dto.Pin;
import com.dtone.dvs.dto.Prices;
import com.dtone.dvs.dto.Product;
import com.dtone.dvs.dto.Promotion;
import com.dtone.dvs.dto.Rates;
import com.dtone.dvs.dto.StatementIdentifier;
import com.dtone.dvs.dto.Status;
import com.dtone.dvs.dto.Values;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.quarkus.runtime.annotations.RegisterForReflection;
import lombok.Data;
import lombok.EqualsAndHashCode;
Expand All @@ -41,25 +41,46 @@
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@RegisterForReflection
@JsonIgnoreProperties(ignoreUnknown = true)
public class DVSCallbackDto extends AbsDto {
@JsonProperty("id")

private Long dtOneId;

private String externalId;

private String creationDate;

private String confirmationExpirationDate;

private String confirmationDate;

private Status status;

private String operatorReference;

private Pin pin;

private Product product;

private Prices prices;

private Rates rates;
private List<Benefit> benefits;

private List<Promotion> promotions;

private Values requestedValues;

private Values adjustedValues;

private Party sender;

private Party beneficiary;

private PartyIdentifier debitPartyIdentifier;

private PartyIdentifier creditPartyIdentifier;

private StatementIdentifier statementIdentifier;

private String callbackUrl;
}
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,9 @@ public interface DTOneMapper extends IMapper {
@Mapping(target = "loadProvider", constant = LoadConst.PROV_DTONE)
DVSCallback mapDTOneRespToEntity(DVSCallbackDto dto);

@Mapping(target = "dtOneId", source = "id")
DVSCallbackDto mapDTOneTransactionToCallbackDto(Transaction dto);

default String dtLdtToStr(LocalDateTime ldtTimestamp) {
if (ldtTimestamp != null) {
var formatter = DateTimeFormatter.ISO_DATE_TIME;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@
import com.abavilla.fpi.fw.exceptions.ApiSvcEx;
import com.abavilla.fpi.fw.service.AbsSvc;
import com.abavilla.fpi.fw.util.DateUtil;
import com.abavilla.fpi.load.dto.load.dtone.DVSCallbackDto;
import com.abavilla.fpi.load.dto.load.gl.GLRewardsCallbackDto;
import com.abavilla.fpi.load.entity.dtone.DVSCallback;
import com.abavilla.fpi.load.entity.load.CallBack;
Expand All @@ -46,6 +45,7 @@
import com.abavilla.fpi.sms.ext.dto.MsgReqDto;
import com.abavilla.fpi.sms.ext.rest.SmsApi;
import com.abavilla.fpi.telco.ext.enums.ApiStatus;
import com.dtone.dvs.dto.Transaction;
import com.google.i18n.phonenumbers.NumberParseException;
import com.google.i18n.phonenumbers.PhoneNumberUtil;
import io.quarkus.logging.Log;
Expand Down Expand Up @@ -98,11 +98,12 @@ public Uni<Void> storeCallback(GLRewardsCallbackDto callbackDto) {
LoadConst.PROV_GL, callbackDto.getBody().getTransactionId());
}

public Uni<Void> storeCallback(DVSCallbackDto callbackDto) {
public Uni<Void> storeCallback(Transaction dvsCallbackTransaction) {
var dvsCallbackDto = dtOneMapper.mapDTOneTransactionToCallbackDto(dvsCallbackTransaction);
return storeCallback(
dtOneMapper.mapDTOneRespToEntity(callbackDto),
ApiStatus.fromDtOne(callbackDto.getStatus().getId()),
LoadConst.PROV_DTONE, callbackDto.getDtOneId());
dtOneMapper.mapDTOneRespToEntity(dvsCallbackDto),
ApiStatus.fromDtOne(dvsCallbackDto.getStatus().getId()),
LoadConst.PROV_DTONE, dvsCallbackDto.getDtOneId());
}

private Uni<Void> storeCallback(AbsMongoItem callbackResponse, ApiStatus status,
Expand Down

0 comments on commit e48e75e

Please sign in to comment.