From 22b3f5cd640ef288133853365648ec39bfe3022b Mon Sep 17 00:00:00 2001 From: Vince Jerald Villamora Date: Mon, 28 Aug 2023 04:32:50 +0800 Subject: [PATCH] feat(dvs-client): upgrade to dvs client api v2 --- .../fpi/load/config/ReflectionConfig.java | 126 +++++++++++------- .../fpi/load/mapper/load/LoadRespMapper.java | 4 +- .../mapper/load/RewardsTransStatusMapper.java | 4 +- .../load/mapper/load/dtone/DTOneMapper.java | 5 +- .../load/service/load/dtone/DTOneLoadSvc.java | 4 +- pom.xml | 2 +- 6 files changed, 88 insertions(+), 57 deletions(-) diff --git a/core/src/main/java/com/abavilla/fpi/load/config/ReflectionConfig.java b/core/src/main/java/com/abavilla/fpi/load/config/ReflectionConfig.java index c78fa5b..b8d91ea 100644 --- a/core/src/main/java/com/abavilla/fpi/load/config/ReflectionConfig.java +++ b/core/src/main/java/com/abavilla/fpi/load/config/ReflectionConfig.java @@ -19,29 +19,42 @@ package com.abavilla.fpi.load.config; import com.abavilla.fpi.fw.config.BaseReflectionConfig; -import com.dtone.dvs.dto.Amount; -import com.dtone.dvs.dto.AmountValue; +import com.dtone.dvs.dto.AmountRanged; +import com.dtone.dvs.dto.ApiError; import com.dtone.dvs.dto.ApiRequest; import com.dtone.dvs.dto.ApiResponse; import com.dtone.dvs.dto.Balance; import com.dtone.dvs.dto.BalanceFilter; import com.dtone.dvs.dto.Benefit; +import com.dtone.dvs.dto.BenefitAmountFixed; +import com.dtone.dvs.dto.BenefitAmountRanged; +import com.dtone.dvs.dto.BenefitFixed; +import com.dtone.dvs.dto.BenefitRanged; import com.dtone.dvs.dto.BenefitType; import com.dtone.dvs.dto.BenefitTypes; import com.dtone.dvs.dto.CalculationMode; import com.dtone.dvs.dto.Country; -import com.dtone.dvs.dto.Dates; -import com.dtone.dvs.dto.Error; import com.dtone.dvs.dto.ErrorResponse; +import com.dtone.dvs.dto.LookupOperatorRequest; import com.dtone.dvs.dto.Operator; import com.dtone.dvs.dto.PageAsync; +import com.dtone.dvs.dto.PageInfo; import com.dtone.dvs.dto.Party; import com.dtone.dvs.dto.PartyIdentifier; import com.dtone.dvs.dto.Pin; +import com.dtone.dvs.dto.PinInfo; import com.dtone.dvs.dto.Price; import com.dtone.dvs.dto.Prices; import com.dtone.dvs.dto.Product; import com.dtone.dvs.dto.ProductFilter; +import com.dtone.dvs.dto.ProductFixed; +import com.dtone.dvs.dto.ProductPrice; +import com.dtone.dvs.dto.ProductPriceFixed; +import com.dtone.dvs.dto.ProductPriceRanged; +import com.dtone.dvs.dto.ProductPricesFixed; +import com.dtone.dvs.dto.ProductPricesRanged; +import com.dtone.dvs.dto.ProductRanged; +import com.dtone.dvs.dto.ProductSource; import com.dtone.dvs.dto.ProductType; import com.dtone.dvs.dto.Promotion; import com.dtone.dvs.dto.PromotionFilter; @@ -49,13 +62,16 @@ import com.dtone.dvs.dto.Region; import com.dtone.dvs.dto.Service; import com.dtone.dvs.dto.Source; -import com.dtone.dvs.dto.StatementDetail; -import com.dtone.dvs.dto.StatementFilter; +import com.dtone.dvs.dto.SourceFixed; +import com.dtone.dvs.dto.SourceRanged; +import com.dtone.dvs.dto.StatementIdentifier; import com.dtone.dvs.dto.Status; import com.dtone.dvs.dto.StatusClass; +import com.dtone.dvs.dto.Transaction; import com.dtone.dvs.dto.TransactionFilter; +import com.dtone.dvs.dto.TransactionFixed; +import com.dtone.dvs.dto.TransactionRanged; import com.dtone.dvs.dto.TransactionRequest; -import com.dtone.dvs.dto.TransactionResponse; import com.dtone.dvs.dto.UnitTypes; import com.dtone.dvs.dto.Validity; import com.dtone.dvs.dto.Values; @@ -67,46 +83,62 @@ * @author Vince Villamora */ @RegisterForReflection(targets = { - Amount.class, - AmountValue.class, - ApiRequest.class, - ApiResponse.class, - Balance.class, - BalanceFilter.class, - Benefit.class, - BenefitType.class, - BenefitTypes.class, - CalculationMode.class, - Country.class, - Dates.class, - Error.class, - ErrorResponse.class, - Operator.class, - PageAsync.class, - Party.class, - PartyIdentifier.class, - Pin.class, - Price.class, - Prices.class, - Product.class, - ProductFilter.class, - ProductType.class, - Promotion.class, - PromotionFilter.class, - Rates.class, - Region.class, - Service.class, - Source.class, - StatementDetail.class, - StatementFilter.class, - Status.class, - StatusClass.class, - TransactionFilter.class, - TransactionRequest.class, - TransactionResponse.class, - UnitTypes.class, - Validity.class, - Values.class, + AmountRanged.class, + ApiError.class, + ApiRequest.class, + ApiResponse.class, + Balance.class, + BalanceFilter.class, + Benefit.class, + BenefitAmountFixed.class, + BenefitAmountRanged.class, + BenefitFixed.class, + BenefitRanged.class, + BenefitType.class, + BenefitTypes.class, + CalculationMode.class, + Country.class, + ErrorResponse.class, + LookupOperatorRequest.class, + Operator.class, + PageAsync.class, + PageInfo.class, + Party.class, + PartyIdentifier.class, + Pin.class, + PinInfo.class, + Price.class, + Prices.class, + Product.class, + ProductFilter.class, + ProductFixed.class, + ProductPrice.class, + ProductPriceFixed.class, + ProductPriceRanged.class, + ProductPricesFixed.class, + ProductPricesRanged.class, + ProductRanged.class, + ProductSource.class, + ProductType.class, + Promotion.class, + PromotionFilter.class, + Rates.class, + Region.class, + Service.class, + Source.class, + SourceFixed.class, + SourceRanged.class, + StatementIdentifier.class, + Status.class, + StatusClass.class, + Transaction.class, + TransactionFilter.class, + TransactionFixed.class, + TransactionRanged.class, + TransactionRequest.class, + UnitTypes.class, + Validity.class, + Values.class }) public class ReflectionConfig extends BaseReflectionConfig { } diff --git a/core/src/main/java/com/abavilla/fpi/load/mapper/load/LoadRespMapper.java b/core/src/main/java/com/abavilla/fpi/load/mapper/load/LoadRespMapper.java index 7531cda..87f2db5 100644 --- a/core/src/main/java/com/abavilla/fpi/load/mapper/load/LoadRespMapper.java +++ b/core/src/main/java/com/abavilla/fpi/load/mapper/load/LoadRespMapper.java @@ -22,7 +22,7 @@ import com.abavilla.fpi.load.dto.load.gl.GLRewardsRespDto; import com.abavilla.fpi.load.ext.dto.LoadRespDto; import com.abavilla.fpi.load.mapper.load.gl.GLMapper; -import com.dtone.dvs.dto.TransactionResponse; +import com.dtone.dvs.dto.Transaction; import org.apache.commons.lang3.StringUtils; import org.mapstruct.InjectionStrategy; import org.mapstruct.Mapper; @@ -50,7 +50,7 @@ void mapGLRespToDto(GLRewardsRespDto source, @Mapping(target = "status", ignore = true) @Mapping(target = "dateCreated", ignore = true) @Mapping(target = "dateUpdated", ignore = true) - void mapDTRespToDto(TransactionResponse source, + void mapDTRespToDto(Transaction source, @MappingTarget LoadRespDto dest); @Named("formatGlTimestamp") diff --git a/core/src/main/java/com/abavilla/fpi/load/mapper/load/RewardsTransStatusMapper.java b/core/src/main/java/com/abavilla/fpi/load/mapper/load/RewardsTransStatusMapper.java index 5467e28..dca8090 100644 --- a/core/src/main/java/com/abavilla/fpi/load/mapper/load/RewardsTransStatusMapper.java +++ b/core/src/main/java/com/abavilla/fpi/load/mapper/load/RewardsTransStatusMapper.java @@ -33,8 +33,8 @@ import com.abavilla.fpi.load.mapper.load.gl.GLMapper; import com.abavilla.fpi.telco.ext.enums.ApiStatus; import com.abavilla.fpi.telco.ext.enums.BotSource; +import com.dtone.dvs.dto.Transaction; import com.dtone.dvs.dto.TransactionRequest; -import com.dtone.dvs.dto.TransactionResponse; import jakarta.inject.Inject; import org.apache.commons.lang3.StringUtils; import org.mapstruct.BeanMapping; @@ -87,7 +87,7 @@ AbsMongoField anyObjectToAbsField(Object dto) { field = glMapper.mapGLRewardsRespToEntity(glRespDto); } else if (dto instanceof TransactionRequest transReq) { field = dtOneMapper.copyTransactionReqToDVSReq(transReq); - } else if (dto instanceof TransactionResponse transResp) { + } else if (dto instanceof Transaction transResp) { field = dtOneMapper.copyTransactionRespToDVSResp(transResp); } return field; diff --git a/core/src/main/java/com/abavilla/fpi/load/mapper/load/dtone/DTOneMapper.java b/core/src/main/java/com/abavilla/fpi/load/mapper/load/dtone/DTOneMapper.java index 1d2d825..0be580a 100644 --- a/core/src/main/java/com/abavilla/fpi/load/mapper/load/dtone/DTOneMapper.java +++ b/core/src/main/java/com/abavilla/fpi/load/mapper/load/dtone/DTOneMapper.java @@ -30,8 +30,8 @@ import com.abavilla.fpi.load.entity.dtone.DVSReq; import com.abavilla.fpi.load.entity.dtone.DVSResp; import com.abavilla.fpi.load.util.LoadConst; +import com.dtone.dvs.dto.Transaction; import com.dtone.dvs.dto.TransactionRequest; -import com.dtone.dvs.dto.TransactionResponse; import org.mapstruct.InjectionStrategy; import org.mapstruct.Mapper; import org.mapstruct.Mapping; @@ -44,8 +44,7 @@ public interface DTOneMapper extends IMapper { DVSReq copyTransactionReqToDVSReq(TransactionRequest dto); @Mapping(target = "dtOneId", source = "id") - DVSResp copyTransactionRespToDVSResp(TransactionResponse dto); - + DVSResp copyTransactionRespToDVSResp(Transaction dto); @Mapping(target = "loadProvider", constant = LoadConst.PROV_DTONE) DVSCallback mapDTOneRespToEntity(DVSCallbackDto dto); diff --git a/core/src/main/java/com/abavilla/fpi/load/service/load/dtone/DTOneLoadSvc.java b/core/src/main/java/com/abavilla/fpi/load/service/load/dtone/DTOneLoadSvc.java index 5f13109..b6fde62 100644 --- a/core/src/main/java/com/abavilla/fpi/load/service/load/dtone/DTOneLoadSvc.java +++ b/core/src/main/java/com/abavilla/fpi/load/service/load/dtone/DTOneLoadSvc.java @@ -30,8 +30,8 @@ import com.abavilla.fpi.load.util.LoadConst; import com.abavilla.fpi.telco.ext.enums.ApiStatus; import com.dtone.dvs.DvsApiClientAsync; +import com.dtone.dvs.dto.ApiError; import com.dtone.dvs.dto.CalculationMode; -import com.dtone.dvs.dto.Error; import com.dtone.dvs.dto.PartyIdentifier; import com.dtone.dvs.dto.Source; import com.dtone.dvs.dto.TransactionRequest; @@ -85,7 +85,7 @@ public Uni callSvc(LoadReqDto req, PromoSku promo) { } else { loadResp.setStatus(ApiStatus.REJ); loadResp.setError(dvsResp.getErrors() - .stream().map(Error::getMessage) + .stream().map(ApiError::getMessage) .collect(Collectors.joining(FWConst.COMMA_SEP))); } loadResp.setApiResponse(dvsResp.getResult()); diff --git a/pom.xml b/pom.xml index 626b97c..9796990 100644 --- a/pom.xml +++ b/pom.xml @@ -73,7 +73,7 @@ com.vincejv dvs-apiclient - 2.1.5 + 2.2.0