diff --git a/src/main/java/cokr/xit/ens/modules/nice/service/NiceCiAcceptService.java b/src/main/java/cokr/xit/ens/modules/nice/service/NiceCiAcceptService.java index 1f67a9b..14af269 100644 --- a/src/main/java/cokr/xit/ens/modules/nice/service/NiceCiAcceptService.java +++ b/src/main/java/cokr/xit/ens/modules/nice/service/NiceCiAcceptService.java @@ -8,6 +8,7 @@ import org.springframework.stereotype.*; import org.springframework.transaction.annotation.*; import com.google.gson.*; +import com.google.gson.reflect.*; import cokr.xit.ens.biz.iup.code.*; import cokr.xit.ens.core.aop.*; @@ -16,9 +17,9 @@ import cokr.xit.ens.core.exception.code.*; import cokr.xit.ens.core.utils.*; import cokr.xit.ens.modules.common.code.*; import cokr.xit.ens.modules.common.ctgy.intgrnbill.kko.api.*; -import cokr.xit.ens.modules.common.ctgy.intgrnbill.kko.model.*; import cokr.xit.ens.modules.common.ctgy.intgrnbill.kko.service.process.model.*; import cokr.xit.ens.modules.common.ctgy.intgrnbill.support.code.*; +import cokr.xit.ens.modules.common.ctgy.intgrnbill.support.model.*; import cokr.xit.ens.modules.common.ctgy.sys.mng.domain.*; import cokr.xit.ens.modules.common.ctgy.sys.mng.service.*; import cokr.xit.ens.modules.nice.mapper.*; @@ -119,8 +120,9 @@ public class NiceCiAcceptService { try { List inputDataXits = xit.getInputDataXits(); for (NiceCiDTO.InputDataXit data : inputDataXits) { - BillKkoApiRespDTO respDTO = getPayUrl(data, billHistDTO, orgMng, kkoPayUrlRespData); + PayApiRespDTO> respDTO = getPayUrl(data, billHistDTO, orgMng, kkoPayUrlRespData); + // FIXME: API 호출 결과 SET - 연계 설정후 확인 필요 data.setPayUrl(String.valueOf(respDTO.getData())); niceCiMapper.updatePayUrlOfDataInput(data); @@ -190,7 +192,7 @@ public class NiceCiAcceptService { * @param kkoPayUrlRespData KkoPayUrlRespData * @return KkoPayUrlRespData */ - private BillKkoApiRespDTO getPayUrl(final NiceCiDTO.InputDataXit dataXit, NiceCiDTO.BillHistDTO billHistDTO, final OrgMng orgMng, final KkoPayUrlRespData kkoPayUrlRespData){ + private PayApiRespDTO> getPayUrl(final NiceCiDTO.InputDataXit dataXit, NiceCiDTO.BillHistDTO billHistDTO, final OrgMng orgMng, final KkoPayUrlRespData kkoPayUrlRespData){ // FIXME: 파라메터 확인 필요 Map map = new HashMap<>(); map.put("biller_user_key", dataXit.getDataId()); @@ -211,18 +213,21 @@ public class NiceCiAcceptService { gson.toJson(param)); // 마스터 상태 실패처리 + String rsltStr = resEntity.getBody(); if(resEntity.getStatusCode() != HttpStatus.OK){ - billHistDTO.setErrorCode(resEntity.getStatusCode().toString()); - //billHistDTO.setErrorCode(EnsErrCd.API_COMM_ERROR.getCode()); - billHistDTO.setErrorMessage(resEntity.getBody()); + billHistDTO.setErrorCode(EnsErrCd.API_COMM_ERROR.getCode()); + billHistDTO.setErrorMessage("["+ BillLogSeCd.VD +"] " + EnsErrCd.API_COMM_ERROR.getCodeNm() + " " + resEntity.getStatusCode().toString()); billHistoryService.updateBillHistory(billHistDTO); - throw new EnsException(EnsErrCd.API_COMM_ERROR, EnsErrCd.API_COMM_ERROR.getCodeNm()); + throw new EnsException(EnsErrCd.API_COMM_ERROR, "["+ BillLogSeCd.VD +"] " + EnsErrCd.API_COMM_ERROR.getCodeNm() + " " + resEntity.getStatusCode().toString(), rsltStr); } - String rsltStr = resEntity.getBody(); - return BillKkoApiRespDTO.okBuilder() - .data(resEntity.getBody()) - .build(); - } - + try { + return gson.fromJson(rsltStr, new TypeToken>>() {}.getType()); + } catch (Exception ex) { + billHistDTO.setErrorCode(EnsErrCd.INVALID_RESPONSE.getCode()); + billHistDTO.setErrorMessage("["+ BillLogSeCd.VD +"] " + EnsErrCd.INVALID_RESPONSE.getCodeNm()); + billHistoryService.updateBillHistory(billHistDTO); + throw new EnsException(EnsErrCd.INVALID_RESPONSE, "["+ BillLogSeCd.VD +"] " + EnsErrCd.INVALID_RESPONSE.getCodeNm(), ex); + } + } }