From cf43035b69a92710aeefb2f26ebceeed2abb7ed7 Mon Sep 17 00:00:00 2001 From: "focp212@naver.com" Date: Mon, 3 Nov 2025 15:03:14 +0900 Subject: [PATCH 1/3] =?UTF-8?q?=EB=A6=AC=EC=8A=A4=ED=8A=B8=20=EB=B8=94?= =?UTF-8?q?=EB=A6=BF=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/entities/transaction/ui/list-item.tsx | 54 +++++++++++++++++++---- 1 file changed, 46 insertions(+), 8 deletions(-) diff --git a/src/entities/transaction/ui/list-item.tsx b/src/entities/transaction/ui/list-item.tsx index e8e7296..30de3cb 100644 --- a/src/entities/transaction/ui/list-item.tsx +++ b/src/entities/transaction/ui/list-item.tsx @@ -1,7 +1,7 @@ import { NumericFormat } from 'react-number-format'; import { PATHS } from '@/shared/constants/paths'; import { useNavigate } from '@/shared/lib/hooks/use-navigate'; -import { ListItemProps, TransactionCategory } from '../model/types'; +import { BillingRequestStatus, CashReceiptTransactionType, EscrowDeliveryStatus, ListItemProps, TransactionCategory } from '../model/types'; import moment from 'moment'; import { useStore } from '@/shared/model/store'; import { getAllTransactionStatusCode, getPaymentMethodName } from '../model/contant'; @@ -16,7 +16,7 @@ export const ListItem = ({ paymentMethod, processResult, transactionType, transactionDateTime, transactionAmount, deliveryStatus, settlementStatus, - cancelStatus, billKey, orderNumber + cancelStatus, billKey, orderNumber, requestStatus }: ListItemProps) => { const { navigate } = useNavigate(); const { t } = useTranslation(); @@ -36,15 +36,53 @@ export const ListItem = ({ const getDotClass = (str?: string) => { let rs = ''; - if(statusCode === '0'){ - rs = ''; + if(transactionCategory === TransactionCategory.AllTransaction){ + if(statusCode === '0' + || statusCode === '4' + ){ + rs = 'blue'; + } + else if(statusCode === '1' + || statusCode === '2' + || statusCode === '3' + ){ + rs = 'gray'; + } } - else if(statusCode === '1'){ - rs = 'blue'; + else if(transactionCategory === TransactionCategory.CashReceipt){ + if(transactionType === CashReceiptTransactionType.APPROVAL){ + rs = 'blue'; + } + else if(transactionType === CashReceiptTransactionType.CANCEL){ + rs = 'gray'; + } } - else if(statusCode === '2'){ - rs = 'gray'; + else if(transactionCategory === TransactionCategory.Escrow){ + if(deliveryStatus === EscrowDeliveryStatus.DELIVERY_INSERT + || deliveryStatus === EscrowDeliveryStatus.DELIVERY_COMPLETE + || deliveryStatus === EscrowDeliveryStatus.PURCHASE_CONFIRM + ){ + rs = 'blue'; + } + else if(deliveryStatus === EscrowDeliveryStatus.PAY_COMPLETE + || deliveryStatus === EscrowDeliveryStatus.PURCHASE_REJECT + || deliveryStatus === EscrowDeliveryStatus.RETURN_PROCESSING + || EscrowDeliveryStatus.DEPOSIT_COMPLETE + ){ + rs = 'gray'; + } } + else if(transactionCategory === TransactionCategory.Billing){ + if(requestStatus === BillingRequestStatus.SUCCESS){ + rs = 'blue'; + } + else if(requestStatus === BillingRequestStatus.IN_PROGRESS + || requestStatus === BillingRequestStatus.REQUEST_CANCEL + ){ + rs = 'gray'; + } + } + return rs; }; From 9c5f01f99747f9ab64f66d88455a9adbb465bd40 Mon Sep 17 00:00:00 2001 From: HyeonJongKim Date: Mon, 3 Nov 2025 15:07:39 +0900 Subject: [PATCH 2/3] =?UTF-8?q?-=20=EC=97=91=EC=85=80=20=EB=8B=A4=EC=9A=B4?= =?UTF-8?q?=20=EB=88=84=EB=9D=BD=20=ED=95=84=EB=93=9C=20=EC=B6=94=EA=B0=80?= =?UTF-8?q?=20-=20=EC=8A=A4=EB=82=B5=EB=B0=94=20=EB=88=84=EB=9D=BD=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../additional-service/model/alimtalk/types.ts | 1 + .../additional-service/model/ars/types.ts | 15 +++++++++++++-- .../additional-service/model/key-in/types.ts | 1 + .../additional-service/model/sms-payment/types.ts | 2 +- .../additional-service/alimtalk/list-page.tsx | 2 +- src/pages/additional-service/ars/detail-page.tsx | 15 ++++++++++++++- src/pages/additional-service/ars/list-page.tsx | 2 +- .../key-in-payment/key-in-payment-page.tsx | 2 +- .../key-in-payment/requeset-page.tsx | 5 +++++ .../sms-payment/sms-payment-page.tsx | 2 +- 10 files changed, 39 insertions(+), 8 deletions(-) diff --git a/src/entities/additional-service/model/alimtalk/types.ts b/src/entities/additional-service/model/alimtalk/types.ts index d59f622..348f2c7 100644 --- a/src/entities/additional-service/model/alimtalk/types.ts +++ b/src/entities/additional-service/model/alimtalk/types.ts @@ -113,6 +113,7 @@ export interface ExtensionAlimtalkDownloadExcelParams { toDate?: string; sendType?: AlimtalkSendType; sendCl?: AlimTalkSendCl; + email?: string; }; export interface ExtensionAlimtalkDownloadExcelResponse { diff --git a/src/entities/additional-service/model/ars/types.ts b/src/entities/additional-service/model/ars/types.ts index 79f59e9..9134ebd 100644 --- a/src/entities/additional-service/model/ars/types.ts +++ b/src/entities/additional-service/model/ars/types.ts @@ -1,4 +1,4 @@ -import { +import { DefaulResponsePagination, DefaultRequestPagination } from '@/entities/common/model/types'; @@ -25,6 +25,16 @@ export interface ExtensionArsResendParams { }; export interface ExtensionArsResendResponse { status: boolean; + error?: { + root?: string; + errKey?: string; + code?: string; + message?: string; + timestamp?: string; + details?: { + path?: string; + }; + }; }; export interface ExtensionArsListParams { mid?: string; @@ -54,6 +64,7 @@ export interface ExtensionArsListResponse extends DefaulResponsePagination { export interface ExtensionArsDownloadExcelParams { mid?: string; moid?: string; + email?: string; fromDate?: string; toDate?: string; paymentStatus?: PaymentStatus; @@ -61,7 +72,7 @@ export interface ExtensionArsDownloadExcelParams { minAmount?: number; maxAmount?: number; }; -export interface ExtensionArsDownloadExcelResponse {}; +export interface ExtensionArsDownloadExcelResponse { }; export interface ExtensionArsDetailParams { mid: string; tid: string; diff --git a/src/entities/additional-service/model/key-in/types.ts b/src/entities/additional-service/model/key-in/types.ts index 63fc60d..7c46b58 100644 --- a/src/entities/additional-service/model/key-in/types.ts +++ b/src/entities/additional-service/model/key-in/types.ts @@ -83,6 +83,7 @@ export interface ExtensionKeyinDownloadExcelParams extends ExtensionRequestParam fromDate?: string; toDate?: string; paymentStatus?: string; + email?: string minAmount?: number; maxAmount?: number; } diff --git a/src/entities/additional-service/model/sms-payment/types.ts b/src/entities/additional-service/model/sms-payment/types.ts index eb66523..8f84e15 100644 --- a/src/entities/additional-service/model/sms-payment/types.ts +++ b/src/entities/additional-service/model/sms-payment/types.ts @@ -132,7 +132,7 @@ export interface ExtensionSmsDownloadExcelParams extends ExtensionRequestParams fromDate: string; toDate: string; smsCl: string; - + email: string; } export interface ExtensionSmsDownloadExcelResponse { diff --git a/src/pages/additional-service/alimtalk/list-page.tsx b/src/pages/additional-service/alimtalk/list-page.tsx index 2474960..74355df 100644 --- a/src/pages/additional-service/alimtalk/list-page.tsx +++ b/src/pages/additional-service/alimtalk/list-page.tsx @@ -150,7 +150,7 @@ export const AlimtalkListPage = () => { toDate: toDate, sendType: sendType, sendCl: sendCl, - //email: selectedEmail + email: selectedEmail }; extensionAlimtalkDownloadExcel(params).then((rs: ExtensionAlimtalkDownloadExcelResponse) => { console.log('Excel Download Status:', rs.status); diff --git a/src/pages/additional-service/ars/detail-page.tsx b/src/pages/additional-service/ars/detail-page.tsx index 2cca757..f18cfd3 100644 --- a/src/pages/additional-service/ars/detail-page.tsx +++ b/src/pages/additional-service/ars/detail-page.tsx @@ -24,6 +24,7 @@ import moment from 'moment'; import { ArsResendSmsBottomSheet } from '@/entities/additional-service/ui/ars/resend-sms-bottom-sheet'; import { useExtensionArsResendMutation } from '@/entities/additional-service/api/ars/use-extension-ars-resend-mutation'; import { getArsOrderStatusName, getArsPaymentStatusName } from '@/entities/additional-service/model/ars/constant'; +import { snackBar } from '@/shared/lib'; export const ArsDetailPage = () => { const { t, i18n } = useTranslation(); @@ -74,7 +75,19 @@ export const ArsDetailPage = () => { tid: tid } extensionArsResend(params).then((rs: ExtensionArsResendResponse) => { - console.log(rs); + if (rs.status) { + snackBar("SMS 재전송을 성공하였습니다."); + setBottomSheetOn(false); + callDetail(); // 상세 정보 갱신 + } else { + const errorMessage = rs.error?.message || 'SMS 재전송이 실패하였습니다.'; + snackBar(`[실패] ${errorMessage}`); + } + }).catch((error) => { + const errorMessage = error?.response?.data?.error?.message || + error?.message || + 'SMS 재전송 중 오류가 발생했습니다.'; + snackBar(`[실패] ${errorMessage}`); }); }; diff --git a/src/pages/additional-service/ars/list-page.tsx b/src/pages/additional-service/ars/list-page.tsx index 5a49a3d..92a66dd 100644 --- a/src/pages/additional-service/ars/list-page.tsx +++ b/src/pages/additional-service/ars/list-page.tsx @@ -144,7 +144,7 @@ export const ArsListPage = () => { orderStatus: orderStatus, minAmount: minAmount, maxAmount: maxAmount, - //email: selectedEmail + email: selectedEmail }; extensionArsDownloadExcel(params).then((rs: ExtensionArsDownloadExcelResponse) => { console.log('Excel Download Status:', rs); diff --git a/src/pages/additional-service/key-in-payment/key-in-payment-page.tsx b/src/pages/additional-service/key-in-payment/key-in-payment-page.tsx index 5098c64..2f3bd18 100644 --- a/src/pages/additional-service/key-in-payment/key-in-payment-page.tsx +++ b/src/pages/additional-service/key-in-payment/key-in-payment-page.tsx @@ -146,7 +146,7 @@ export const KeyInPaymentPage = () => { paymentStatus: transactionType, minAmount: minAmount, maxAmount: maxAmount, - //email: selectedEmail + email: selectedEmail }).then((rs) => { console.log('Excel Download Status:', rs.status); }); diff --git a/src/pages/additional-service/key-in-payment/requeset-page.tsx b/src/pages/additional-service/key-in-payment/requeset-page.tsx index 5bdf1ad..ad0b168 100644 --- a/src/pages/additional-service/key-in-payment/requeset-page.tsx +++ b/src/pages/additional-service/key-in-payment/requeset-page.tsx @@ -81,6 +81,10 @@ export const KeyInPaymentRequestPage = () => { }; keyInApply(keyInApplyParams).then((rs) => { + console.log('KEY-IN 결제 응답:', rs); + console.log('rs.data:', rs.data); + console.log('rs.data?.resultMessage:', rs.data?.resultMessage); + if (rs.status && rs.data?.success) { // 성공: 화면 유지 & 입력 내용 초기화 snackBar("KEY-IN 결제 신청을 성공하였습니다.") @@ -90,6 +94,7 @@ export const KeyInPaymentRequestPage = () => { const errorMessage = rs.data?.resultMessage || rs.error?.message || '결제 신청에 실패했습니다.'; + console.log('최종 errorMessage:', errorMessage); // HTML 태그 제거 const cleanMessage = errorMessage.replace(//gi, ' ').trim(); snackBar(`[실패] ${cleanMessage}`); diff --git a/src/pages/additional-service/sms-payment/sms-payment-page.tsx b/src/pages/additional-service/sms-payment/sms-payment-page.tsx index d4330cd..fd9c8bf 100644 --- a/src/pages/additional-service/sms-payment/sms-payment-page.tsx +++ b/src/pages/additional-service/sms-payment/sms-payment-page.tsx @@ -147,7 +147,7 @@ export const SmsPaymentPage = () => { fromDate: fromDate, toDate: toDate, smsCl: smsCl, - //email: selectedEmail + email: selectedEmail }).then((rs) => { console.log('Excel Download Status:', rs.status); }); From d028da0a890a8aa93d9ae12b038c85c817e35cac Mon Sep 17 00:00:00 2001 From: "focp212@naver.com" Date: Mon, 3 Nov 2025 15:46:16 +0900 Subject: [PATCH 3/3] dot class --- src/entities/settlement/ui/list-item.tsx | 14 +++++++++++++- src/entities/transaction/ui/list-item.tsx | 2 +- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/entities/settlement/ui/list-item.tsx b/src/entities/settlement/ui/list-item.tsx index b1568f6..e7e934f 100644 --- a/src/entities/settlement/ui/list-item.tsx +++ b/src/entities/settlement/ui/list-item.tsx @@ -37,6 +37,18 @@ export const ListItem = ({ } }); }; + + const getDotClass = () => { + let rs = 'gray'; + if(periodType === SettlementPeriodType.SETTLEMENT_DATE && settlementAmount){ + if(settlementAmount > 0) rs = 'blue'; + } + else if(periodType === SettlementPeriodType.TRANSACTION_DATE && transactionAmount){ + if(transactionAmount > 0) rs = 'blue'; + } + + return rs; + }; return ( <> @@ -45,7 +57,7 @@ export const ListItem = ({ onClick={ () => onClickToNavigate() } >
-
+
{ (periodType === SettlementPeriodType.SETTLEMENT_DATE) && diff --git a/src/entities/transaction/ui/list-item.tsx b/src/entities/transaction/ui/list-item.tsx index 30de3cb..d0420b2 100644 --- a/src/entities/transaction/ui/list-item.tsx +++ b/src/entities/transaction/ui/list-item.tsx @@ -34,7 +34,7 @@ export const ListItem = ({ return rs; }; - const getDotClass = (str?: string) => { + const getDotClass = () => { let rs = ''; if(transactionCategory === TransactionCategory.AllTransaction){ if(statusCode === '0'