diff --git a/src/entities/additional-service/api/payout/use-extension-payout-detail-download-cetificate-mutation.ts b/src/entities/additional-service/api/payout/use-extension-payout-detail-download-cetificate-mutation.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/entities/additional-service/api/payout/use-extension-payout-detail-mutation.ts b/src/entities/additional-service/api/payout/use-extension-payout-detail-mutation.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/entities/additional-service/api/payout/use-extension-payout-excel-mutation.ts b/src/entities/additional-service/api/payout/use-extension-payout-excel-mutation.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/entities/additional-service/api/payout/use-extension-payout-list-mutation.ts b/src/entities/additional-service/api/payout/use-extension-payout-list-mutation.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/entities/additional-service/api/payout/use-extension-payout-request-mutation.ts b/src/entities/additional-service/api/payout/use-extension-payout-request-mutation.ts new file mode 100644 index 0000000..563f06e --- /dev/null +++ b/src/entities/additional-service/api/payout/use-extension-payout-request-mutation.ts @@ -0,0 +1,29 @@ +import axios from 'axios'; +import { API_URL_PAYMENT } from '@/shared/api/api-url-payment'; +import { resultify } from '@/shared/lib/resultify'; +import { CBDCAxiosError } from '@/shared/@types/error'; +import { + ExtensionPayoutRequestParams, + ExtensionPayoutRequestResponse +} from '../..model/types'; +import { + useMutation, + UseMutationOptions +} from '@tanstack/react-query'; + +export const extensionPayoutRequestCard = (params: ExtensionPayoutRequestParams) => { + return resultify( + axios.post(API_URL_PAYMENT.paymentCard(), params), + ); +}; + +export const useExtensionPayoutRequestMutation = (options?: UseMutationOptions) => { + const mutation = useMutation({ + ...options, + mutationFn: (params: ExtensionPayoutRequestParams) => extensionPayoutRequestCard(params), + }); + + return { + ...mutation, + }; +}; diff --git a/src/entities/additional-service/model/payout/types.ts b/src/entities/additional-service/model/payout/types.ts new file mode 100644 index 0000000..178d181 --- /dev/null +++ b/src/entities/additional-service/model/payout/types.ts @@ -0,0 +1,59 @@ +import { DefaulResponsePagination, DefaultRequestPagination } from '@/entities/common/model/types'; + +export interface ExtensionPayoutRequestParams { + mid: string; + submallId: string; + disbursementAmount: number; + settlementDate: string; +}; +export interface ExtensionPayoutRequestResponse {}; +export enum PayoutSearchCl { + REQUEST_DATE = 'REQUEST_DATE', + PROXY_DATE = 'PROXY_DATE', +}; +export enum PayoutDisbursementStatus { + ALL = 'ALL', + REQUEST = 'REQUEST', + SUCCESS = 'SUCCESS', + FAIL = 'FAIL', +}; +export interface ExtensionPayoutListParams { + mid: string; + searchCl: PayoutSearchCl, + fromDate: string; + toDate: string; + disbursementStatus: PayoutDisbursementStatus; + minAmount: number; + maxAmount: number; + page: DefaultRequestPagination; +}; +export interface ExtensionPayoutListResponse extends DefaulResponsePagination{ + content: Array +}; +export interface PayoutContent { + tid: string; + submallId: string; + requestDate: string; + settlementDate: string; + companyName: string; + disbursementStatus: PayoutDisbursementStatus; + disbursementAmount: number; +}; +export interface ExtensionPayoutExcelParams { + mid: string; + searchCl: PayoutSearchCl, + fromDate: string; + toDate: string; + disbursementStatus: PayoutDisbursementStatus; + minAmount: number; + maxAmount: number; +}; +export interface ExtensionPayoutExcelResponse {} + +export interface ExtensionPayoutDetailParams { + +}; +export interface ExtensionPayoutDetailResponse { + +}; + diff --git a/src/pages/additional-service/payment-agency/detail-page.tsx b/src/pages/additional-service/payout/detail-page.tsx similarity index 96% rename from src/pages/additional-service/payment-agency/detail-page.tsx rename to src/pages/additional-service/payout/detail-page.tsx index d404acc..efb37f8 100644 --- a/src/pages/additional-service/payment-agency/detail-page.tsx +++ b/src/pages/additional-service/payout/detail-page.tsx @@ -8,14 +8,14 @@ import { useSetOnBack } from '@/widgets/sub-layout/use-sub-layout'; -export const PaymentAgencyDetailPage = () => { +export const PayoutDetailPage = () => { const { navigate } = useNavigate(); useSetHeaderTitle('지급대행 상세'); useSetHeaderType(HeaderType.LeftArrow); useSetFooterMode(false); useSetOnBack(() => { - navigate(PATHS.additionalService.paymentAgency.list); + navigate(PATHS.additionalService.payout.list); }); return ( diff --git a/src/pages/additional-service/payment-agency/list-page.tsx b/src/pages/additional-service/payout/list-page.tsx similarity index 97% rename from src/pages/additional-service/payment-agency/list-page.tsx rename to src/pages/additional-service/payout/list-page.tsx index c87936e..a8bd670 100644 --- a/src/pages/additional-service/payment-agency/list-page.tsx +++ b/src/pages/additional-service/payout/list-page.tsx @@ -9,7 +9,7 @@ import { useSetOnBack } from '@/widgets/sub-layout/use-sub-layout'; -export const PaymentAgencyListPage = () => { +export const PayoutListPage = () => { const { navigate } = useNavigate(); useSetHeaderTitle('지급대행'); @@ -20,10 +20,10 @@ export const PaymentAgencyListPage = () => { }); const onClickToNavigation = () => { - navigate(PATHS.additionalService.paymentAgency.request); + navigate(PATHS.additionalService.payout.request); }; const onClickToGoDetail = (tid?: string) => { - navigate(PATHS.additionalService.paymentAgency.detail, { + navigate(PATHS.additionalService.payout.detail, { state: { tid: 'A123456' } diff --git a/src/pages/additional-service/payment-agency/request-page.tsx b/src/pages/additional-service/payout/request-page.tsx similarity index 95% rename from src/pages/additional-service/payment-agency/request-page.tsx rename to src/pages/additional-service/payout/request-page.tsx index 9ebcdb8..488caba 100644 --- a/src/pages/additional-service/payment-agency/request-page.tsx +++ b/src/pages/additional-service/payout/request-page.tsx @@ -9,14 +9,14 @@ import { useSetOnBack } from '@/widgets/sub-layout/use-sub-layout'; -export const PaymentAgencyRequestPage = () => { +export const PayoutRequestPage = () => { const { navigate } = useNavigate(); useSetHeaderTitle('지급대행 신청'); useSetHeaderType(HeaderType.LeftArrow); useSetFooterMode(false); useSetOnBack(() => { - navigate(PATHS.additionalService.paymentAgency.list); + navigate(PATHS.additionalService.payout.list); }); return ( diff --git a/src/shared/constants/paths.ts b/src/shared/constants/paths.ts index b5c106d..ec3fc78 100644 --- a/src/shared/constants/paths.ts +++ b/src/shared/constants/paths.ts @@ -247,7 +247,7 @@ export const PATHS: RouteNamesType = { ), }, settlementAgency: { - base: generatePath(`${ROUTE_NAMES.additionalService.base}${ROUTE_NAMES.additionalService.paymentAgency.base}`), + base: generatePath(`${ROUTE_NAMES.additionalService.base}${ROUTE_NAMES.additionalService.payout.base}`), manage: generatePath( `${ROUTE_NAMES.additionalService.base}${ROUTE_NAMES.additionalService.settlementAgency.base}`, ROUTE_NAMES.additionalService.settlementAgency.manage, @@ -269,19 +269,19 @@ export const PATHS: RouteNamesType = { ROUTE_NAMES.additionalService.settlementAgency.detail, ), }, - paymentAgency: { - base: generatePath(`${ROUTE_NAMES.additionalService.base}${ROUTE_NAMES.additionalService.paymentAgency.base}`), + payout: { + base: generatePath(`${ROUTE_NAMES.additionalService.base}${ROUTE_NAMES.additionalService.payout.base}`), list: generatePath( - `${ROUTE_NAMES.additionalService.base}${ROUTE_NAMES.additionalService.paymentAgency.base}`, - ROUTE_NAMES.additionalService.paymentAgency.list, + `${ROUTE_NAMES.additionalService.base}${ROUTE_NAMES.additionalService.payout.base}`, + ROUTE_NAMES.additionalService.payout.list, ), detail: generatePath( - `${ROUTE_NAMES.additionalService.base}${ROUTE_NAMES.additionalService.paymentAgency.base}`, - ROUTE_NAMES.additionalService.paymentAgency.detail, + `${ROUTE_NAMES.additionalService.base}${ROUTE_NAMES.additionalService.payout.base}`, + ROUTE_NAMES.additionalService.payout.detail, ), request: generatePath( - `${ROUTE_NAMES.additionalService.base}${ROUTE_NAMES.additionalService.paymentAgency.base}`, - ROUTE_NAMES.additionalService.paymentAgency.request, + `${ROUTE_NAMES.additionalService.base}${ROUTE_NAMES.additionalService.payout.base}`, + ROUTE_NAMES.additionalService.payout.request, ), }, }, diff --git a/src/shared/constants/route-names.ts b/src/shared/constants/route-names.ts index 9e43ab4..2c7f4ec 100644 --- a/src/shared/constants/route-names.ts +++ b/src/shared/constants/route-names.ts @@ -119,8 +119,8 @@ export const ROUTE_NAMES = { register: 'register', detail: 'detail', }, - paymentAgency: { - base: '/payment-agency/*', + payout: { + base: '/payout/*', list: 'list', detail: 'detail', request: 'request',