- 링크결제 누락된 결제수단 필터 및 리스트 누락항목 추가

This commit is contained in:
HyeonJongKim
2025-11-21 13:53:58 +09:00
parent 4caaaae054
commit 8f873c3f74
7 changed files with 93 additions and 15 deletions

View File

@@ -1,8 +1,40 @@
import { TFunction } from 'i18next';
import { LinkPaymentProcessStatus } from "./types";
import { LinkPaymentPaymentMethod, LinkPaymentProcessStatus } from "./types";
export const getProcessStatusBtnGroup = (t: TFunction) => [
{ name: t('transaction.constants.all'), value: LinkPaymentProcessStatus.ALL },
{ name: t('additionalService.linkPay.sendRequest'), value: LinkPaymentProcessStatus.SEND_REQUEST },
{ name: t('additionalService.linkPay.sendCancel'), value: LinkPaymentProcessStatus.SEND_CANCEL }
]
export const getPaymentMethodOptionGroup = (t: TFunction) => [
{ name: t('additionalService.linkPayment.paymentMethod.all'), value: '' },
{ name: t('additionalService.linkPayment.paymentMethod.card'), value: LinkPaymentPaymentMethod.CARD},
{ name: t('additionalService.linkPayment.paymentMethod.bank'), value: LinkPaymentPaymentMethod.BANK},
{ name: t('additionalService.linkPayment.paymentMethod.virtualAccount'), value: LinkPaymentPaymentMethod.VIRTURE_BANK},
{ name: t('additionalService.linkPayment.paymentMethod.phone'), value: LinkPaymentPaymentMethod.PHONE},
{ name: t('additionalService.linkPayment.paymentMethod.cultureland'), value: LinkPaymentPaymentMethod.CULTURELAND},
{ name: t('additionalService.linkPayment.paymentMethod.ssgMoney'), value: LinkPaymentPaymentMethod.SSG_MONEY},
{ name: t('additionalService.linkPayment.paymentMethod.ssgBank'), value: LinkPaymentPaymentMethod.SSG_BANK},
{ name: t('additionalService.linkPayment.paymentMethod.cmsBank'), value: LinkPaymentPaymentMethod.CMS_BANK}, //계좌간편결제
{ name: t('additionalService.linkPayment.paymentMethod.tmoneyPay'), value: LinkPaymentPaymentMethod.TMONEY_PAY},
]
export const getPaymentMethodText = (t: TFunction) => (status?: string): string => {
if (!status) return '';
const paymentMethodMap: Record<LinkPaymentPaymentMethod, string> = {
[LinkPaymentPaymentMethod.ALL]: t('additionalService.linkPayment.paymentMethod.all'),
[LinkPaymentPaymentMethod.CARD]: t('additionalService.linkPayment.paymentMethod.card'),
[LinkPaymentPaymentMethod.BANK]: t('additionalService.linkPayment.paymentMethod.bank'),
[LinkPaymentPaymentMethod.VIRTURE_BANK]: t('additionalService.linkPayment.paymentMethod.virtualAccount'),
[LinkPaymentPaymentMethod.PHONE]: t('additionalService.linkPayment.paymentMethod.phone'),
[LinkPaymentPaymentMethod.CULTURELAND]: t('additionalService.linkPayment.paymentMethod.cultureland'),
[LinkPaymentPaymentMethod.SSG_MONEY]: t('additionalService.linkPayment.paymentMethod.ssgMoney'),
[LinkPaymentPaymentMethod.SSG_BANK]: t('additionalService.linkPayment.paymentMethod.ssgBank'),
[LinkPaymentPaymentMethod.CMS_BANK]: t('additionalService.linkPayment.paymentMethod.cmsBank'),
[LinkPaymentPaymentMethod.TMONEY_PAY]: t('additionalService.linkPayment.paymentMethod.tmoneyPay')
}
return paymentMethodMap[status as LinkPaymentPaymentMethod] || status;
}

View File

