diff --git a/src/entities/additional-service/api/use-extansion-alimtalk-detail-mutation.ts b/src/entities/additional-service/api/alimtalk/use-extansion-alimtalk-detail-mutation.ts similarity index 96% rename from src/entities/additional-service/api/use-extansion-alimtalk-detail-mutation.ts rename to src/entities/additional-service/api/alimtalk/use-extansion-alimtalk-detail-mutation.ts index 7596a10..df6c4ae 100644 --- a/src/entities/additional-service/api/use-extansion-alimtalk-detail-mutation.ts +++ b/src/entities/additional-service/api/alimtalk/use-extansion-alimtalk-detail-mutation.ts @@ -5,7 +5,7 @@ import { CBDCAxiosError } from '@/shared/@types/error'; import { ExtensionAlimtalkDetailParams, ExtensionAlimtalkDetailResponse -} from '../model/types'; +} from '../../model/alimtalk/types'; import { useMutation, UseMutationOptions diff --git a/src/entities/additional-service/api/use-extansion-alimtalk-download-excel-mutation.ts b/src/entities/additional-service/api/alimtalk/use-extansion-alimtalk-download-excel-mutation.ts similarity index 96% rename from src/entities/additional-service/api/use-extansion-alimtalk-download-excel-mutation.ts rename to src/entities/additional-service/api/alimtalk/use-extansion-alimtalk-download-excel-mutation.ts index 8d9e144..1e51b73 100644 --- a/src/entities/additional-service/api/use-extansion-alimtalk-download-excel-mutation.ts +++ b/src/entities/additional-service/api/alimtalk/use-extansion-alimtalk-download-excel-mutation.ts @@ -5,7 +5,7 @@ import { CBDCAxiosError } from '@/shared/@types/error'; import { ExtensionAlimtalkDownloadExcelParams, ExtensionAlimtalkDownloadExcelResponse -} from '../model/types'; +} from '../../model/alimtalk/types'; import { useMutation, UseMutationOptions diff --git a/src/entities/additional-service/api/use-extansion-alimtalk-list-mutation.ts b/src/entities/additional-service/api/alimtalk/use-extansion-alimtalk-list-mutation.ts similarity index 96% rename from src/entities/additional-service/api/use-extansion-alimtalk-list-mutation.ts rename to src/entities/additional-service/api/alimtalk/use-extansion-alimtalk-list-mutation.ts index 877e466..9acba50 100644 --- a/src/entities/additional-service/api/use-extansion-alimtalk-list-mutation.ts +++ b/src/entities/additional-service/api/alimtalk/use-extansion-alimtalk-list-mutation.ts @@ -5,7 +5,7 @@ import { CBDCAxiosError } from '@/shared/@types/error'; import { ExtensionAlimtalkListParams, ExtensionAlimtalkListResponse -} from '../model/types'; +} from '../../model/alimtalk/types'; import { useMutation, UseMutationOptions diff --git a/src/entities/additional-service/api/use-extansion-alimtalk-setting-detail-mutation.ts b/src/entities/additional-service/api/alimtalk/use-extansion-alimtalk-setting-detail-mutation.ts similarity index 96% rename from src/entities/additional-service/api/use-extansion-alimtalk-setting-detail-mutation.ts rename to src/entities/additional-service/api/alimtalk/use-extansion-alimtalk-setting-detail-mutation.ts index a05528d..e81a6b4 100644 --- a/src/entities/additional-service/api/use-extansion-alimtalk-setting-detail-mutation.ts +++ b/src/entities/additional-service/api/alimtalk/use-extansion-alimtalk-setting-detail-mutation.ts @@ -5,7 +5,7 @@ import { CBDCAxiosError } from '@/shared/@types/error'; import { ExtensionAlimtalkSettingDetailParams, ExtensionAlimtalkSettingDetailResponse -} from '../model/types'; +} from '../../model/alimtalk/types'; import { useMutation, UseMutationOptions diff --git a/src/entities/additional-service/api/use-extansion-alimtalk-setting-save-mutation.ts b/src/entities/additional-service/api/alimtalk/use-extansion-alimtalk-setting-save-mutation.ts similarity index 96% rename from src/entities/additional-service/api/use-extansion-alimtalk-setting-save-mutation.ts rename to src/entities/additional-service/api/alimtalk/use-extansion-alimtalk-setting-save-mutation.ts index 28175d9..5a3bdf6 100644 --- a/src/entities/additional-service/api/use-extansion-alimtalk-setting-save-mutation.ts +++ b/src/entities/additional-service/api/alimtalk/use-extansion-alimtalk-setting-save-mutation.ts @@ -5,7 +5,8 @@ import { CBDCAxiosError } from '@/shared/@types/error'; import { ExtensionAlimtalkSettingSaveParams, ExtensionAlimtalkSettingSaveResponse -} from '../model/types'; +} from '../../model/alimtalk/types'; + import { useMutation, UseMutationOptions diff --git a/src/entities/additional-service/model/alimtalk/constant.ts b/src/entities/additional-service/model/alimtalk/constant.ts new file mode 100644 index 0000000..e69de29 diff --git a/src/entities/additional-service/model/alimtalk/types.ts b/src/entities/additional-service/model/alimtalk/types.ts new file mode 100644 index 0000000..7e7f7ee --- /dev/null +++ b/src/entities/additional-service/model/alimtalk/types.ts @@ -0,0 +1,118 @@ +import { DefaulResponsePagination, DefaultRequestPagination } from '@/entities/common/model/types'; + +export enum AlimtalkSearchCl { + BUYER_NAME = 'BUYER_NAME', + TID = 'TID' +}; +export enum AlimtalkAlimCl { + DEPOSIT_REQUEST = 'DEPOSIT_REQUEST', + DEPOSIT_COMPLETE = 'DEPOSIT_COMPLETE', + REFUND = 'REFUND', + APPROVAL = 'APPROVAL', + CANCEL = 'CANCEL' +}; +export enum AlimtalkSendType { + ALL = 'ALL', + KAKAOTALK = 'KAKAOTALK', + FB_SMS = 'FB_SMS' +}; +export enum AlimTalkSendCl { + ALL = 'ALL', + REQUEST = 'REQUEST', + SUCCESS = 'SUCCESS', + FAIL = 'FAIL' +}; +export interface ExtensionAlimtalkSettingSaveParams { + mid: string; + sendMerchantInfo: SendMerchantInfo; + sendUserInfo: SendUserInfo; +}; + +export interface ExtensionAlimtalkSettingSaveResponse {}; + +export interface ExtensionAlimtalkSettingDetailParams { + mid: string; +}; + +export interface ExtensionAlimtalkSettingDetailResponse extends DefaulResponsePagination { + content: Array +}; +export interface AlimtalkSettingDetailContent { + sendMerchantInfo: SendMerchantInfo, + sendUserInfo: SendUserInfo +}; +export interface SendMerchantInfo { + cardApprovalFlag: boolean; + cardCancelFlag: boolean; + bankApprovalFlag: boolean; + bankCancelFlag: boolean; + virtureAccountDepositRequestFlag: boolean; + virtureAccountDepositCompleteFlag: boolean; + virtureAccountRefundFlag: boolean; +}; +export interface SendUserInfo { + cardApprovalFlag: boolean; + cardCancelFlag: boolean; + bankApprovalFlag: boolean; + bankCancelFlag: boolean; + virtureAccountDepositRequestFlag: boolean; + virtureAccountDepositCompleteFlag: boolean; + virtureAccountRefundFlag: boolean; +}; + +export interface ExtensionAlimtalkListParams { + mid?: string; + searchCl?: AlimtalkSearchCl; + searchValue?: string; + paymentMethod?: string; + alimCl?: AlimtalkAlimCl; + fromDate?: string; + toDate?: string; + sendType?: AlimtalkSendType; + sendCl?: AlimTalkSendCl; + page?: DefaultRequestPagination; +}; +export interface ExtensionAlimtalkListResponse extends DefaulResponsePagination { + content: Array +}; +export interface AlimtalkListContent { + tid?: string; + sendDate?: string; + alimCl?: AlimtalkAlimCl; + sendType?: AlimtalkSendType; + sendCl?: AlimTalkSendCl; + paymentMethod?: string; + receiverName?: string; +}; +export interface ExtensionAlimtalkDownloadExcelParams { + mid?: string; + searchCl?: AlimtalkSearchCl; + searchValue?: string; + paymentMethod?: string; + alimCl?: AlimtalkAlimCl; + fromDate?: string; + toDate?: string; + sendType?: AlimtalkSendType; + sendCl?: AlimTalkSendCl; +}; + +export interface ExtensionAlimtalkDownloadExcelResponse {}; + +export interface ExtensionAlimtalkDetailParams { + mid: string; + tid: string; +}; + +export interface ExtensionAlimtalkDetailResponse { + receiverName: string; + merchantName: string; + sendDate: string; + mid: string; + tid: string; + serviceName: string; + sendType: AlimtalkSendType; + senderName: string; + paymentMethod: string; + alimCl: AlimtalkAlimCl; + sendCl: AlimTalkSendCl; +}; diff --git a/src/entities/additional-service/model/types.ts b/src/entities/additional-service/model/types.ts index 86292da..e5c9b80 100644 --- a/src/entities/additional-service/model/types.ts +++ b/src/entities/additional-service/model/types.ts @@ -1,8 +1,8 @@ import { DefaulResponsePagination, DefaultRequestPagination } from '@/entities/common/model/types'; import { PayoutContent } from './payout/types'; -import { P } from 'node_modules/framer-motion/dist/types.d-Cjd591yU'; -import { FundAccountResultContentItem, FundAccountTransferContentItem } from './fund-account/types'; +import { FundAccountTransferContentItem, FundAccountResultContentItem } from './fund-account/types'; import { ArsListContent } from './ars/types'; +import { AlimtalkListContent } from './alimtalk/types'; // ======================================== // 공통 Enums 및 타입들 @@ -37,6 +37,7 @@ export enum AdditionalServiceCategory { SMSPayment = 'SMSPayment', Payout = 'Payout', Ars = 'Ars', + Alimtalk = 'Alimtalk', } // ======================================== @@ -392,7 +393,8 @@ export interface ListItemProps extends AccountHolderAuthListItem, LinkPaymentHistoryListItem, LinkPaymentWaitListItem, PayoutContent, FundAccountTransferContentItem, - ArsListContent { + FundAccountResultContentItem, + ArsListContent, AlimtalkListContent { additionalServiceCategory?: AdditionalServiceCategory; mid?: string } @@ -777,107 +779,6 @@ export interface ExtensionSmsDetailResponse { } // ======================================== -// 알림톡 확장 서비스 -// ======================================== -export interface SendMerchantInfoItem { - cardApprovalFlag: boolean; - cardCancelFlag: boolean; - bankApprovalFlag: boolean; - bankCancelFlag: boolean; - virtureAccountDepositRequestFlag: boolean; - virtureAccountDepositCompleteFlag: boolean; - virtureAccountRefundFlag: boolean; -} - -export interface SendUserInfoItem { - cardApprovalFlag: boolean; - cardCancelFlag: boolean; - bankApprovalFlag: boolean; - bankCancelFlag: boolean; - virtureAccountDepositRequestFlag: boolean; - virtureAccountDepositCompleteFlag: boolean; - virtureAccountRefundFlag: boolean; -} - -export interface ExtensionAlimtalkSettingSaveParams extends ExtensionRequestParams { - sendMerchantInfo: SendMerchantInfoItem; - sendUserInfo: SendUserInfoItem; -} - -export interface ExtensionAlimtalkSettingSaveResponse { - -} - -export interface ExtensionAlimtalkSettingDetailParams extends ExtensionRequestParams { - -} - -export interface ExtensionAlimtalkSettingDetailItem { - sendMerchantInfo: SendMerchantInfoItem; - sendUserInfo: SendUserInfoItem; -} - -export interface ExtensionAlimtalkSettingDetailResponse extends DefaulResponsePagination { - content: Array -} - -export interface ExtensionAlimtalkListParams extends ExtensionRequestParams { - searchCl: string; - searchValue: string; - paymentMethod: string; - alimCl: string; - fromDate: string; - toDate: string; - sendType: string; - sendCl: string; -} - -export interface ExtensionAlimtalkListItem { - tid: string; - sendDate: string; - alimCl: string; - sendType: string; - sendCl: string; - paymentMethod: string; - receiverName: string; -} - -export interface ExtensionAlimtalkListResponse extends DefaulResponsePagination { - content: Array -} - -export interface ExtensionAlimtalkDownloadExcelParams extends ExtensionRequestParams { - searchCl: string; - searchValue: string; - paymentMethod: string; - alimCl: string; - fromDate: string; - toDate: string; - sendType: string; - sendCl: string; -} - -export interface ExtensionAlimtalkDownloadExcelResponse { - -} - -export interface ExtensionAlimtalkDetailParams extends ExtensionRequestParams { - tid: string; -} - -export interface ExtensionAlimtalkDetailResponse { - receiverName: string; - merchantName: string; - sendDate: string; - mid: string; - tid: string; - serviceName: string; - sendType: string; - senderName: string; - paymentMethod: string; - alimCl: string; - sendCl: string; -} // 확장 서비스 목록 관련 export interface ExtensionListParams extends ExtensionRequestParams { diff --git a/src/entities/additional-service/ui/filter/alimtalk-filter.tsx b/src/entities/additional-service/ui/filter/alimtalk-filter.tsx new file mode 100644 index 0000000..adfe816 --- /dev/null +++ b/src/entities/additional-service/ui/filter/alimtalk-filter.tsx @@ -0,0 +1,169 @@ +import { useEffect, useState } from 'react'; +import { motion } from 'framer-motion'; +import { IMAGE_ROOT } from '@/shared/constants/common'; +import { FilterSelect } from '@/shared/ui/filter/select'; +import { FilterCalendar } from '@/shared/ui/filter/calendar'; +import { FilterButtonGroups } from '@/shared/ui/filter/button-groups'; +import { FilterRangeAmount } from '@/shared/ui/filter/range-amount'; +import { + FilterMotionDuration, + FilterMotionStyle, + FilterMotionVariants +} from '@/entities/common/model/constant'; +import moment from 'moment'; +import { FilterInput } from '@/shared/ui/filter/input'; +import { OrderStatus, PaymentStatus } from '../../model/ars/types'; +import { ArsOrderStatusBtnGroup, ArsPaymentStatusBtnGroup } from '../../model/ars/constant'; + +export interface AlimtalkFilterProps { + filterOn: boolean; + setFilterOn: (filterOn: boolean) => void; + mid: string; + moid: string; + fromDate: string; + toDate: string; + paymentStatus: PaymentStatus; + orderStatus: OrderStatus; + minAmount?: number; + maxAmount?: number; + setMid: (mid: string) => void; + setMoid: (moid: string) => void; + setFromDate: (fromDate: string) => void; + setToDate: (toDate: string) => void; + setPaymentStatus: (paymentStatus: PaymentStatus) => void; + setOrderStatus: (orderStatus: OrderStatus) => void; + setMinAmount: (minAmount?: number) => void; + setMaxAmount: (maxAmount?: number) => void; +}; + +export const AlimtalkFilter = ({ + filterOn, + setFilterOn, + mid, + moid, + fromDate, + toDate, + paymentStatus, + orderStatus, + minAmount, + maxAmount, + setMid, + setMoid, + setFromDate, + setToDate, + setPaymentStatus, + setOrderStatus, + setMinAmount, + setMaxAmount +}: AlimtalkFilterProps) => { + + const [filterMid, setFilterMid] = useState(mid); + const [filterMoid, setFilterMoid] = useState(moid); + const [filterFromDate, setFilterFromDate] = useState(moment(fromDate).format('YYYY.MM.DD')); + const [filterToDate, setFilterToDate] = useState(moment(toDate).format('YYYY.MM.DD')); + const [filterPaymentStatus, setFilterPaymentStatus] = useState(paymentStatus); + const [filterOrderStatus, setFilterOrderStatus] = useState(orderStatus); + const [filterMinAmount, setFilterMinAmount] = useState(minAmount); + const [filterMaxAmount, setFilterMaxAmount] = useState(maxAmount); + + const onClickToClose = () => { + setFilterOn(false); + }; + + const onClickToSetFilter = () => { + setMid(filterMid); + setFilterMoid(filterMoid); + setFromDate(filterFromDate); + setToDate(filterToDate); + setPaymentStatus(filterPaymentStatus); + setOrderStatus(filterOrderStatus); + setMinAmount(filterMinAmount); + setMaxAmount(filterMaxAmount); + onClickToClose(); + }; + + let MidOptions = [ + {name: 'nictest001m', value: 'nictest001m'} + ]; + + useEffect(() => { + setFilterPaymentStatus(paymentStatus); + }, [paymentStatus]); + + return ( + <> + +
+
+
필터
+
+ +
+
+
+ + + + + + +
+
+ +
+
+
+ + ); +}; \ No newline at end of file diff --git a/src/entities/additional-service/ui/list-date-group.tsx b/src/entities/additional-service/ui/list-date-group.tsx index 032237b..ce9e906 100644 --- a/src/entities/additional-service/ui/list-date-group.tsx +++ b/src/entities/additional-service/ui/list-date-group.tsx @@ -57,6 +57,12 @@ export const ListDateGroup = ({ orderStatus={ items[i]?.orderStatus } arsPaymentMethod={ items[i]?.arsPaymentMethod } + + alimCl={ items[i]?.alimCl } + sendType={ items[i]?.sendType } + sendCl={ items[i]?.sendCl } + paymentMethod={ items[i]?.paymentMethod } + receiverName={ items[i]?.receiverName } > ) } diff --git a/src/entities/additional-service/ui/list-item.tsx b/src/entities/additional-service/ui/list-item.tsx index 424734a..42169fd 100644 --- a/src/entities/additional-service/ui/list-item.tsx +++ b/src/entities/additional-service/ui/list-item.tsx @@ -22,7 +22,10 @@ export const ListItem = ({ receiveAccountNo, receiveAccountName, status, processDate, - orderStatus, arsPaymentMethod + orderStatus, arsPaymentMethod, + + alimCl, sendType, sendCl, + paymentMethod, receiverName }: ListItemProps) => { const { navigate } = useNavigate(); const getItemClass = () => { @@ -183,6 +186,15 @@ export const ListItem = ({ } }); } + else if (additionalServiceCategory === AdditionalServiceCategory.Alimtalk){ + navigate(PATHS.additionalService.alimtalk.detail, { + state: { + additionalServiceCategory: additionalServiceCategory, + mid: mid, + tid: tid, + } + }); + } else { alert('additionalServiceCategory가 존재하지 않습니다.'); } @@ -212,6 +224,10 @@ export const ListItem = ({ let time = paymentDate?.substring(8, 12); timeStr = time?.substring(0, 2) + ':' + time?.substring(2, 4); } + else if (additionalServiceCategory === AdditionalServiceCategory.Alimtalk){ + let time = paymentDate?.substring(8, 12); + timeStr = time?.substring(0, 2) + ':' + time?.substring(2, 4); + } else { return } @@ -250,6 +266,9 @@ export const ListItem = ({ else if(additionalServiceCategory === AdditionalServiceCategory.Ars){ str = '이름(' + tid + ')'; } + else if(additionalServiceCategory === AdditionalServiceCategory.Alimtalk){ + str = `${receiverName}(${tid})`; + } return str; }; @@ -353,6 +372,17 @@ export const ListItem = ({ ); } + else if(additionalServiceCategory === AdditionalServiceCategory.Alimtalk){ + rs.push( +
+ { getTime() } + | + { paymentMethod } + | + { alimCl } +
+ ); + } return rs; }; @@ -458,6 +488,14 @@ export const ListItem = ({ ); } + else if (additionalServiceCategory === AdditionalServiceCategory.Alimtalk) { + rs.push( +
{ sendCl }
+ ); + } return rs; } diff --git a/src/pages/additional-service/additional-service-pages.tsx b/src/pages/additional-service/additional-service-pages.tsx index e05ea6e..285b933 100644 --- a/src/pages/additional-service/additional-service-pages.tsx +++ b/src/pages/additional-service/additional-service-pages.tsx @@ -12,8 +12,9 @@ import { AccountHolderSearchPage } from './account-holder-search/account-holder- import { AccountHolderAuthPage } from './account-holder-auth/account-holder-auth-page'; import { LinkPaymentHistoryPage } from './link-payment/link-payment-history-page'; import { LinkPaymentWaitSendPage } from './link-payment/link-payment-wait-send-page'; -import { KakaoPaymentNotificationListPage } from './kakao-payment-notification/list-page'; -import { KakaoPaymentNotificationSettingPage } from './kakao-payment-notification/setting-page'; +import { AlimtalkListPage } from './alimtalk/list-page'; +import { AlimtalkDetailPage } from './alimtalk/detail-page'; +import { AlimtalkSettingPage } from './alimtalk/setting-page'; import { FundAccountTransferListPage } from './fund-account/transfer-list-page'; import { FundAccountTransferDetailPage } from './fund-account/transfer-detail-page'; import { FundAccountTransferRequestPage } from './fund-account/transfer-request-page'; @@ -74,9 +75,10 @@ export const AdditionalServicePages = () => { } /> } /> - - } /> - } /> + + } /> + } /> + } /> } /> diff --git a/src/pages/additional-service/alimtalk/detail-page.tsx b/src/pages/additional-service/alimtalk/detail-page.tsx new file mode 100644 index 0000000..323ef0a --- /dev/null +++ b/src/pages/additional-service/alimtalk/detail-page.tsx @@ -0,0 +1,8 @@ +export const AlimtalkDetailPage = () => { + + return ( + <> + + + ); +}; \ No newline at end of file diff --git a/src/pages/additional-service/alimtalk/list-page.tsx b/src/pages/additional-service/alimtalk/list-page.tsx new file mode 100644 index 0000000..b913812 --- /dev/null +++ b/src/pages/additional-service/alimtalk/list-page.tsx @@ -0,0 +1,197 @@ +import { PATHS } from '@/shared/constants/paths'; +import { useNavigate } from '@/shared/lib/hooks/use-navigate'; +import { HeaderType, SortByKeys } from '@/entities/common/model/types'; +import { IMAGE_ROOT } from '@/shared/constants/common'; +import { + useSetHeaderTitle, + useSetHeaderType, + useSetFooterMode, + useSetOnBack +} from '@/widgets/sub-layout/use-sub-layout'; +import { useEffect, useState } from 'react'; +import { DEFAULT_PAGE_PARAM } from '@/entities/common/model/constant'; +import { + AlimtalkAlimCl, + AlimtalkListContent, + AlimtalkSearchCl, + AlimTalkSendCl, + AlimtalkSendType, + ExtensionAlimtalkDownloadExcelParams, + ExtensionAlimtalkDownloadExcelResponse, + ExtensionAlimtalkListParams, + ExtensionAlimtalkListResponse +} from '@/entities/additional-service/model/alimtalk/types'; +import moment from 'moment'; +import { useExtensionAlimtalkListMutation } from '@/entities/additional-service/api/alimtalk/use-extansion-alimtalk-list-mutation'; +import { useExtensionAlimtalkDownloadExcelMutation } from '@/entities/additional-service/api/alimtalk/use-extansion-alimtalk-download-excel-mutation'; +import { ListDateGroup } from '@/entities/additional-service/ui/list-date-group'; +import { AdditionalServiceCategory } from '@/entities/additional-service/model/types'; + +export const AlimtalkListPage = () => { + const { navigate } = useNavigate(); + + const [sortBy, setSortBy] = useState(SortByKeys.New); + const [listItems, setListItems] = useState>>({}); + const [filterOn, setFilterOn] = useState(false); + const [pageParam, setPageParam] = useState(DEFAULT_PAGE_PARAM); + const [mid, setMid] = useState('nictest001m'); + const [searchCl, setSearchCl] = useState(AlimtalkSearchCl.BUYER_NAME); + const [searchValue, setSearchValue] = useState(); + const [paymentMethod, setPaymentMethod] = useState(); + const [alimCl, setAlimCl] = useState(AlimtalkAlimCl.DEPOSIT_REQUEST); + const [fromDate, setFromDate] = useState(moment().format('YYYYMMDD')); + const [toDate, setToDate] = useState(moment().format('YYYYMMDD')); + const [sendType, setSendType] = useState(AlimtalkSendType.ALL); + const [sendCl, setSendCl] = useState(AlimTalkSendCl.ALL); + + const { mutateAsync: extensionAlimtalkList } = useExtensionAlimtalkListMutation(); + const { mutateAsync: extensionAlimtalkDownloadExcel } = useExtensionAlimtalkDownloadExcelMutation(); + + useSetHeaderTitle('알림톡 결제통보'); + useSetHeaderType(HeaderType.LeftArrow); + useSetFooterMode(false); + useSetOnBack(() => { + navigate(PATHS.home); + }); + + const callList = (option?: { + sortBy?: string, + val?: string + }) => { + pageParam.sortBy = (option?.sortBy)? option.sortBy: sortBy; + setPageParam(pageParam); + + let params: ExtensionAlimtalkListParams = { + mid: mid, + searchCl: searchCl, + searchValue: searchValue, + paymentMethod: paymentMethod, + fromDate: fromDate, + toDate: toDate, + sendType: sendType, + sendCl: sendCl, + page: pageParam + }; + extensionAlimtalkList(params).then((rs: ExtensionAlimtalkListResponse) => { + setListItems(assembleData(rs.content)); + }); + }; + + const callDownloadExcel = () => { + let params: ExtensionAlimtalkDownloadExcelParams = { + mid: mid, + searchCl: searchCl, + searchValue: searchValue, + paymentMethod: paymentMethod, + alimCl: alimCl, + fromDate: fromDate, + toDate: toDate, + sendType: sendType, + sendCl: sendCl + }; + extensionAlimtalkDownloadExcel(params).then((rs: ExtensionAlimtalkDownloadExcelResponse) => { + + }); + }; + + const assembleData = (content: Array) => { + let data: any = {}; + if(content && content.length > 0){ + for(let i=0;i { + navigate(PATHS.additionalService.alimtalk.setting); + }; + const onClickToDownloadExcel = () => { + callDownloadExcel(); + }; + const onClickToOpenFilter = () => { + setFilterOn(!filterOn); + }; + const getAlimtalkList = () => { + let rs = []; + if(Object.keys(listItems).length > 0){ + for (const [key, value] of Object.entries(listItems)) { + rs.push( + + ); + } + } + return rs; + } + + useEffect(() => { + callList(); + }, []); + + return ( + <> +
+
+
+
+
+
+ + +
+ +
+
+ +
+ { getAlimtalkList() } +
+
+
+
+
+ +
+ + ); +}; \ No newline at end of file diff --git a/src/pages/additional-service/kakao-payment-notification/setting-page.tsx b/src/pages/additional-service/alimtalk/setting-page.tsx similarity index 97% rename from src/pages/additional-service/kakao-payment-notification/setting-page.tsx rename to src/pages/additional-service/alimtalk/setting-page.tsx index ac607cb..209a11b 100644 --- a/src/pages/additional-service/kakao-payment-notification/setting-page.tsx +++ b/src/pages/additional-service/alimtalk/setting-page.tsx @@ -9,14 +9,14 @@ import { useSetOnBack } from '@/widgets/sub-layout/use-sub-layout'; -export const KakaoPaymentNotificationSettingPage = () => { +export const AlimtalkSettingPage = () => { const { navigate } = useNavigate(); useSetHeaderTitle('알림톡 결제통보'); useSetHeaderType(HeaderType.LeftArrow); useSetFooterMode(false); useSetOnBack(() => { - navigate(PATHS.additionalService.kakaoPaymentNotification.list); + navigate(PATHS.additionalService.alimtalk.list); }); const onClickToSave = () => { diff --git a/src/pages/additional-service/ars/list-page.tsx b/src/pages/additional-service/ars/list-page.tsx index f3f873b..3604831 100644 --- a/src/pages/additional-service/ars/list-page.tsx +++ b/src/pages/additional-service/ars/list-page.tsx @@ -102,7 +102,7 @@ export const ArsListPage = () => { return data; }; - const onClickToNavigation = () => { + const onClickToNavigate = () => { navigate(PATHS.additionalService.ars.request); }; @@ -206,7 +206,7 @@ export const ArsListPage = () => {
diff --git a/src/pages/additional-service/intro/intro-page.tsx b/src/pages/additional-service/intro/intro-page.tsx index 7903c5e..a761546 100644 --- a/src/pages/additional-service/intro/intro-page.tsx +++ b/src/pages/additional-service/intro/intro-page.tsx @@ -61,7 +61,7 @@ export const IntroPage = () => { }, { className: 'list-wrap02', serviceName: '알림톡 결제통보', serviceDesc: '결제 상태를 알림톡으로 쉽고 빠른 안내', - icon: IMAGE_ROOT + '/icon_ing10.svg', path: PATHS.additionalService.kakaoPaymentNotification.list + icon: IMAGE_ROOT + '/icon_ing10.svg', path: PATHS.additionalService.alimtalk.list }, ]; diff --git a/src/pages/additional-service/kakao-payment-notification/list-page.tsx b/src/pages/additional-service/kakao-payment-notification/list-page.tsx deleted file mode 100644 index 7a2c5b0..0000000 --- a/src/pages/additional-service/kakao-payment-notification/list-page.tsx +++ /dev/null @@ -1,147 +0,0 @@ -import { PATHS } from '@/shared/constants/paths'; -import { useNavigate } from '@/shared/lib/hooks/use-navigate'; -import { HeaderType } from '@/entities/common/model/types'; -import { IMAGE_ROOT } from '@/shared/constants/common'; -import { - useSetHeaderTitle, - useSetHeaderType, - useSetFooterMode, - useSetOnBack -} from '@/widgets/sub-layout/use-sub-layout'; - -export const KakaoPaymentNotificationListPage = () => { - const { navigate } = useNavigate(); - - useSetHeaderTitle('알림톡 결제통보'); - useSetHeaderType(HeaderType.LeftArrow); - useSetFooterMode(false); - useSetOnBack(() => { - navigate(PATHS.home); - }); - - const onClickToNavigate = () => { - navigate(PATHS.additionalService.kakaoPaymentNotification.setting); - }; - - return ( - <> -
-
-
-
-
-
- - -
- -
-
- -
-
-
25.06.08(일)
- -
-
-
-
-
-
김*환(7000)
-
- nictest01m - - 가상계좌 요청 -
-
-
성공
-
- -
-
-
-
-
-
최*길(010333*****)
-
- nictest01m - - 가상계좌 요청+입금 -
-
-
실패
-
- -
-
-
-
박*준(010333*****)
-
- nictest01m - - 가상계좌 요청+입금 -
-
-
성공
-
- -
-
-
-
-
-
이*신(010333*****)
-
- nictest01m가상계좌 요청 -
-
-
실패
-
- -
-
-
-
-
-
김*환(010333*****)
-
- nictest01m가상계좌 요청 -
-
-
성공
-
-
-
-
-
-
-
- -
- - ); -}; \ No newline at end of file diff --git a/src/shared/constants/paths.ts b/src/shared/constants/paths.ts index 791ff88..4c0e8c2 100644 --- a/src/shared/constants/paths.ts +++ b/src/shared/constants/paths.ts @@ -234,15 +234,19 @@ export const PATHS: RouteNamesType = { ROUTE_NAMES.additionalService.linkPayment.pendingDetail, ) }, - kakaoPaymentNotification: { - base: generatePath(`${ROUTE_NAMES.additionalService.base}${ROUTE_NAMES.additionalService.kakaoPaymentNotification.base}`), + alimtalk: { + base: generatePath(`${ROUTE_NAMES.additionalService.base}${ROUTE_NAMES.additionalService.alimtalk.base}`), list: generatePath( - `${ROUTE_NAMES.additionalService.base}${ROUTE_NAMES.additionalService.kakaoPaymentNotification.base}`, - ROUTE_NAMES.additionalService.kakaoPaymentNotification.list, + `${ROUTE_NAMES.additionalService.base}${ROUTE_NAMES.additionalService.alimtalk.base}`, + ROUTE_NAMES.additionalService.alimtalk.list, + ), + detail: generatePath( + `${ROUTE_NAMES.additionalService.base}${ROUTE_NAMES.additionalService.alimtalk.base}`, + ROUTE_NAMES.additionalService.alimtalk.detail, ), setting: generatePath( - `${ROUTE_NAMES.additionalService.base}${ROUTE_NAMES.additionalService.kakaoPaymentNotification.base}`, - ROUTE_NAMES.additionalService.kakaoPaymentNotification.setting, + `${ROUTE_NAMES.additionalService.base}${ROUTE_NAMES.additionalService.alimtalk.base}`, + ROUTE_NAMES.additionalService.alimtalk.setting, ), }, fundAccount: { diff --git a/src/shared/constants/route-names.ts b/src/shared/constants/route-names.ts index 0d1f433..e1de3e6 100644 --- a/src/shared/constants/route-names.ts +++ b/src/shared/constants/route-names.ts @@ -105,9 +105,10 @@ export const ROUTE_NAMES = { detail: 'detail', pendingDetail: 'pending-detail' }, - kakaoPaymentNotification: { - base: '/kakao-payment-notification/*', + alimtalk: { + base: '/alimtalk/*', list: 'list', + detail: 'detail', setting: 'setting', }, fundAccount: { diff --git a/src/shared/ui/menu/index.tsx b/src/shared/ui/menu/index.tsx index b8eafad..76d3a6c 100644 --- a/src/shared/ui/menu/index.tsx +++ b/src/shared/ui/menu/index.tsx @@ -88,7 +88,7 @@ export const Menu = ({ {title: '계좌성명조회', path: PATHS.additionalService.accountHolderSearch.list}, {title: '계좌점유인증', path: PATHS.additionalService.accountHolderAuth.list}, {title: '링크결제', path: PATHS.additionalService.linkPayment.shippingHistory}, - {title: '알림톡 결제통보', path: PATHS.additionalService.kakaoPaymentNotification.list}, + {title: '알림톡 결제통보', path: PATHS.additionalService.alimtalk.list}, {title: '자금이체', path: PATHS.additionalService.fundAccount.transferList}, {title: '정산대행', path: PATHS.additionalService.settlementAgency.manage}, {title: '지급대행', path: PATHS.additionalService.payout.list},