diff --git a/src/entities/additional-service/api/alimtalk/use-extansion-alimtalk-detail-mutation.ts b/src/entities/additional-service/api/alimtalk/use-extansion-alimtalk-detail-mutation.ts index df6c4ae..e4d2ab5 100644 --- a/src/entities/additional-service/api/alimtalk/use-extansion-alimtalk-detail-mutation.ts +++ b/src/entities/additional-service/api/alimtalk/use-extansion-alimtalk-detail-mutation.ts @@ -13,7 +13,7 @@ import { export const extensionAlimtalkDetail = (params: ExtensionAlimtalkDetailParams) => { return resultify( - axios.post(API_URL_ADDITIONAL_SERVICE.extensionArsDetail(), params), + axios.post(API_URL_ADDITIONAL_SERVICE.extensionAlimtalkDetail(), params), ); }; diff --git a/src/entities/additional-service/api/fund-account/use-extension-fund-account-transfer-request-mutation.ts b/src/entities/additional-service/api/fund-account/use-extension-fund-account-transfer-request-mutation.ts new file mode 100644 index 0000000..a4a3c34 --- /dev/null +++ b/src/entities/additional-service/api/fund-account/use-extension-fund-account-transfer-request-mutation.ts @@ -0,0 +1,23 @@ +import { resultify } from "@/shared/lib/resultify"; +import { ExtensionFundAccountTransferRequestParams, ExtensionFundAccountTransferRequestResponse } from "../../model/fund-account/types"; +import { API_URL_ADDITIONAL_SERVICE } from "@/shared/api/api-url-additional-service"; +import axios from "axios"; +import { useMutation, UseMutationOptions } from "@tanstack/react-query"; +import { CBDCAxiosError } from "@/shared/@types/error"; + +export const extensionFundAccountTransferRequest = (params: ExtensionFundAccountTransferRequestParams) => { + return resultify( + axios.post(API_URL_ADDITIONAL_SERVICE.extensionFundAccountTransferRequest(), params), + ); +}; + +export const useExtensionFundAccountTransferRequestMutation = (options?: UseMutationOptions) => { + const mutation = useMutation({ + ...options, + mutationFn: (params: ExtensionFundAccountTransferRequestParams) => extensionFundAccountTransferRequest(params), + }); + + return { + ...mutation, + }; +}; \ No newline at end of file diff --git a/src/entities/additional-service/model/account-holder-search/constant.ts b/src/entities/additional-service/model/account-holder-search/constant.ts index 9be5932..c9aaf31 100644 --- a/src/entities/additional-service/model/account-holder-search/constant.ts +++ b/src/entities/additional-service/model/account-holder-search/constant.ts @@ -1,8 +1,9 @@ import { ProcessResult } from "../types"; +import { AccountHolderResultStatus } from "./types"; export const resultStatusBtnGroup = [ - { name: '전체', value: ProcessResult.ALL }, - { name: '성공', value: ProcessResult.SUCCESS }, - { name: '실패', value: ProcessResult.FAIL }, + { name: '전체', value: AccountHolderResultStatus.ALL }, + { name: '성공', value: AccountHolderResultStatus.SUCCESS }, + { name: '실패', value: AccountHolderResultStatus.FAIL }, ] \ No newline at end of file diff --git a/src/entities/additional-service/model/account-holder-search/types.ts b/src/entities/additional-service/model/account-holder-search/types.ts index 3cbcab0..6d5851c 100644 --- a/src/entities/additional-service/model/account-holder-search/types.ts +++ b/src/entities/additional-service/model/account-holder-search/types.ts @@ -2,15 +2,15 @@ // 계좌성명 조회 관련 타입들 // ======================================== -export enum AccountHolderSearchType { +export enum AccountHolderSearchCl { ACCOUNT_NAME = 'ACCOUNT_NAME', ACCOUNT_NO = 'ACCOUNT_NO' } export enum AccountHolderResultStatus { - ALL = "ALL", + ALL = "", SUCCESS = "SUCCESS", - FAIl = "FAIL" + FAIL = "FAIL" } export interface AccountHolderSearchListItem { @@ -28,19 +28,19 @@ export interface AccountHolderSearchListProps { export interface AccountHolderSearchFilterProps extends FilterProps { mid: string; - searchType: AccountHolderSearchType; + searchType: AccountHolderSearchCl; searchKeyword: string; startDate: string; endDate: string; bank: string; - processResult: ProcessResult; + resultStatus: AccountHolderResultStatus; setMid: (mid: string) => void; - setSearchType: (searchType: AccountHolderSearchType) => void; + setSearchType: (searchType: AccountHolderSearchCl) => void; setSearchKeyword: (searchKeyWorld: string) => void; setStartDate: (startDate: string) => void; setEndDate: (endDate: string) => void; setBank: (bank: string) => void; - setProcessResult: (processResult: ProcessResult) => void; + setResultStatus: (resultStatus: AccountHolderResultStatus) => void; } // 계좌 성명 조회 확장 서비스 diff --git a/src/entities/additional-service/model/alimtalk/constant.ts b/src/entities/additional-service/model/alimtalk/constant.ts index 405f95c..ae8eead 100644 --- a/src/entities/additional-service/model/alimtalk/constant.ts +++ b/src/entities/additional-service/model/alimtalk/constant.ts @@ -1,55 +1,91 @@ import { AlimtalkAlimCl, AlimtalkSearchCl, AlimTalkSendCl, AlimtalkSendType, ServiceCode } from "./types"; export const AlimtalkSearchClOptionGroup = [ - {name: '주문자', value: AlimtalkSearchCl.BUYER_NAME }, - {name: 'TID', value: AlimtalkSearchCl.TID }, + { name: '주문자', value: AlimtalkSearchCl.BUYER_NAME }, + { name: 'TID', value: AlimtalkSearchCl.TID }, ]; export const AlimtalkServiceCodeOptionGroup = [ - {name: '전체', value: ''}, - {name: '카드', value: ServiceCode.CARD }, - {name: '계좌이체', value: ServiceCode.BANK }, - {name: '가상계좌', value: ServiceCode.VBANK }, - {name: '휴대폰', value: ServiceCode.PHONE } + { name: '전체', value: '' }, + { name: '카드', value: ServiceCode.CARD }, + { name: '계좌이체', value: ServiceCode.BANK }, + { name: '가상계좌', value: ServiceCode.VBANK }, + { name: '휴대폰', value: ServiceCode.PHONE } ] // 알림구분 - 카드/계좌이체/휴대폰용 export const AlimtalkAlimClBtnGroupForGeneral = [ - {name: '전체', value: '' }, - {name: '승인', value: AlimtalkAlimCl.APPROVAL }, - {name: '취소', value: AlimtalkAlimCl.CANCEL } + { name: '전체', value: '' }, + { name: '승인', value: AlimtalkAlimCl.APPROVAL }, + { name: '취소', value: AlimtalkAlimCl.CANCEL } ] // 알림구분 - 가상계좌용 export const AlimtalkAlimClBtnGroupForVBank = [ - {name: '전체', value: '' }, - {name: '입금요청', value: AlimtalkAlimCl.DEPOSIT_REQUEST }, - {name: '입금완료', value: AlimtalkAlimCl.DEPOSIT_COMPLETE }, - {name: '환불', value: AlimtalkAlimCl.REFUND } + { name: '전체', value: '' }, + { name: '입금요청', value: AlimtalkAlimCl.DEPOSIT_REQUEST }, + { name: '입금완료', value: AlimtalkAlimCl.DEPOSIT_COMPLETE }, + { name: '환불', value: AlimtalkAlimCl.REFUND } ] export const AlimtalkSendTypeBtnGroup = [ - {name: '전체', value: AlimtalkSendType.ALL }, - {name: '카카오톡', value: AlimtalkSendType.KAKAOTALK }, - {name: 'FB SMS', value: AlimtalkSendType.FB_SMS } + { name: '전체', value: AlimtalkSendType.ALL }, + { name: '카카오톡', value: AlimtalkSendType.KAKAOTALK }, + { name: 'FB SMS', value: AlimtalkSendType.FB_SMS } ] export const AlimtalkSendClBtnGroup = [ - {name: '전체', value: AlimTalkSendCl.ALL }, - {name: '요청', value: AlimTalkSendCl.REQUEST }, - {name: '성공', value: AlimTalkSendCl.SUCCESS }, - {name: '실패', value: AlimTalkSendCl.FAIL } + { name: '전체', value: AlimTalkSendCl.ALL }, + { name: '요청', value: AlimTalkSendCl.REQUEST }, + { name: '성공', value: AlimTalkSendCl.SUCCESS }, + { name: '실패', value: AlimTalkSendCl.FAIL } ] +export const getAlimtalkAlimClText = (status?: string): string => { + if (!status) return ''; + + const alimClMap: Record = { + 'APPROVAL' : '승인', + 'CANCEL' : '취소', + 'DEPOSIT_REQUEST' : '입금요청', + 'DEPOSIT_COMPLETE' : '입금완료', + 'REFUND' : '환불' + } + return alimClMap[status] || status; + +} + +export const getAlimtalkSendTypeText = (status?: string): string => { + if (!status) return ''; + + const sendTypeMap: Record = { + "KAKAOTALK": '카카오톡', + 'FB SMS': '페이스북', + }; + + return sendTypeMap[status] || status; +} + +export const getAlimtalkSendClTypeText = (status?: string): string => { + if (!status) return ''; + + const sendClMap: Record = { + 'REQUEST': '요청', + 'SUCCESS': '성공', + 'FAIL': '실패' + }; + return sendClMap[status] || status; +} + export const getAlimtalkServiceCodeText = (status?: string): string => { if (!status) return ''; const serviceCodeMap: Record = { - 'CARD': '카드', - 'BANK': '계좌이체', - 'VBANK': '가상계좌', - 'PHONE': '휴대폰' - }; + '01': '카드', + '02': '신용카드', + '03': '가상계좌', + '05': '휴대폰' + } return serviceCodeMap[status] || status; } \ No newline at end of file diff --git a/src/entities/additional-service/model/alimtalk/types.ts b/src/entities/additional-service/model/alimtalk/types.ts index 2ef576a..28c9880 100644 --- a/src/entities/additional-service/model/alimtalk/types.ts +++ b/src/entities/additional-service/model/alimtalk/types.ts @@ -33,6 +33,7 @@ export enum AlimTalkSendCl { }; export enum ServiceCode { + ALL = '', CARD = 'CARD', BANK = 'BANK', VBANK = 'VBANK', @@ -128,7 +129,7 @@ export interface ExtensionAlimtalkDetailResponse { sendDate: string; mid: string; tid: string; - serviceName: string; + extensionServiceName: string; sendType: AlimtalkSendType; senderName: string; paymentMethod: string; diff --git a/src/entities/additional-service/model/fund-account/constant.ts b/src/entities/additional-service/model/fund-account/constant.ts index a15c021..30001f9 100644 --- a/src/entities/additional-service/model/fund-account/constant.ts +++ b/src/entities/additional-service/model/fund-account/constant.ts @@ -43,8 +43,4 @@ export const FundAccountResultSearchDateTypeBtnGroup = [ export const FundAccountSearchClOptionsGroup = [ { name: '수취인', value: FundAccountSearchCl.ACCOUNT_NAME }, { name: '계좌번호', value: FundAccountSearchCl.ACCOUNT_NO }, -]; - -export const FundAccountReceiveBankCodeOptionsGroup = [ - { name: 'KB', value: 'KB' } ]; \ No newline at end of file diff --git a/src/entities/additional-service/model/fund-account/types.ts b/src/entities/additional-service/model/fund-account/types.ts index f962305..9214370 100644 --- a/src/entities/additional-service/model/fund-account/types.ts +++ b/src/entities/additional-service/model/fund-account/types.ts @@ -35,11 +35,11 @@ export interface ExtensionFundAccountTransferRegistResponse { }; export interface ExtensionFundAccountTransferRequestParams { - + seq: string; } export interface ExtensionFundAccountTransferRequestResponse { - + status: boolean } export enum FundAccountSearchCl { diff --git a/src/entities/additional-service/ui/account-holder-search/filter/account-holder-search-filter.tsx b/src/entities/additional-service/ui/account-holder-search/filter/account-holder-search-filter.tsx index fa9e1b5..d189883 100644 --- a/src/entities/additional-service/ui/account-holder-search/filter/account-holder-search-filter.tsx +++ b/src/entities/additional-service/ui/account-holder-search/filter/account-holder-search-filter.tsx @@ -12,7 +12,7 @@ import { FilterCalendar } from '@/shared/ui/filter/calendar'; import { FilterButtonGroups } from '@/shared/ui/filter/button-groups'; import { FilterMotionDuration, FilterMotionStyle, FilterMotionVariants } from '@/entities/common/model/constant'; import { useStore } from '@/shared/model/store'; -import { AccountHolderSearchFilterProps, AccountHolderSearchType } from '@/entities/additional-service/model/account-holder-search/types'; +import { AccountHolderSearchFilterProps, AccountHolderSearchCl, AccountHolderResultStatus } from '@/entities/additional-service/model/account-holder-search/types'; export const AccountHolderSearchFilter = ({ filterOn, @@ -23,23 +23,23 @@ export const AccountHolderSearchFilter = ({ startDate, endDate, bank, - processResult, + resultStatus, setMid, setSearchType, setSearchKeyword, setStartDate, setEndDate, setBank, - setProcessResult + setResultStatus }: AccountHolderSearchFilterProps) => { const [filterMid, setFilterMid] = useState(mid); - const [filterSearchType, setFilterSearchType] = useState(searchType); + const [filterSearchType, setFilterSearchType] = useState(searchType); const [filterSearchKeyword, setFilterSearchKeyword] = useState(searchKeyword); const [filterStartDate, setFilterStartDate] = useState(moment(startDate).format('YYYY.MM.DD')); const [filterEndDate, setFilterEndDate] = useState(moment(endDate).format('YYYY.MM.DD')); const [filterBank, setFilterBank] = useState(bank) - const [filterProcessResult, setFilterProcessResult] = useState(processResult); + const [filterResultStatus, setFilterResultStatus] = useState(resultStatus); const midOptions = useStore.getState().UserStore.selectOptionsMids; @@ -58,7 +58,7 @@ export const AccountHolderSearchFilter = ({ setStartDate(filterStartDate); setEndDate(filterEndDate); setBank(filterBank); - setProcessResult(filterProcessResult); + setResultStatus(filterResultStatus); onClickToClose(); }; @@ -68,8 +68,8 @@ export const AccountHolderSearchFilter = ({ ]; let searchTypeOption = [ - { name: '예금주', value: AccountHolderSearchType.ACCOUNT_NAME }, - { name: '계좌번호', value: AccountHolderSearchType.ACCOUNT_NO }, + { name: '예금주', value: AccountHolderSearchCl.ACCOUNT_NAME }, + { name: '계좌번호', value: AccountHolderSearchCl.ACCOUNT_NO }, ]; let processResultBtnGroup = [ @@ -137,9 +137,9 @@ export const AccountHolderSearchFilter = ({
diff --git a/src/entities/additional-service/ui/filter/fund-account-result-filter.tsx b/src/entities/additional-service/ui/filter/fund-account-result-filter.tsx index 22b01b6..a67bc33 100644 --- a/src/entities/additional-service/ui/filter/fund-account-result-filter.tsx +++ b/src/entities/additional-service/ui/filter/fund-account-result-filter.tsx @@ -6,7 +6,7 @@ import { FilterMotionDuration, FilterMotionStyle, FilterMotionVariants } from '@ import { IMAGE_ROOT } from '@/shared/constants/common'; import { FilterSelect } from '@/shared/ui/filter/select'; import { FilterCalendar } from '@/shared/ui/filter/calendar'; -import { FundAccountReceiveBankCodeOptionsGroup, FundAccountResultSearchDateTypeBtnGroup, FundAccountResultStatusBtnGroup, FundAccountSearchClOptionsGroup, FundAccountStatusBtnGroup } from '../../model/fund-account/constant'; +import { FundAccountResultSearchDateTypeBtnGroup, FundAccountResultStatusBtnGroup, FundAccountSearchClOptionsGroup, FundAccountStatusBtnGroup } from '../../model/fund-account/constant'; import { FilterButtonGroups } from '@/shared/ui/filter/button-groups'; import { FilterSelectInput } from '@/shared/ui/filter/select-input'; import { useStore } from '@/shared/model/store'; @@ -61,6 +61,11 @@ export const FundAccountResultFilter = ({ const [filterBankCode, setFilterBankCode] = useState(bankCode); const [filterResultStatus, setFilterResultStatus] = useState(resultStatus); + const bankList = useStore.getState().CommonStore.bankList; + const bankOptions = bankList + .filter((bank) => bank.code1 !== '****') + .map((bank) => ({ name: bank.desc1, value: bank.code1 })); + const midOptions = useStore.getState().UserStore.selectOptionsMids; const onClickToClose = () => { @@ -147,7 +152,7 @@ export const FundAccountResultFilter = ({ title='은행' selectValue={filterBankCode} selectSetter={setFilterBankCode} - selectOptions={FundAccountReceiveBankCodeOptionsGroup} + selectOptions={bankOptions} > { const [filterMid, setFilterMid] = useState(mid); - const [filterSearchCl,setFilterSearchCl] = useState(searchCl); + const [filterSearchCl, setFilterSearchCl] = useState(searchCl); const [filterSearchValue, setFilterSearchValue] = useState(searchValue); const [filterFromDate, setFilterFromDate] = useState(moment(fromDate).format('YYYYMMDD')); const [filterToDate, setFilterToDate] = useState(moment(toDate).format('YYYYMMDD')); @@ -57,21 +57,26 @@ export const FundAccountTransactionFilter = ({ const [filterStatus, setFilterStatus] = useState(status); const midOptions = useStore.getState().UserStore.selectOptionsMids; + const bankList = useStore.getState().CommonStore.bankList; + const bankOptions = bankList + .filter((bank) => bank.code1 !== '****') + .map((bank) => ({ name: bank.desc1, value: bank.code1 })); + const onClickToClose = () => { setFilterOn(false); }; const onClickToSetFilter = () => { setMid(filterMid); - if(filterSearchCl === FundAccountSearchCl.ACCOUNT_NAME){ + if (filterSearchCl === FundAccountSearchCl.ACCOUNT_NAME) { setSearchCl(filterSearchCl); setSearchValue(filterSearchValue); } - else if(filterSearchCl === FundAccountSearchCl.ACCOUNT_NO){ + else if (filterSearchCl === FundAccountSearchCl.ACCOUNT_NO) { setSearchCl(filterSearchCl); - setSearchValue(filterSearchValue); + setSearchValue(filterSearchValue); } - + setFromDate(filterFromDate); setToDate(filterToDate); setBankCode(filterBankCode); @@ -85,26 +90,26 @@ export const FundAccountTransactionFilter = ({ return ( <> -
필터
-
@@ -112,42 +117,42 @@ export const FundAccountTransactionFilter = ({
-
diff --git a/src/entities/additional-service/ui/list-date-group.tsx b/src/entities/additional-service/ui/list-date-group.tsx index de08c67..0a7a35c 100644 --- a/src/entities/additional-service/ui/list-date-group.tsx +++ b/src/entities/additional-service/ui/list-date-group.tsx @@ -68,6 +68,7 @@ export const ListDateGroup = ({ sendCl={ items[i]?.sendCl } paymentMethod={ items[i]?.paymentMethod } receiverName={ items[i]?.receiverName } + serviceCode={ items[i]?.serviceCode} smsCl= { items[i]?.smsCl } onResendClick={ onResendClick } diff --git a/src/entities/additional-service/ui/list-item.tsx b/src/entities/additional-service/ui/list-item.tsx index 701b76b..791e80c 100644 --- a/src/entities/additional-service/ui/list-item.tsx +++ b/src/entities/additional-service/ui/list-item.tsx @@ -10,7 +10,7 @@ import { getSmsClName } from '../model/sms-payment/constant'; import { getKeyInPaymentPaymentStatusName } from '../model/key-in/constant'; import { getArsPaymentStatusName, getArsOrderStatusName } from '../model/ars/constant'; import { ServiceCode } from '../model/alimtalk/types'; -import { getAlimtalkServiceCodeText } from '../model/alimtalk/constant'; +import { getAlimtalkAlimClText, getAlimtalkSendClTypeText, getAlimtalkSendTypeText, getAlimtalkServiceCodeText } from '../model/alimtalk/constant'; export const ListItem = ({ additionalServiceCategory, @@ -30,7 +30,7 @@ export const ListItem = ({ paymentMethod, receiverName, requestId,subReqId, buyerName,receiverInfo, - seq,serviceCode, + seq,serviceCode,sendDate, smsCl, name, @@ -277,7 +277,7 @@ export const ListItem = ({ timeStr = time?.substring(0, 2) + ':' + time?.substring(2, 4); } else if (additionalServiceCategory === AdditionalServiceCategory.Alimtalk) { - let time = paymentDate?.substring(8, 12); + let time = sendDate?.substring(8, 12); timeStr = time?.substring(0, 2) + ':' + time?.substring(2, 4); } else { @@ -353,7 +353,7 @@ export const ListItem = ({ str = '이름(' + tid + ')'; } else if (additionalServiceCategory === AdditionalServiceCategory.Alimtalk) { - str = `${receiverName}(${getAlimtalkServiceCodeText(serviceCode)})`; + str = `${receiverName}(${getAlimtalkSendTypeText(sendType)})`; } return str; @@ -478,13 +478,14 @@ export const ListItem = ({ ); } else if (additionalServiceCategory === AdditionalServiceCategory.Alimtalk) { + console.log(serviceCode) rs.push(
{getTime()} | - {paymentMethod} + {getAlimtalkServiceCodeText(serviceCode)} | - {alimCl} + {getAlimtalkAlimClText(alimCl)}
); } @@ -598,10 +599,8 @@ export const ListItem = ({ } else if (additionalServiceCategory === AdditionalServiceCategory.Alimtalk) { rs.push( -
{sendCl}
+
{getAlimtalkSendClTypeText(sendCl)}
); } else if (additionalServiceCategory === AdditionalServiceCategory.SMSPayment && onResendClick && tid) { diff --git a/src/pages/additional-service/account-holder-search/account-holder-search-page.tsx b/src/pages/additional-service/account-holder-search/account-holder-search-page.tsx index 08a6023..ec4d051 100644 --- a/src/pages/additional-service/account-holder-search/account-holder-search-page.tsx +++ b/src/pages/additional-service/account-holder-search/account-holder-search-page.tsx @@ -19,7 +19,7 @@ import { SortTypeBox } from '@/entities/common/ui/sort-type-box'; import { SortTypeKeys } from '@/entities/common/model/types'; import { AccountHolderSearchList } from '@/entities/additional-service/ui/account-holder-search/account-holder-search-list'; import { useStore } from '@/shared/model/store'; -import { AccountHolderSearchListItem, AccountHolderSearchType } from '@/entities/additional-service/model/account-holder-search/types'; +import { AccountHolderSearchListItem, AccountHolderSearchCl, AccountHolderResultStatus } from '@/entities/additional-service/model/account-holder-search/types'; import { resultStatusBtnGroup } from '@/entities/additional-service/model/account-holder-search/constant'; import { EmailBottomSheet } from '@/entities/common/ui/email-bottom-sheet'; @@ -33,12 +33,12 @@ export const AccountHolderSearchPage = () => { const [pageParam, setPageParam] = useState(DEFAULT_PAGE_PARAM); const [filterOn, setFilterOn] = useState(false); const [mid, setMid] = useState(userMid); - const [searchType, setSearchType] = useState(AccountHolderSearchType.ACCOUNT_NAME) - const [searchKeyword, setSearchKeyword] = useState(''); + const [searchCl, setSearchCl] = useState(AccountHolderSearchCl.ACCOUNT_NAME) + const [searchValue, setSearchValue] = useState(''); const [startDate, setStartDate] = useState(moment().format('YYYYMMDD')); const [endDate, setEndDate] = useState(moment().format('YYYYMMDD')); const [bank, setBank] = useState(''); - const [processResult, setProcessResult] = useState(ProcessResult.ALL); + const [resultStatus, setResultStatus] = useState(AccountHolderResultStatus.ALL); const [emailBottomSheetOn, setEmailBottomSheetOn] = useState(false); useSetHeaderTitle('계좌성명조회'); @@ -53,16 +53,16 @@ export const AccountHolderSearchPage = () => { const callList = (option?: { sortType?: SortTypeKeys, - processResult?: ProcessResult + resultStatus?: AccountHolderResultStatus }) => { let listParams = { mid: mid, - searchCl: searchType, - searchValue: searchKeyword, + searchCl: searchCl, + searchValue: searchValue, fromDate: startDate, toDate: endDate, bankCode: bank, - resultStatus: option?.processResult ?? processResult, + resultStatus: option?.resultStatus ?? resultStatus, page: pageParam } @@ -89,12 +89,12 @@ export const AccountHolderSearchPage = () => { downloadExcel({ mid: mid, //email: selectedEmail, - searchCl: searchType, - searchValue: searchKeyword, + searchCl: searchCl, + searchValue: searchValue, fromDate: startDate, toDate: endDate, bankCode: bank, - resultStatus: processResult + resultStatus: resultStatus }).then((rs) => { console.log('Excel Download Status: ' + rs.status); }); @@ -109,10 +109,10 @@ export const AccountHolderSearchPage = () => { }); }; - const onClickToTransactionStatus = (val: ProcessResult) => { - setProcessResult(val); + const onClickToTransactionStatus = (val: AccountHolderResultStatus) => { + setResultStatus(val); callList({ - processResult: val + resultStatus: val }); }; @@ -120,12 +120,12 @@ export const AccountHolderSearchPage = () => { callList(); }, [ mid, - searchType, - searchKeyword, + searchCl, + searchValue, startDate, endDate, bank, - processResult + resultStatus ]); return ( @@ -176,7 +176,7 @@ export const AccountHolderSearchPage = () => { resultStatusBtnGroup.map((value, index) => ( onClickToTransactionStatus(value.value)} >{value.name} )) @@ -195,19 +195,19 @@ export const AccountHolderSearchPage = () => { filterOn={filterOn} setFilterOn={setFilterOn} mid={mid} - searchType={searchType} - searchKeyword={searchKeyword} + searchType={searchCl} + searchKeyword={searchValue} startDate={startDate} endDate={endDate} bank={bank} - processResult={processResult} + resultStatus={resultStatus} setMid={setMid} - setSearchType={setSearchType} - setSearchKeyword={setSearchKeyword} + setSearchType={setSearchCl} + setSearchKeyword={setSearchValue} setStartDate={setStartDate} setEndDate={setEndDate} setBank={setBank} - setProcessResult={setProcessResult} + setResultStatus={setResultStatus} > { const { navigate } = useNavigate(); @@ -26,8 +27,8 @@ export const AlimtalkDetailPage = () => { const callDetail = () => { let params: ExtensionAlimtalkDetailParams = { - tid: tid, mid: mid, + tid: tid }; extensionAlimtalkDetail(params).then((rs: ExtensionAlimtalkDetailResponse) => { @@ -47,7 +48,7 @@ export const AlimtalkDetailPage = () => { }, []); const getDate = (date?: string) => { - return (date)? moment(date.substr(0, 8)).format('YYYY.MM.DD'): ''; + return (date)? moment(date, 'YYYYMMDDHHmmss').format('YYYY.MM.DD HH:mm:ss'): ''; }; return ( @@ -76,15 +77,15 @@ export const AlimtalkDetailPage = () => {
  • 서비스명 - { detail?.serviceName } + { detail?.extensionServiceName }
  • 발송 종류 - { detail?.sendType } + { getAlimtalkSendTypeText(detail?.sendType) }
  • - 주문자명 - {detail?.senderName } + 주문자명 + {detail?.receiverName }
  • 결제서비스 @@ -92,11 +93,11 @@ export const AlimtalkDetailPage = () => {
  • 알림구분 - { detail?.alimCl } + { getAlimtalkAlimClText(detail?.alimCl) }
  • 발송구분 - { detail?.sendCl } + { getAlimtalkSendClTypeText(detail?.sendCl) }
  • diff --git a/src/pages/additional-service/alimtalk/list-page.tsx b/src/pages/additional-service/alimtalk/list-page.tsx index 5fd338a..7e50ab4 100644 --- a/src/pages/additional-service/alimtalk/list-page.tsx +++ b/src/pages/additional-service/alimtalk/list-page.tsx @@ -43,7 +43,7 @@ export const AlimtalkListPage = () => { const [mid, setMid] = useState(userMid); const [searchCl, setSearchCl] = useState(AlimtalkSearchCl.BUYER_NAME); const [searchValue, setSearchValue] = useState(''); - const [serviceCode, setServiceCode] = useState(ServiceCode.CARD); + const [serviceCode, setServiceCode] = useState(ServiceCode.ALL); const [alimCl, setAlimCl] = useState(AlimtalkAlimCl.DEPOSIT_REQUEST); const [fromDate, setFromDate] = useState(moment().format('YYYYMMDD')); const [toDate, setToDate] = useState(moment().format('YYYYMMDD')); 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 ccb5b3a..fb13495 100644 --- a/src/pages/additional-service/fund-account/transfer-detail-page.tsx +++ b/src/pages/additional-service/fund-account/transfer-detail-page.tsx @@ -11,10 +11,12 @@ 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, ExtensionFundAccountTransferRegistParams, ExtensionFundAccountTransferRequestResponse, FundAccountStatus } from '@/entities/additional-service/model/fund-account/types'; +import { ExtensionFundAccountTransferDetailParams, ExtensionFundAccountTransferDetailResponse, ExtensionFundAccountTransferRegistParams, 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 { useExtensionFundAccountTransferRegistMutation } from '@/entities/additional-service/api/fund-account/use-extension-fund-account-transfer-regist-mutation'; +import { snackBar } from '@/shared/lib'; +import { useExtensionFundAccountTransferRequestMutation } from '@/entities/additional-service/api/fund-account/use-extension-fund-account-transfer-request-mutation'; export const FundAccountTransferDetailPage = () => { const { navigate } = useNavigate(); @@ -25,7 +27,7 @@ export const FundAccountTransferDetailPage = () => { const [detail, setDetail] = useState(); const { mutateAsync: extensionFundAccountTransferDetail } = useExtensionFundAccountTransferDetailMutation(); - const { mutateAsync: extensionFundAccountTransferRequest } = useExtensionFundAccountTransferRegistMutation(); + const { mutateAsync: extensionFundAccountTransferRequest } = useExtensionFundAccountTransferRequestMutation(); const callDetail = () => { let params: ExtensionFundAccountTransferDetailParams = { @@ -48,26 +50,15 @@ export const FundAccountTransferDetailPage = () => { callDetail(); }, []); - // const onClickToRequest = () => { - // if (!detail) { - // alert('상세 정보를 불러오는 중입니다.'); - // return; - // } - - // let params: ExtensionFundAccountTransferRegistParams = { - // mid: mid, - // 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.status ? '이체 요청이 완료되었습니다.' : '이체 요청에 실패했습니다.'); - // navigate(PATHS.additionalService.fundAccount.transferList); - // }); - // }; + const onClickToRequest = () => { + let params: ExtensionFundAccountTransferRequestParams = { + seq: seq + }; + extensionFundAccountTransferRequest(params).then((rs: ExtensionFundAccountTransferRequestResponse) => { + callDetail(); + snackBar("이체요청을 성공하였습니다.") + }); + }; return ( <> @@ -136,7 +127,7 @@ export const FundAccountTransferDetailPage = () => {
    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 a7d12f6..d4f359b 100644 --- a/src/pages/additional-service/fund-account/transfer-request-page.tsx +++ b/src/pages/additional-service/fund-account/transfer-request-page.tsx @@ -12,12 +12,15 @@ import { ExtensionFundAccountTransferRegistParams, ExtensionFundAccountTransferR import { useStore } from '@/shared/model/store'; import { snackBar } from '@/shared/lib'; import { useExtensionFundAccountTransferRegistMutation } from '@/entities/additional-service/api/fund-account/use-extension-fund-account-transfer-regist-mutation'; +import { NumericFormat } from 'react-number-format'; +import { useExtensionFundAccountTransferRequestMutation } from '@/entities/additional-service/api/fund-account/use-extension-fund-account-transfer-request-mutation'; export const FundAccountTransferRequestPage = () => { const { navigate } = useNavigate(); const midOptions = useStore.getState().UserStore.selectOptionsMids; const userMid = useStore.getState().UserStore.mid; + const bankList = useStore.getState().CommonStore.bankList; const [mid, setMid] = useState(userMid); const [bankCode, setBankCode] = useState(''); @@ -28,7 +31,7 @@ export const FundAccountTransferRequestPage = () => { const [depositParameter, setDepositParameter] = useState(''); const { mutateAsync: extensionFundAccountRegist } = useExtensionFundAccountTransferRegistMutation(); - + useSetHeaderTitle('자금이체 이체등록'); useSetHeaderType(HeaderType.RightClose); useSetFooterMode(false); @@ -70,6 +73,7 @@ export const FundAccountTransferRequestPage = () => { mid.trim() !== '' && bankCode.trim() !== '' && accountNo.trim() !== '' && + accountNo.length > 9 && accountName.trim() !== '' && amount > 0 && moid.trim() !== '' @@ -88,7 +92,7 @@ export const FundAccountTransferRequestPage = () => {
    setBankCode(e.target.value)}> - {/* TODO: 은행 목록 옵션 추가 필요 */} + { + bankList + .filter((bank) => bank.code1 !== '****') + .map((bank) => ( + + )) + }
    계좌번호*
    - setAccountNo(e.target.value)} + valueIsNumericString + allowNegative={false} + decimalScale={0} + onValueChange={(values) => setAccountNo(values.value)} />
    @@ -130,11 +145,12 @@ export const FundAccountTransferRequestPage = () => {
    이체금액*
    - setAmount(parseInt(e.target.value))} - /> + allowNegative={false} + displayType='input' + onChange={(e: ChangeEvent) => setAmount(parseInt(e.target.value))} + >