diff --git a/src/entities/settlement/ui/list-wrap.tsx b/src/entities/settlement/ui/list-wrap.tsx index b259d44..3aa25fc 100644 --- a/src/entities/settlement/ui/list-wrap.tsx +++ b/src/entities/settlement/ui/list-wrap.tsx @@ -16,7 +16,7 @@ import { ListSummaryExtendTransaction } from './list-summary-extend-transaction' import SlideDown from 'react-slidedown'; import 'react-slidedown/lib/slidedown.css'; import { ListFilter } from './filter/list-filter'; -import { useDownloadExcelMutation } from '@/entities/transaction/api/use-download-excel-mutation'; + import { SettlementPeriodType, SettlementPaymentMethod, @@ -90,8 +90,7 @@ export const ListWrap = ({ const { mutateAsync: settlementsHistorySummary} = useSettlementsHistorySummaryMutation(); const { mutateAsync: settlementsTransactionList } = useSettlementsTransactionListMutation(); const { mutateAsync: settlementsTransactionSummary } = useSettlementsTransactionSummaryMutation(); - const { mutateAsync: downloadExcel } = useDownloadExcelMutation(); - + const callList = (type?: string) => { setOnActionIntersect(false); if(periodType === SettlementPeriodType.SETTLEMENT_DATE){ diff --git a/src/entities/transaction/api/use-all-transaction-cancel-info-mutation.ts b/src/entities/transaction/api/use-all-transaction-cancel-info-mutation.ts index f2de448..c5bd0bb 100644 --- a/src/entities/transaction/api/use-all-transaction-cancel-info-mutation.ts +++ b/src/entities/transaction/api/use-all-transaction-cancel-info-mutation.ts @@ -23,7 +23,7 @@ export const allTransactionCancelInfo = (params: AllTransactionCancelInfoParams) } }; return resultify( - axios.post(API_URL_TRANSACTION.allTransactionCancelInfo(), params, options), + axios.post(API_URL_TRANSACTION.transactionCancelInfo(), params, options), ); }; diff --git a/src/entities/transaction/api/use-all-transaction-cancel-mutation.ts b/src/entities/transaction/api/use-all-transaction-cancel-mutation.ts index 59d6265..41da1a7 100644 --- a/src/entities/transaction/api/use-all-transaction-cancel-mutation.ts +++ b/src/entities/transaction/api/use-all-transaction-cancel-mutation.ts @@ -23,7 +23,7 @@ export const allTransactionCancel = (params: AllTransactionCancelParams) => { } }; return resultify( - axios.post(API_URL_TRANSACTION.allTransactionCancel(), params, options), + axios.post(API_URL_TRANSACTION.transactionCancel(), params, options), ); }; diff --git a/src/entities/transaction/api/use-all-transaction-detail-mutation.ts b/src/entities/transaction/api/use-all-transaction-detail-mutation.ts index 8341f29..f18f298 100644 --- a/src/entities/transaction/api/use-all-transaction-detail-mutation.ts +++ b/src/entities/transaction/api/use-all-transaction-detail-mutation.ts @@ -23,7 +23,7 @@ export const allTransactionDetail = (params: AllTransactionDetailParams) => { } }; return resultify( - axios.post(API_URL_TRANSACTION.allTransactionDetail(), params, options), + axios.post(API_URL_TRANSACTION.transactionDetail(), params, options), ); }; diff --git a/src/entities/transaction/api/use-all-transaction-list-mutation.ts b/src/entities/transaction/api/use-all-transaction-list-mutation.ts index 34de288..fcf8560 100644 --- a/src/entities/transaction/api/use-all-transaction-list-mutation.ts +++ b/src/entities/transaction/api/use-all-transaction-list-mutation.ts @@ -23,7 +23,7 @@ export const allTransactionList = (params: AllTransactionListParams) => { } }; return resultify( - axios.post(API_URL_TRANSACTION.allTransactionList(), params, options), + axios.post(API_URL_TRANSACTION.transactionList(), params, options), ); }; diff --git a/src/entities/transaction/api/use-all-transaction-list-summary-mutation.ts b/src/entities/transaction/api/use-all-transaction-list-summary-mutation.ts index fa4be7b..a08ccba 100644 --- a/src/entities/transaction/api/use-all-transaction-list-summary-mutation.ts +++ b/src/entities/transaction/api/use-all-transaction-list-summary-mutation.ts @@ -23,7 +23,7 @@ export const allTransactionListSummary = (params: AllTransactionListSummaryParam } }; return resultify( - axios.post(API_URL_TRANSACTION.allTransactionListSummary(), params, options), + axios.post(API_URL_TRANSACTION.transactionListSummary(), params, options), ); }; diff --git a/src/entities/transaction/api/use-download-confirmation-mutation.ts b/src/entities/transaction/api/use-download-confirmation-mutation.ts index 614d13e..88458dd 100644 --- a/src/entities/transaction/api/use-download-confirmation-mutation.ts +++ b/src/entities/transaction/api/use-download-confirmation-mutation.ts @@ -23,7 +23,7 @@ export const downloadConfirmation = (params: DownloadConfirmationParams) => { } }; return resultify( - axios.post(API_URL_TRANSACTION.downloadConfirmation(), params, options), + axios.post(API_URL_TRANSACTION.transactionDownloadConfirmation(), params, options), ); }; diff --git a/src/entities/transaction/api/use-download-excel-mutation.ts b/src/entities/transaction/api/use-download-excel-mutation.ts deleted file mode 100644 index 6f0b259..0000000 --- a/src/entities/transaction/api/use-download-excel-mutation.ts +++ /dev/null @@ -1,39 +0,0 @@ -import axios from 'axios'; -import { API_URL_TRANSACTION } from '@/shared/api/api-url-transaction'; -import { resultify } from '@/shared/lib/resultify'; -import { NiceAxiosError } from '@/shared/@types/error'; -import { - DownloadExcelParams, - DownloadExcelResponse -} from '../model/types'; -import { - useMutation, - UseMutationOptions -} from '@tanstack/react-query'; -import { getHeaderUserAgent } from '@/shared/constants/url'; - -export const downloadExcel = (params: DownloadExcelParams) => { - let headerOptions = { - menuId: 31, - apiType: 'DOWNLOAD' - }; - let options = { - headers: { - 'X-User-Agent': getHeaderUserAgent(headerOptions) - } - }; - return resultify( - axios.post(API_URL_TRANSACTION.downloadExcel(), params, options), - ); -}; - -export const useDownloadExcelMutation = (options?: UseMutationOptions) => { - const mutation = useMutation({ - ...options, - mutationFn: (params: DownloadExcelParams) => downloadExcel(params), - }); - - return { - ...mutation, - }; -}; diff --git a/src/entities/transaction/api/use-transaction-download-excel-mutation.ts b/src/entities/transaction/api/use-transaction-download-excel-mutation.ts new file mode 100644 index 0000000..1233dbd --- /dev/null +++ b/src/entities/transaction/api/use-transaction-download-excel-mutation.ts @@ -0,0 +1,39 @@ +import axios from 'axios'; +import { API_URL_TRANSACTION } from '@/shared/api/api-url-transaction'; +import { resultify } from '@/shared/lib/resultify'; +import { NiceAxiosError } from '@/shared/@types/error'; +import { + TransactionDownloadExcelParams, + TransactionDownloadExcelResponse +} from '../model/types'; +import { + useMutation, + UseMutationOptions +} from '@tanstack/react-query'; +import { getHeaderUserAgent } from '@/shared/constants/url'; + +export const transactionDownloadExcel = (params: TransactionDownloadExcelParams) => { + let headerOptions = { + menuId: 31, + apiType: 'DOWNLOAD' + }; + let options = { + headers: { + 'X-User-Agent': getHeaderUserAgent(headerOptions) + } + }; + return resultify( + axios.post(API_URL_TRANSACTION.transactionDownloadExcel(), params, options), + ); +}; + +export const useTransactionDownloadExcelMutation = (options?: UseMutationOptions) => { + const mutation = useMutation({ + ...options, + mutationFn: (params: TransactionDownloadExcelParams) => transactionDownloadExcel(params), + }); + + return { + ...mutation, + }; +}; diff --git a/src/entities/transaction/model/types.ts b/src/entities/transaction/model/types.ts index 62f18ba..fd4bc6b 100644 --- a/src/entities/transaction/model/types.ts +++ b/src/entities/transaction/model/types.ts @@ -594,6 +594,12 @@ export interface DownloadExcelParams { export interface DownloadExcelResponse { }; +export interface TransactionDownloadExcelParams extends AllTransactionListParams { + email: string; +}; +export interface TransactionDownloadExcelResponse {}; + + export interface AllTransactionCancelParams{ tid: string; cancelAmount: number; diff --git a/src/pages/transaction/all-transaction/list-page.tsx b/src/pages/transaction/all-transaction/list-page.tsx index 6eb97d0..f72225a 100644 --- a/src/pages/transaction/all-transaction/list-page.tsx +++ b/src/pages/transaction/all-transaction/list-page.tsx @@ -17,7 +17,6 @@ import { } from '@/entities/transaction/model/types'; import { useAllTransactionListMutation } from '@/entities/transaction/api/use-all-transaction-list-mutation'; import { useAllTransactionListSummaryMutation } from '@/entities/transaction/api/use-all-transaction-list-summary-mutation'; -import { useDownloadExcelMutation } from '@/entities/transaction/api/use-download-excel-mutation'; import { DEFAULT_PAGE_PARAM } from '@/entities/common/model/constant'; import { AllTransactionFilter } from '@/entities/transaction/ui/filter/all-transaction-filter'; import { SortTypeBox } from '@/entities/common/ui/sort-type-box'; @@ -35,6 +34,7 @@ import { AllTransactionDetail } from '@/entities/transaction/ui/detail/all-trans import { showAlert } from '@/widgets/show-alert'; import { snackBar } from '@/shared/lib'; import { checkGrant } from '@/shared/lib/check-grant'; +import { useTransactionDownloadExcelMutation } from '@/entities/transaction/api/use-transaction-download-excel-mutation'; /* 거래내역조회 31 */ const menuId = 31; @@ -85,7 +85,7 @@ export const AllTransactionListPage = () => { const { mutateAsync: allTransactionList } = useAllTransactionListMutation(); const { mutateAsync: allTransactionListSummary } = useAllTransactionListSummaryMutation(); - const { mutateAsync: downloadExcel } = useDownloadExcelMutation(); + const { mutateAsync: downloadExcel } = useTransactionDownloadExcelMutation(); const onIntersect: IntersectionObserverCallback = (entries: Array) => { entries.forEach((entry: IntersectionObserverEntry) => { if(entry.isIntersecting){ diff --git a/src/pages/transaction/billing/list-page.tsx b/src/pages/transaction/billing/list-page.tsx index 1e76a89..4f184f1 100644 --- a/src/pages/transaction/billing/list-page.tsx +++ b/src/pages/transaction/billing/list-page.tsx @@ -18,7 +18,6 @@ import { DetailData } from '@/entities/transaction/model/types'; import { useBillingListMutation } from '@/entities/transaction/api/use-billing-list-mutation'; -import { useDownloadExcelMutation } from '@/entities/transaction/api/use-download-excel-mutation'; import { DEFAULT_PAGE_PARAM } from '@/entities/common/model/constant'; import { BillingFilter } from '@/entities/transaction/ui/filter/billing-filter'; import { SortTypeBox } from '@/entities/common/ui/sort-type-box'; @@ -71,7 +70,6 @@ export const BillingListPage = () => { useSetFooterMode(false); const { mutateAsync: billingList } = useBillingListMutation(); - const { mutateAsync: downloadExcel } = useDownloadExcelMutation(); const onIntersect: IntersectionObserverCallback = (entries: Array) => { entries.forEach((entry: IntersectionObserverEntry) => { if(entry.isIntersecting){ diff --git a/src/pages/transaction/cash-receipt/list-page.tsx b/src/pages/transaction/cash-receipt/list-page.tsx index cbca43d..706bfc5 100644 --- a/src/pages/transaction/cash-receipt/list-page.tsx +++ b/src/pages/transaction/cash-receipt/list-page.tsx @@ -19,7 +19,6 @@ import { DetailData } from '@/entities/transaction/model/types'; import { useCashReceiptListMutation } from '@/entities/transaction/api/use-cash-receipt-list-mutation'; -import { useDownloadExcelMutation } from '@/entities/transaction/api/use-download-excel-mutation'; import { DEFAULT_PAGE_PARAM } from '@/entities/common/model/constant'; import { CashReceiptFilter } from '@/entities/transaction/ui/filter/cash-receipt-filter'; import { SortTypeBox } from '@/entities/common/ui/sort-type-box'; @@ -80,7 +79,6 @@ export const CashReceiptListPage = () => { const { mutateAsync: cashReceiptList } = useCashReceiptListMutation(); const { mutateAsync: cashReceiptSummary } = useCashReceiptSummaryMutation(); - const { mutateAsync: downloadExcel } = useDownloadExcelMutation(); const onIntersect: IntersectionObserverCallback = (entries: Array) => { entries.forEach((entry: IntersectionObserverEntry) => { if(entry.isIntersecting){ diff --git a/src/pages/transaction/escrow/list-page.tsx b/src/pages/transaction/escrow/list-page.tsx index 50f3c51..dac1ce6 100644 --- a/src/pages/transaction/escrow/list-page.tsx +++ b/src/pages/transaction/escrow/list-page.tsx @@ -17,7 +17,6 @@ import { DetailData } from '@/entities/transaction/model/types'; import { useEscrowListMutation } from '@/entities/transaction/api/use-escrow-list-mutation'; -import { useDownloadExcelMutation } from '@/entities/transaction/api/use-download-excel-mutation'; import { DEFAULT_PAGE_PARAM } from '@/entities/common/model/constant'; import { EscrowFilter } from '@/entities/transaction/ui/filter/escrow-filter'; import { getEscrowDeliveryStatusBtnGroup } from '@/entities/transaction/model/contant'; @@ -72,7 +71,6 @@ export const EscrowListPage = () => { useSetFooterMode(false); const { mutateAsync: escrowList } = useEscrowListMutation(); - const { mutateAsync: downloadExcel } = useDownloadExcelMutation(); const onIntersect: IntersectionObserverCallback = (entries: Array) => { entries.forEach((entry: IntersectionObserverEntry) => { if(entry.isIntersecting){ diff --git a/src/shared/api/api-url-transaction.ts b/src/shared/api/api-url-transaction.ts index f699309..cabdbf9 100644 --- a/src/shared/api/api-url-transaction.ts +++ b/src/shared/api/api-url-transaction.ts @@ -6,32 +6,32 @@ import { export const API_URL_TRANSACTION = { /* transaction Management - 거래관리 API */ - allTransactionList: () => { + transactionList: () => { // POST: 거래 내역 조회 return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/list`; }, - allTransactionListSummary: () => { + transactionListSummary: () => { // POST: 거래 내역 합계 조회 return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/list/summary`; }, - downloadExcel: () => { + transactionDownloadExcel: () => { // POST: 거래 엑셀 다운로드 return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/download/excel`; }, - downloadConfirmation: () => { + transactionDownloadConfirmation: () => { // POST: 거래 확인서 다운로드 return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/download/confirmation`; }, - allTransactionDetail: () => { + transactionDetail: () => { // POST: 거래내역 상세 return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/detail`; }, - allTransactionCancel: () => { + transactionCancel: () => { // POST: 거래취소 요청 return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/cancel`; }, - allTransactionCancelInfo: () => { + transactionCancelInfo: () => { // POST: 거래취소 정보 조회 return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/cancel-info`; },