From ff212020a19415ddbd3cf930ae770d838d8f01fe Mon Sep 17 00:00:00 2001 From: Hasta Ragil Saputra Date: Wed, 10 Aug 2022 17:46:01 +0700 Subject: [PATCH 1/2] fix: check partner url before calling the callback --- src/transaction/transaction.service.ts | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/transaction/transaction.service.ts b/src/transaction/transaction.service.ts index f11399c..6850d17 100644 --- a/src/transaction/transaction.service.ts +++ b/src/transaction/transaction.service.ts @@ -1481,14 +1481,26 @@ export class TransactionService { coaType.WALLET, ); + if (!partnerData.callback_url) { + this.logger.error(`Call to partner failed, reason: no callback url`); + return false; + } + const url = `${partnerData.callback_url}?status=${status}&memberID=${partnerData.code}&trxid=${trxId}&harga=${harga}&product=${productCode}&dest=${destination}&seriNumber=${seriNumber}&message=${message}&saldo=${coaAccount.amount}`; const result = await this.callbackPartnerRepository.insert({ partner_trx_id: partnerId, trx_id: trxId, url: url, }); - const res = await axios.get(url); - return res; + + try { + const res = await axios.get(url); + + return res; + } catch (e) { + this.logger.error(`Call to partner failed, reason: ${e.message}`); + return false; + } } async rollbackJurnal(trxId: string[]) { From 576336661a5603f702853f6da38a30b6a336cc09 Mon Sep 17 00:00:00 2001 From: mfadiln2018 Date: Wed, 10 Aug 2022 21:21:48 +0700 Subject: [PATCH 2/2] Fix: query productPriceRepository --- src/transaction/transaction.module.ts | 2 +- src/transaction/transaction.service.ts | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/transaction/transaction.module.ts b/src/transaction/transaction.module.ts index ff4b2f2..f797d0b 100644 --- a/src/transaction/transaction.module.ts +++ b/src/transaction/transaction.module.ts @@ -22,7 +22,7 @@ import {ProductHistoryPrice} from "../product/entities/product-history-price.ent Transactions, CheckBillHistory, CallbackPartner, - // ProductHistoryPrice, + ProductHistoryPrice, ]), ProductModule, ConfigurableModule, diff --git a/src/transaction/transaction.service.ts b/src/transaction/transaction.service.ts index 6850d17..a9ad053 100644 --- a/src/transaction/transaction.service.ts +++ b/src/transaction/transaction.service.ts @@ -35,8 +35,8 @@ export class TransactionService { private transactionRepository: Repository, @InjectRepository(TransactionJournal) private transactionJournalRepository: Repository, - // @InjectRepository(ProductHistoryPrice) - // private productPriceRepository: Repository, + @InjectRepository(ProductHistoryPrice) + private productPriceRepository: Repository, @InjectRepository(COA) private coaRepository: Repository, @InjectRepository(CheckBillHistory) @@ -1204,11 +1204,13 @@ export class TransactionService { relations: ['product_price'], }); - // const dataProductPrice = await this.productPriceRepository.findOne({ - // where: { - // id:dataTransaction.product_price - // } - // }); + console.log(dataTransaction.product_price, 'productPrice') + + const dataProductPrice = await this.productPriceRepository.findOne({ + where: { + id: dataTransaction.product_price, + } + }); // const dataMsg = callback.msg; // const failedReason = dataMsg.split('.'); @@ -1231,15 +1233,13 @@ export class TransactionService { dataTransaction.callback_json = callback; dataTransaction.failed_reason = `Trx ${product.code} ke ${dataTransaction.destination} gagal`; - // console.log("inipricetable", dataTransaction.product_price.price) - // console.log("inipricecallback", callback['price']) + console.log("inipricetable", dataTransaction.product_price.price) + console.log("inipricecallback", callback['price']) if(callback['message']) { if (callback['message'].includes('METRO')) { if (callback['price'] != dataTransaction.product_price.price) { - console.log("inipricetable", dataTransaction.product_price.price) - console.log("inipricecallback", callback['price']) console.log("mskupdt", "msk") - dataTransaction.product_price.price = callback['price'] + dataProductPrice.price = callback['price'] } } }