@@ -20,6 +20,7 @@ export enum LinkPaymentSearchCl {
}
export enum LinkPaymentPaymentMethod {
ALL = "",
CARD = "CARD",
BANK = "BANK",
VIRTURE_BANK = "VIRTURE_BANK",
@@ -124,6 +125,7 @@ export interface LinkPaymentHistoryFilterProps extends FilterProps {
mid: string;
searchCl: LinkPaymentSearchCl;
searchValue: string;
paymentMethod: LinkPaymentPaymentMethod;
fromDate: string;
toDate: string;
paymentStatus: LinkPaymentPaymentStatus;
@@ -132,6 +134,7 @@ export interface LinkPaymentHistoryFilterProps extends FilterProps {
setMid: (mid: string) => void;
setSearchType: (searchType: LinkPaymentSearchCl) => void;
setSearchKeyword: (searchKeyWorld: string) => void;
setPaymentMethod: (paymentMethod: LinkPaymentPaymentMethod) => void;
setStartDate: (startDate: string) => void;
setEndDate: (endDate: string) => void;
setPaymentStatus: (transactionStatus: LinkPaymentPaymentStatus) => void;
@@ -161,6 +164,7 @@ export interface LinkPaymentWaitFilterProps extends FilterProps {
export interface ExtensionLinkPayHistoryListParams extends ExtensionRequestParams {
searchCl: string;
searchValue: string;
paymentMethod: LinkPaymentPaymentMethod;
fromDate: string;
toDate: string;
paymentStatus: LinkPaymentPaymentStatus;

View File

@@ -13,11 +13,12 @@ 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 { LinkPaymentHistoryFilterProps, LinkPaymentPaymentStatus, LinkPaymentSearchCl, LinkPaymentSendMethod, LinkPaymentSendStatus } from '@/entities/additional-service/model/link-pay/types';
import { LinkPaymentHistoryFilterProps, LinkPaymentPaymentMethod, LinkPaymentPaymentStatus, LinkPaymentSearchCl, LinkPaymentSendMethod, LinkPaymentSendStatus } from '@/entities/additional-service/model/link-pay/types';
import { FilterSelectMid } from '@/shared/ui/filter/select-mid';
import { useTranslation } from 'react-i18next';
import { FullMenuClose } from '@/entities/common/ui/full-menu-close';
import { useKeyboardAware } from '@/shared/lib/hooks';
import { getPaymentMethodOptionGroup } from '@/entities/additional-service/model/link-pay/constant';
export const LinkPaymentHistoryFilter = ({
filterOn,
@@ -25,6 +26,7 @@ export const LinkPaymentHistoryFilter = ({
mid,
searchCl,
searchValue,
paymentMethod,
fromDate,
toDate,
paymentStatus,
@@ -33,6 +35,7 @@ export const LinkPaymentHistoryFilter = ({
setMid,
setSearchType,
setSearchKeyword,
setPaymentMethod,
setStartDate,
setEndDate,
setPaymentStatus,
@@ -44,6 +47,7 @@ export const LinkPaymentHistoryFilter = ({
const [filterMid, setFilterMid] = useState<string>(mid);
const [filterSearchCl, setFilterSearchCl] = useState<LinkPaymentSearchCl>(searchCl);
const [filterSearchValue, setFilterSearchValue] = useState<string>(searchValue);
const [filterPaymentMethod, setFilterPaymentMethod] = useState<LinkPaymentPaymentMethod>(paymentMethod);
const [filterStartDate, setFilterStartDate] = useState<string>(fromDate);
const [filterEndDate, setFilterEndDate] = useState<string>(toDate);
const [filterTransactionStatus, setFilterTransactionStatus] = useState<LinkPaymentPaymentStatus>(paymentStatus)
@@ -85,6 +89,7 @@ export const LinkPaymentHistoryFilter = ({
setMid(filterMid);
setSearchType(filterSearchCl);
setSearchKeyword(filterSearchValue);
setPaymentMethod(filterPaymentMethod);
setStartDate(filterStartDate);
setEndDate(filterEndDate);
setPaymentStatus(filterTransactionStatus);
@@ -112,7 +117,7 @@ export const LinkPaymentHistoryFilter = ({
<div className="full-menu-actions">
<FullMenuClose
addClass='full-menu-close'
onClickToCallback={ onClickToClose }
onClickToCallback={onClickToClose}
></FullMenuClose>
</div>
</div>
@@ -131,8 +136,14 @@ export const LinkPaymentHistoryFilter = ({
selectOptions={searchTypeOption}
inputValue={filterSearchValue}
inputSetter={setFilterSearchValue}
handleInputFocus={ handleInputFocus }
handleInputFocus={handleInputFocus}
></FilterSelectInput>
<FilterSelect
title={t('filter.paymentMethod')}
selectValue={filterPaymentMethod}
selectSetter={setFilterPaymentMethod}
selectOptions={getPaymentMethodOptionGroup(t)}
></FilterSelect>
<FilterCalendar
startDate={filterStartDate}
endDate={filterEndDate}

View File

@@ -35,7 +35,7 @@ const defaultParams = {
toDate: moment().format('YYYYMMDD'),
searchCl: LinkPaymentSearchCl.PHONE,
searchValue: '',
paymentMethod: LinkPaymentPaymentMethod.CARD,
paymentMethod: LinkPaymentPaymentMethod.ALL,
paymentStatus: LinkPaymentPaymentStatus.ALL,
sendStatus: LinkPaymentSendStatus.ALL,
sendMethod: LinkPaymentSendMethod.ALL
@@ -109,6 +109,7 @@ export const LinkPaymentHistoryWrap = () => {
mid: mid,
searchCl: searchCl,
searchValue: searchValue,
paymentMethod: paymentMethod,
fromDate: fromDate,
toDate: toDate,
paymentStatus: paymentStatus,
@@ -333,6 +334,7 @@ export const LinkPaymentHistoryWrap = () => {
mid={mid}
searchCl={searchCl}
searchValue={searchValue}
paymentMethod={paymentMethod}
fromDate={fromDate}
toDate={toDate}
paymentStatus={paymentStatus}
@@ -341,6 +343,7 @@ export const LinkPaymentHistoryWrap = () => {
setMid={setMid}
setSearchType={setSearchCl}
setSearchKeyword={setSearchValue}
setPaymentMethod={setPaymentMethod}
setStartDate={setFromDate}
setEndDate={setToDate}
setPaymentStatus={setPaymentStatus}

View File

@@ -14,6 +14,7 @@ import { ServiceCode } from '../model/alimtalk/types';
import { getAlimtalkAlimClText, getAlimtalkSendClTypeText, getAlimtalkSendTypeText, getAlimtalkServiceCodeText } from '../model/alimtalk/constant';
import { getAuthResultStatusText, getTransTypeText } from '../model/face-auth/constant';
import { getPayoutStatusText } from '../model/payout/constant';
import { getPaymentMethodText } from '../model/link-pay/constant';
export const ListItem = ({
additionalServiceCategory,
@@ -376,9 +377,9 @@ export const ListItem = ({
}
else if (additionalServiceCategory === AdditionalServiceCategory.LinkPaymentHistory
) {
str = `${getMaskedName(buyerName)}`;
str = receiverInfo ? `${getMaskedName(buyerName)}(${receiverInfo})` : `${getMaskedName(buyerName)}`;
} else if (additionalServiceCategory === AdditionalServiceCategory.LinkPaymentWait) {
str = `${getMaskedName(buyerName)}(${receiverInfo})`;
str = receiverInfo ? `${getMaskedName(buyerName)}(${receiverInfo})` : `${getMaskedName(buyerName)}`;
}
else if (additionalServiceCategory === AdditionalServiceCategory.Payout) {
str = companyName;
@@ -452,7 +453,7 @@ export const ListItem = ({
);
}
else if (additionalServiceCategory === AdditionalServiceCategory.LinkPaymentHistory) {
if (paymentStatus === "0" || paymentStatus === "3" || paymentStatus === "4") {
if (paymentStatus === "2" || paymentStatus === "4") {
rs.push(
<div key="link-payment-history" className="transaction-details">
<span>{getPaymentStatusText(t)(paymentStatus)}</span>
@@ -466,8 +467,12 @@ export const ListItem = ({
<span>{getPaymentStatusText(t)(paymentStatus)}</span>
<span className="separator">|</span>
<span>{getSendMethodText(t)(sendMethod)}</span>
{paymentMethod && (
<>
<span className="separator">|</span>
<span>{paymentMethod}</span>
<span>{getPaymentMethodText(t)(paymentMethod)}</span>
</>
)}
</div>
);
}

View File

@@ -1291,7 +1291,18 @@
"apply": "Apply",
"sendRequest": "Send Request",
"sendCancel": "Send Cancel",
"progressStatus": "Progress Status"
"progressStatus": "Progress Status",
"paymentMethod": {
"card": "Credit Card",
"bank": "Bank Transfer",
"virtualAccount": "Virtual Account",
"phone": "Mobile Phone",
"cultureland": "Cultureland",
"ssgMoney": "SSG Money",
"ssgBank": "SSG Bank",
"cmsBank": "Easy Account Payment",
"tmoneyPay": "T-money Pay"
}
},
"infoWrap": {
"paymentInfo": "Payment Information",

View File

@@ -1286,13 +1286,25 @@
"kakao": "카카오",
"merchant": "가맹점",
"phoneNumberEmail": "휴대폰번호/이메일",
"transactionStatus": "거래 상태",
"sendResult": "발송 결과",
"transactionStatus": "결제 상태",
"sendResult": "전송결과",
"sendMethod": "발송수단",
"apply": "적용",
"sendRequest": "발송요청",
"sendCancel": "발송취소",
"progressStatus": "진행상태"
"progressStatus": "진행상태",
"paymentMethod": {
"all": "전체",
"card": "신용카드",
"bank": "계좌이체",
"virtualAccount": "가상계좌",
"phone": "휴대폰",
"cultureland": "문화상품권",
"ssgMoney": "SSG머니",
"ssgBank": "SSG뱅크",
"cmsBank": "계좌간편결제",
"tmoneyPay": "티머니페이"
}
},
"infoWrap": {
"paymentInfo": "결제 정보",