From 92150880dd7613af108450ff2fc95aea9de9eff0 Mon Sep 17 00:00:00 2001 From: HyeonJongKim Date: Fri, 17 Oct 2025 14:15:36 +0900 Subject: [PATCH] =?UTF-8?q?-=20=EC=9E=90=EA=B8=88=EC=9D=B4=EC=B2=B4=5F=20?= =?UTF-8?q?=EC=9D=B4=EC=B2=B4=EC=9A=94=EC=B2=AD=20Request,Response=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 --- .../model/fund-account/types.ts | 18 +-- .../fund-account/transfer-detail-page.tsx | 54 ++++---- .../fund-account/transfer-request-page.tsx | 122 ++++++++++-------- 3 files changed, 110 insertions(+), 84 deletions(-) diff --git a/src/entities/additional-service/model/fund-account/types.ts b/src/entities/additional-service/model/fund-account/types.ts index bf8521f..91f2172 100644 --- a/src/entities/additional-service/model/fund-account/types.ts +++ b/src/entities/additional-service/model/fund-account/types.ts @@ -20,16 +20,15 @@ export enum FundAccountReceiveAccountNameNo { export interface ExtensionFundAccountTransferRequestParams { mid?: string; - transferAmount?: number; - receiveBankCode?: string; - receiveAccountNo?: string; - receiveAccountName?: string; - transferMemo?: string; + bankCode: string; + accountNo: string; + accountName: string; + amount: number; + moid: string; + depositParameter?: string; }; export interface ExtensionFundAccountTransferRequestResponse { - tid: string; - result: string; - message: string; + status: boolean; }; export enum FundAccountSearchCl { @@ -96,7 +95,8 @@ export interface ExtensionFundAccountTransferDetailResponse { resultStatus: FundAccountStatus; requestDate: string; resultMessage: string; - bankName: string; + bankCode: string; + moid: string; }; export interface ExtensionFundAccountResultSummaryParams { mid: string; diff --git a/src/pages/additional-service/fund-account/transfer-detail-page.tsx b/src/pages/additional-service/fund-account/transfer-detail-page.tsx index 4944163..862c9a5 100644 --- a/src/pages/additional-service/fund-account/transfer-detail-page.tsx +++ b/src/pages/additional-service/fund-account/transfer-detail-page.tsx @@ -1,17 +1,17 @@ import { PATHS } from '@/shared/constants/paths'; import { useNavigate } from '@/shared/lib/hooks/use-navigate'; import { HeaderType } from '@/entities/common/model/types'; -import { - useSetHeaderTitle, - useSetHeaderType, - useSetFooterMode, +import { + useSetHeaderTitle, + useSetHeaderType, + useSetFooterMode, useSetOnBack } from '@/widgets/sub-layout/use-sub-layout'; import { useLocation } from 'react-router'; import { useEffect, useState } from 'react'; import { NumericFormat } from 'react-number-format'; import { useExtensionFundAccountTransferDetailMutation } from '@/entities/additional-service/api/fund-account/use-extension-fund-account-transfer-detail-mutation'; -import { ExtensionFundAccountTransferDetailParams, ExtensionFundAccountTransferDetailResponse, ExtensionFundAccountTransferRequestParams, ExtensionFundAccountTransferRequestResponse } from '@/entities/additional-service/model/fund-account/types'; +import { ExtensionFundAccountTransferDetailParams, ExtensionFundAccountTransferDetailResponse, ExtensionFundAccountTransferRequestParams, ExtensionFundAccountTransferRequestResponse, FundAccountStatus } from '@/entities/additional-service/model/fund-account/types'; import { getFundAccountStatusName } from '@/entities/additional-service/model/fund-account/constant'; import moment from 'moment'; import { useExtensionFundAccountTransferRequestMutation } from '@/entities/additional-service/api/fund-account/use-extension-fund-account-transfer-request-mutation'; @@ -27,7 +27,7 @@ export const FundAccountTransferDetailPage = () => { const { mutateAsync: extensionFundAccountTransferDetail } = useExtensionFundAccountTransferDetailMutation(); const { mutateAsync: extensionFundAccountTransferRequest } = useExtensionFundAccountTransferRequestMutation(); - + const callDetail = () => { let params: ExtensionFundAccountTransferDetailParams = { tid: tid, @@ -51,18 +51,23 @@ export const FundAccountTransferDetailPage = () => { callDetail(); }, []); - const onClickToRequest = () =>{ + const onClickToRequest = () => { + if (!detail) { + alert('상세 정보를 불러오는 중입니다.'); + return; + } + let params: ExtensionFundAccountTransferRequestParams = { mid: mid, - transferAmount: 0, - receiveBankCode: '', - receiveAccountNo: '', - receiveAccountName: '', - transferMemo: '' + bankCode: detail.bankCode || '', + accountNo: detail.accountNo || '', + accountName: detail.accountName || '', + amount: detail.amount || 0, + moid: detail.moid || '' }; extensionFundAccountTransferRequest(params).then((rs: ExtensionFundAccountTransferRequestResponse) => { console.log(rs) - alert(rs.message); + alert(rs.status ? '이체 요청이 완료되었습니다.' : '이체 요청에 실패했습니다.'); navigate(PATHS.additionalService.fundAccount.transferList); }); }; @@ -76,14 +81,14 @@ export const FundAccountTransferDetailPage = () => {
-
{ detail?.amount }({ detail?.accountName })
+
{detail?.amount}({detail?.accountName})
{detail?.registDate ? moment(detail.registDate, 'YYYYMMDDHHmmss').format('YYYY.MM.DD') : '-'}
@@ -100,7 +105,7 @@ export const FundAccountTransferDetailPage = () => {
  • 처리결과 - { getFundAccountStatusName(detail?.resultStatus) || '-' } + {getFundAccountStatusName(detail?.resultStatus) || '-'}
  • 요청일자 @@ -110,31 +115,32 @@ export const FundAccountTransferDetailPage = () => {
  • 이체결과 - { detail?.resultMessage || '-' } + {detail?.resultMessage || '-'}
  • 수취인명 - { detail?.accountName } + {detail?.accountName}
  • 은행 - { detail?.bankName } + {detail?.bankCode}
  • 계좌번호 - { detail?.accountNo } + {detail?.accountNo}
  • MID - { detail?.mid } + {detail?.mid}
  • - +
    -
    diff --git a/src/pages/additional-service/fund-account/transfer-request-page.tsx b/src/pages/additional-service/fund-account/transfer-request-page.tsx index 42c4666..d6bddeb 100644 --- a/src/pages/additional-service/fund-account/transfer-request-page.tsx +++ b/src/pages/additional-service/fund-account/transfer-request-page.tsx @@ -1,10 +1,10 @@ import { PATHS } from '@/shared/constants/paths'; import { useNavigate } from '@/shared/lib/hooks/use-navigate'; import { HeaderType } from '@/entities/common/model/types'; -import { - useSetHeaderTitle, - useSetHeaderType, - useSetFooterMode, +import { + useSetHeaderTitle, + useSetHeaderType, + useSetFooterMode, useSetOnBack } from '@/widgets/sub-layout/use-sub-layout'; import { useState } from 'react'; @@ -16,17 +16,19 @@ import { useStore } from '@/shared/model/store'; export const FundAccountTransferRequestPage = () => { const { navigate } = useNavigate(); const userMid = useStore.getState().UserStore.mid; + const midOptions = useStore.getState().UserStore.selectOptionsMids; const [mid, setMid] = useState(userMid); - const [transferAmount, setTransferAmount] = useState(0); - const [receiveBankCode, setReceiveBankCode] = useState(''); - const [receiveAccountNo, setReceiveAccountNo] = useState(''); - const [receiveAccountName, setReceiveAccountName] = useState(''); - const [transferMemo, setTransferMemo] = useState(''); + const [bankCode, setBankCode] = useState(''); + const [accountNo, setAccountNo] = useState(''); + const [accountName, setAccountName] = useState(''); + const [amount, setAmount] = useState(0); + const [moid, setMoid] = useState(''); + const [depositParameter, setDepositParameter] = useState(''); const { mutateAsync: extensionFundAccountRequest } = useExtensionFundAccountTransferRequestMutation(); - + useSetHeaderTitle('자금이체 이체등록'); useSetHeaderType(HeaderType.RightClose); useSetFooterMode(false); @@ -37,11 +39,12 @@ export const FundAccountTransferRequestPage = () => { const callExtensionFundAccountTransferRequest = () => { let params: ExtensionFundAccountTransferRequestParams = { mid: mid, - transferAmount: transferAmount, - receiveBankCode: receiveBankCode, - receiveAccountNo: receiveAccountNo, - receiveAccountName: receiveAccountName, - transferMemo: transferMemo + bankCode: bankCode, + accountNo: accountNo, + accountName: accountName, + amount: amount, + moid: moid, + depositParameter: depositParameter }; extensionFundAccountRequest(params).then((rs: ExtensionFundAccountTransferRequestResponse) => { navigate(PATHS.additionalService.payout.list); @@ -50,12 +53,15 @@ export const FundAccountTransferRequestPage = () => { const isFormValid = () => { return ( - receiveAccountNo.trim() !== '' && - receiveAccountName.trim() !== '' && - transferAmount >0 + mid.trim() !== '' && + //bankCode.trim() !== '' && + accountNo.trim() !== '' && + accountName.trim() !== '' && + amount > 0 && + moid.trim() !== '' ) } - + return ( <>
    @@ -64,62 +70,76 @@ export const FundAccountTransferRequestPage = () => {
    -
    가맹점
    +
    가맹점*
    - setMid(e.target.value)}> + { + midOptions.map((value, index) => ( + + )) + }
    -
    은행
    +
    은행*
    - +
    -
    계좌번호
    +
    계좌번호*
    - setReceiveAccountNo(e.target.value) } - /> + setAccountNo(e.target.value)} + />
    -
    예금주명
    +
    예금주명*
    - setReceiveAccountName(e.target.value) } - /> + setAccountName(e.target.value)} + />
    -
    이체금액
    +
    이체금액*
    - setTransferAmount(parseInt(e.target.value)) } - /> + setAmount(parseInt(e.target.value))} + />
    -
    주문번호
    -
    - 주문번호*
    +
    + setMoid(e.target.value)} />
    입금인자
    - setDepositParameter(e.target.value)} />
    @@ -129,10 +149,10 @@ export const FundAccountTransferRequestPage = () => {
    -