부가서비스
- 계좌성명조회 - 조회신청 API 연결
This commit is contained in:
@@ -8,7 +8,7 @@ import {
|
|||||||
ExtensionAccountHolderSearchDetailParams,
|
ExtensionAccountHolderSearchDetailParams,
|
||||||
ExtensionAccountHolderSearchDetailResponse,
|
ExtensionAccountHolderSearchDetailResponse,
|
||||||
DetailInfo
|
DetailInfo
|
||||||
} from '../model/types';
|
} from '../../model/types';
|
||||||
import {
|
import {
|
||||||
useMutation,
|
useMutation,
|
||||||
UseMutationOptions
|
UseMutationOptions
|
||||||
@@ -2,7 +2,7 @@ import axios from 'axios';
|
|||||||
import { API_URL_ADDITIONAL_SERVICE } from '@/shared/api/api-url-additional-service';
|
import { API_URL_ADDITIONAL_SERVICE } from '@/shared/api/api-url-additional-service';
|
||||||
import { resultify } from '@/shared/lib/resultify';
|
import { resultify } from '@/shared/lib/resultify';
|
||||||
import { CBDCAxiosError } from '@/shared/@types/error';
|
import { CBDCAxiosError } from '@/shared/@types/error';
|
||||||
import { ExtensionAccountHolderSearchDownloadExcelParams, ExtensionAccountHolderSearchDownloadExcelResponse } from '../model/types';
|
import { ExtensionAccountHolderSearchDownloadExcelParams, ExtensionAccountHolderSearchDownloadExcelResponse } from '../../model/types';
|
||||||
import {
|
import {
|
||||||
useMutation,
|
useMutation,
|
||||||
UseMutationOptions
|
UseMutationOptions
|
||||||
@@ -5,7 +5,7 @@ import { CBDCAxiosError } from '@/shared/@types/error';
|
|||||||
import {
|
import {
|
||||||
ExtensionAccountHolderSearchListParams,
|
ExtensionAccountHolderSearchListParams,
|
||||||
ExtensionAccountHolderSearchListResponse,
|
ExtensionAccountHolderSearchListResponse,
|
||||||
} from '../model/types';
|
} from '../../model/types';
|
||||||
import {
|
import {
|
||||||
useMutation,
|
useMutation,
|
||||||
UseMutationOptions
|
UseMutationOptions
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
import axios from 'axios';
|
||||||
|
import { API_URL_ADDITIONAL_SERVICE } from '@/shared/api/api-url-additional-service';
|
||||||
|
import { resultify } from '@/shared/lib/resultify';
|
||||||
|
import { CBDCAxiosError } from '@/shared/@types/error';
|
||||||
|
import { ExtensionAccountHolderSearchRequestParams, ExtensionAccountHolderSearchRequestResponse } from '../../model/types';
|
||||||
|
import {
|
||||||
|
useMutation,
|
||||||
|
UseMutationOptions
|
||||||
|
} from '@tanstack/react-query';
|
||||||
|
|
||||||
|
export const extensionAccountHolderSearchRequest = (params: ExtensionAccountHolderSearchRequestParams) => {
|
||||||
|
return resultify(
|
||||||
|
axios.post<ExtensionAccountHolderSearchRequestResponse>(API_URL_ADDITIONAL_SERVICE.extensionAccountHolderSearchRequest(), params),
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export const useExtensionAccountHolderSearchRequestMutation = (options?: UseMutationOptions<ExtensionAccountHolderSearchRequestResponse, CBDCAxiosError, ExtensionAccountHolderSearchRequestParams>) => {
|
||||||
|
const mutation = useMutation<ExtensionAccountHolderSearchRequestResponse, CBDCAxiosError, ExtensionAccountHolderSearchRequestParams>({
|
||||||
|
...options,
|
||||||
|
mutationFn: (params: ExtensionAccountHolderSearchRequestParams) => extensionAccountHolderSearchRequest(params),
|
||||||
|
});
|
||||||
|
|
||||||
|
return {
|
||||||
|
...mutation,
|
||||||
|
};
|
||||||
|
};
|
||||||
@@ -568,6 +568,15 @@ export interface ExtensionAccountHolderSearchDetailResponse {
|
|||||||
requestWay: string;
|
requestWay: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface ExtensionAccountHolderSearchRequestParams extends ExtensionRequestParams {
|
||||||
|
bankCode: string;
|
||||||
|
accountNo: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ExtensionAccountHolderSearchRequestResponse {
|
||||||
|
status : boolean;
|
||||||
|
}
|
||||||
|
|
||||||
export interface ExtensionAccountHolderSearchDownloadExcelParams extends ExtensionRequestParams { // Request
|
export interface ExtensionAccountHolderSearchDownloadExcelParams extends ExtensionRequestParams { // Request
|
||||||
searchCl: string;
|
searchCl: string;
|
||||||
searchValue: string;
|
searchValue: string;
|
||||||
@@ -578,7 +587,7 @@ export interface ExtensionAccountHolderSearchDownloadExcelParams extends Extensi
|
|||||||
}
|
}
|
||||||
|
|
||||||
export interface ExtensionAccountHolderSearchDownloadExcelResponse {
|
export interface ExtensionAccountHolderSearchDownloadExcelResponse {
|
||||||
|
status: boolean;
|
||||||
}
|
}
|
||||||
// ========================================
|
// ========================================
|
||||||
|
|
||||||
@@ -614,7 +623,7 @@ export interface ExtensionKeyinDownloadExcelParams extends ExtensionRequestParam
|
|||||||
}
|
}
|
||||||
|
|
||||||
export interface ExtensionKeyinDownloadExcelResponse {
|
export interface ExtensionKeyinDownloadExcelResponse {
|
||||||
|
status: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface ExtensionKeyinApplyParams extends ExtensionRequestParams {
|
export interface ExtensionKeyinApplyParams extends ExtensionRequestParams {
|
||||||
|
|||||||
@@ -13,9 +13,9 @@ import {
|
|||||||
useSetFooterMode,
|
useSetFooterMode,
|
||||||
useSetOnBack
|
useSetOnBack
|
||||||
} from '@/widgets/sub-layout/use-sub-layout';
|
} from '@/widgets/sub-layout/use-sub-layout';
|
||||||
import { useExtensionAccountHolderSearchListMutation } from '@/entities/additional-service/api/use-extension-account-holder-search-list-mutation';
|
import { useExtensionAccountHolderSearchListMutation } from '@/entities/additional-service/api/account-holder-search/use-extension-account-holder-search-list-mutation';
|
||||||
import { DEFAULT_PAGE_PARAM } from '@/entities/common/model/constant';
|
import { DEFAULT_PAGE_PARAM } from '@/entities/common/model/constant';
|
||||||
import { useExtensionAccountHolderSearchDownloadExcelMutation } from '@/entities/additional-service/api/use-extension-account-holder-search-download-excel-mutation';
|
import { useExtensionAccountHolderSearchDownloadExcelMutation } from '@/entities/additional-service/api/account-holder-search/use-extension-account-holder-search-download-excel-mutation';
|
||||||
import { SortOptionsBox } from '@/entities/additional-service/ui/sort-options-box';
|
import { SortOptionsBox } from '@/entities/additional-service/ui/sort-options-box';
|
||||||
import { AccountHolderSearchList } from '@/entities/additional-service/ui/account-holder-search/account-holder-search-list';
|
import { AccountHolderSearchList } from '@/entities/additional-service/ui/account-holder-search/account-holder-search-list';
|
||||||
|
|
||||||
@@ -104,7 +104,7 @@ export const AccountHolderSearchPage = () => {
|
|||||||
bankCode: bank,
|
bankCode: bank,
|
||||||
resultStatus: processResult
|
resultStatus: processResult
|
||||||
}).then((rs) => {
|
}).then((rs) => {
|
||||||
|
console.log('Excel Dowload Status : ' + rs.status)
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import {
|
|||||||
useSetFooterMode,
|
useSetFooterMode,
|
||||||
useSetOnBack
|
useSetOnBack
|
||||||
} from '@/widgets/sub-layout/use-sub-layout';
|
} from '@/widgets/sub-layout/use-sub-layout';
|
||||||
import { useExtensionAccountHolderSearchDetailMutation } from '@/entities/additional-service/api/use-extension-account-holder-search-detail-mutation';
|
import { useExtensionAccountHolderSearchDetailMutation } from '@/entities/additional-service/api/account-holder-search/use-extension-account-holder-search-detail-mutation';
|
||||||
import { AdditionalServiceCategory, DetailInfo, DetailResponse, ExtensionAccountHolderSearchDetailParams, TitleInfo } from '@/entities/additional-service/model/types';
|
import { AdditionalServiceCategory, DetailInfo, DetailResponse, ExtensionAccountHolderSearchDetailParams, TitleInfo } from '@/entities/additional-service/model/types';
|
||||||
import { TitleInfoWrap } from '@/entities/additional-service/ui/info-wrap/title-info-wrap';
|
import { TitleInfoWrap } from '@/entities/additional-service/ui/info-wrap/title-info-wrap';
|
||||||
import { useLocation } from 'react-router';
|
import { useLocation } from 'react-router';
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import { useState } from 'react';
|
import { useState } from 'react';
|
||||||
import { PATHS } from '@/shared/constants/paths';
|
import { PATHS } from '@/shared/constants/paths';
|
||||||
import { useNavigate } from '@/shared/lib/hooks/use-navigate';
|
import { useNavigate } from '@/shared/lib/hooks/use-navigate';
|
||||||
import { IMAGE_ROOT } from '@/shared/constants/common';
|
|
||||||
import { HeaderType } from '@/entities/common/model/types';
|
import { HeaderType } from '@/entities/common/model/types';
|
||||||
import {
|
import {
|
||||||
useSetHeaderTitle,
|
useSetHeaderTitle,
|
||||||
@@ -9,11 +8,12 @@ import {
|
|||||||
useSetFooterMode,
|
useSetFooterMode,
|
||||||
useSetOnBack
|
useSetOnBack
|
||||||
} from '@/widgets/sub-layout/use-sub-layout';
|
} from '@/widgets/sub-layout/use-sub-layout';
|
||||||
|
import { useExtensionAccountHolderSearchRequestMutation } from '@/entities/additional-service/api/account-holder-search/use-extension-account-holder-search-reqeust-mutation';
|
||||||
|
import { ExtensionAccountHolderSearchRequestParams } from '@/entities/additional-service/model/types';
|
||||||
|
|
||||||
export const AccountHolderSearchRequestPage = () => {
|
export const AccountHolderSearchRequestPage = () => {
|
||||||
const { navigate } = useNavigate();
|
const { navigate } = useNavigate();
|
||||||
|
|
||||||
|
|
||||||
useSetHeaderTitle('계좌성명조회_신청');
|
useSetHeaderTitle('계좌성명조회_신청');
|
||||||
useSetHeaderType(HeaderType.LeftArrow);
|
useSetHeaderType(HeaderType.LeftArrow);
|
||||||
useSetFooterMode(false);
|
useSetFooterMode(false);
|
||||||
@@ -21,25 +21,35 @@ export const AccountHolderSearchRequestPage = () => {
|
|||||||
navigate(PATHS.additionalService.accountHolderSearch.list);
|
navigate(PATHS.additionalService.accountHolderSearch.list);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const { mutateAsync: accountHolderSearchRequest } = useExtensionAccountHolderSearchRequestMutation();
|
||||||
|
|
||||||
const [formData, setFormData] = useState({
|
const [formData, setFormData] = useState({
|
||||||
mid: 'nictest001m',
|
mid: 'nictest001m',
|
||||||
bank: '',
|
bankCode: '',
|
||||||
accountNum: ''
|
accountNo: ''
|
||||||
})
|
})
|
||||||
|
|
||||||
const handleInputChange = (field: string, value: string) => {
|
const handleInputChange = (field: string, value: string) => {
|
||||||
setFormData(prev => ({
|
setFormData({ ...formData, [field]: value });
|
||||||
...prev,
|
|
||||||
[field]: value
|
|
||||||
}));
|
|
||||||
};
|
};
|
||||||
|
|
||||||
useSetOnBack(() => {
|
|
||||||
navigate(PATHS.additionalService.accountHolderSearch.list);
|
|
||||||
});
|
|
||||||
|
|
||||||
const onClickToRequest = () => {
|
const onClickToRequest = () => {
|
||||||
navigate(PATHS.additionalService.accountHolderSearch.list)
|
const reuqestParams: ExtensionAccountHolderSearchRequestParams = {
|
||||||
|
mid: formData.mid,
|
||||||
|
bankCode: formData.bankCode, // 추후 진짜 은행코드 삽입 필요
|
||||||
|
accountNo: formData.accountNo
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log("계좌성명 조회 조회신청 요청 파라미터 : ", reuqestParams);
|
||||||
|
|
||||||
|
accountHolderSearchRequest(reuqestParams)
|
||||||
|
.then((response) => {
|
||||||
|
console.log("계좌성명 조회 조회 신청 성공 응답: ", response.status)
|
||||||
|
navigate(PATHS.additionalService.accountHolderSearch.list);
|
||||||
|
})
|
||||||
|
.catch((error) => {
|
||||||
|
console.error("계좌성명 조회 조회 신청 실패: ", error)
|
||||||
|
})
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@@ -67,8 +77,8 @@ export const AccountHolderSearchRequestPage = () => {
|
|||||||
<div className="billing-field">
|
<div className="billing-field">
|
||||||
<select
|
<select
|
||||||
className="wid-100"
|
className="wid-100"
|
||||||
value={formData.bank}
|
value={formData.bankCode}
|
||||||
onChange={(e) => handleInputChange('bank', e.target.value)}
|
onChange={(e) => handleInputChange('bankCode', e.target.value)}
|
||||||
>
|
>
|
||||||
<option>우리은행</option>
|
<option>우리은행</option>
|
||||||
<option>카카오뱅크</option>
|
<option>카카오뱅크</option>
|
||||||
@@ -81,8 +91,10 @@ export const AccountHolderSearchRequestPage = () => {
|
|||||||
<div className="billing-field">
|
<div className="billing-field">
|
||||||
<input
|
<input
|
||||||
type="number"
|
type="number"
|
||||||
value="10002464******"
|
placeholder=''
|
||||||
/>
|
value={formData.accountNo}
|
||||||
|
onChange={(e) => handleInputChange('accountNo', e.target.value)}
|
||||||
|
></input>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -122,7 +122,7 @@ export const KeyInPaymentPage = () => {
|
|||||||
minAmount: newMinAmount,
|
minAmount: newMinAmount,
|
||||||
maxAmount: newMaxAmount
|
maxAmount: newMaxAmount
|
||||||
}).then((rs) => {
|
}).then((rs) => {
|
||||||
|
console.log('Excel Dowload Status : ' + rs.status)
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,10 @@ export const API_URL_ADDITIONAL_SERVICE = {
|
|||||||
// POST: 계좌성명조회 엑셀 다운
|
// POST: 계좌성명조회 엑셀 다운
|
||||||
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/search-account-name/excel`;
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/search-account-name/excel`;
|
||||||
},
|
},
|
||||||
|
extensionAccountHolderSearchRequest: () => {
|
||||||
|
// POST: 계좌성명조회 조회 신청
|
||||||
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/search-account-name/request`;
|
||||||
|
},
|
||||||
extensionLinkPaymentHistoryList: () => {
|
extensionLinkPaymentHistoryList: () => {
|
||||||
// POST: 링크결제 - 발송내역 리스트 조회
|
// POST: 링크결제 - 발송내역 리스트 조회
|
||||||
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/linkpay/history/list`;
|
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/extension/linkpay/history/list`;
|
||||||
|
|||||||
Reference in New Issue
Block a user