- ars,SMS,KeyIn 수정
This commit is contained in:
@@ -39,11 +39,14 @@ export interface ExtensionArsListParams {
|
||||
};
|
||||
export interface ArsListContent {
|
||||
tid?: string;
|
||||
paymentDate?: string;
|
||||
paymentStatus?: PaymentStatus | string;
|
||||
orderStatus?: OrderStatus;
|
||||
arsPaymentMethod?: string;
|
||||
orderDate?: string;
|
||||
orderTime?: string;
|
||||
buyerName?: string;
|
||||
buyerPhoneLast4?: string;
|
||||
orderStatus?: string;
|
||||
transactionType?: string;
|
||||
amount?: number;
|
||||
statusColor?: string;
|
||||
};
|
||||
export interface ExtensionArsListResponse extends DefaulResponsePagination {
|
||||
content: Array<ArsListContent>;
|
||||
@@ -67,6 +70,7 @@ export interface ExtensionArsDetailResponse {
|
||||
corpName: string;
|
||||
mid: string;
|
||||
arsPaymentMethod: string;
|
||||
amount: string;
|
||||
paymentStatus: PaymentStatus;
|
||||
orderStatus: string;
|
||||
paymentDate: string;
|
||||
@@ -89,4 +93,16 @@ export interface ExtensionArsApplyParams {
|
||||
email: string;
|
||||
arsPaymentMethod: string;
|
||||
};
|
||||
export interface ExtensionArsApplyResponse {};
|
||||
export interface ExtensionArsApplyResponse {
|
||||
status: boolean;
|
||||
error?: {
|
||||
root?: string;
|
||||
errKey?: string;
|
||||
code?: string;
|
||||
message?: string;
|
||||
timestamp?: string;
|
||||
details?: {
|
||||
path?: string;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -93,8 +93,7 @@ export interface ExtensionKeyinDownloadExcelResponse {
|
||||
|
||||
export interface ExtensionKeyinApplyParams extends ExtensionRequestParams {
|
||||
cardNo: string;
|
||||
expYear: string;
|
||||
expMon: string;
|
||||
cardExpire: string;
|
||||
instmnt: string;
|
||||
amount: number;
|
||||
productName: string;
|
||||
|
||||
@@ -2,7 +2,7 @@ import { DefaulResponsePagination, DefaultRequestPagination } from '@/entities/c
|
||||
import { AdditionalServiceCategory, ExtensionRequestParams, FilterProps, ListItemProps } from '../types';
|
||||
|
||||
export enum SmsCl {
|
||||
ALL = "",
|
||||
ALL = "ALL",
|
||||
VACCOUNT_REQ = "VACCOUNT_REQ",
|
||||
VACCOUNT_REQ_DEPOSIT = "VACCOUNT_REQ_DEPOSIT"
|
||||
}
|
||||
@@ -15,9 +15,13 @@ export enum SmsPaymentSearchCl {
|
||||
export interface SmsPaymentListItem {
|
||||
mid?: string;
|
||||
tid?: string;
|
||||
paymentDate?: string;
|
||||
paymentStatus?: string;
|
||||
buyerName?: string;
|
||||
buyerPhoneLast4?: string;
|
||||
sendDate?: string;
|
||||
amount?: number;
|
||||
smsTypeName?: string;
|
||||
smsCl?: string;
|
||||
resendEnabled?: boolean;
|
||||
}
|
||||
|
||||
export interface SmsPaymentListProps {
|
||||
|
||||
@@ -60,8 +60,8 @@ export const ArsFilter = ({
|
||||
|
||||
const [filterMid, setFilterMid] = useState<string>(mid);
|
||||
const [filterMoid, setFilterMoid] = useState<string>(moid);
|
||||
const [filterFromDate, setFilterFromDate] = useState<string>(moment(fromDate).format('YYYY.MM.DD'));
|
||||
const [filterToDate, setFilterToDate] = useState<string>(moment(toDate).format('YYYY.MM.DD'));
|
||||
const [filterFromDate, setFilterFromDate] = useState<string>(moment(fromDate).format('YYYYMMDD'));
|
||||
const [filterToDate, setFilterToDate] = useState<string>(moment(toDate).format('YYYYMMDD'));
|
||||
const [filterPaymentStatus, setFilterPaymentStatus] = useState<PaymentStatus>(paymentStatus);
|
||||
const [filterOrderStatus, setFilterOrderStatus] = useState<OrderStatus>(orderStatus);
|
||||
const [filterMinAmount, setFilterMinAmount] = useState<number | undefined>(minAmount);
|
||||
@@ -75,7 +75,7 @@ export const ArsFilter = ({
|
||||
|
||||
const onClickToSetFilter = () => {
|
||||
setMid(filterMid);
|
||||
setFilterMoid(filterMoid);
|
||||
setMoid(filterMoid);
|
||||
setFromDate(filterFromDate);
|
||||
setToDate(filterToDate);
|
||||
setPaymentStatus(filterPaymentStatus);
|
||||
|
||||
@@ -27,7 +27,7 @@ export const ListDateGroup = ({
|
||||
key={ key }
|
||||
mid={ mid }
|
||||
tid={ items[i]?.tid }
|
||||
paymentDate= { items[i]?.paymentDate}
|
||||
orderDate= { items[i]?.orderDate}
|
||||
paymentStatus={ items[i]?.paymentStatus}
|
||||
requestDate={ items[i]?.requestDate }
|
||||
requestTime={ items[i]?.requestTime}
|
||||
@@ -58,9 +58,10 @@ export const ListDateGroup = ({
|
||||
status={ items[i]?.status }
|
||||
|
||||
orderStatus={ items[i]?.orderStatus }
|
||||
arsPaymentMethod={ items[i]?.arsPaymentMethod }
|
||||
|
||||
orderTime={ items[i]?.orderTime }
|
||||
buyerPhoneLast4={ items[i]?.buyerPhoneLast4 }
|
||||
buyerName={ items[i]?.buyerName}
|
||||
statusColor={ items[i]?.statusColor}
|
||||
cursorId={ items[i]?.cursorId}
|
||||
subReqId={ items[i]?.subReqId}
|
||||
requestId={ items[i]?.requestId}
|
||||
|
||||
@@ -16,16 +16,12 @@ import { getPayoutStatusText } from '../model/payout/constant';
|
||||
|
||||
export const ListItem = ({
|
||||
additionalServiceCategory,
|
||||
mid, tid, paymentDate, paymentStatus,
|
||||
|
||||
mid, tid, orderDate, paymentStatus,
|
||||
orderTime,buyerPhoneLast4,statusColor,
|
||||
applicationDate, requestDate, bankName, accountNo, resultStatus, resultMessage,
|
||||
amount, sendMethod, processStatus, registDate,
|
||||
|
||||
accountName,
|
||||
|
||||
submallId, settlementDate, companyName,
|
||||
|
||||
orderStatus, arsPaymentMethod,
|
||||
transactionTime,transactionCode,transactionType,
|
||||
accountName,submallId, settlementDate, companyName,orderStatus,
|
||||
|
||||
alimCl, sendType, sendCl,
|
||||
paymentMethod, receiverName,
|
||||
@@ -36,6 +32,7 @@ export const ListItem = ({
|
||||
|
||||
smsCl, groupId, userMallId, transType,
|
||||
authResult, failReason, requestTime,
|
||||
resendEnabled,
|
||||
onResendClick
|
||||
}: ListItemProps) => {
|
||||
const { navigate } = useNavigate();
|
||||
@@ -59,16 +56,16 @@ export const ListItem = ({
|
||||
const getDotClass = (str?: string) => {
|
||||
let rs = '';
|
||||
if (additionalServiceCategory === AdditionalServiceCategory.KeyInPayment) {
|
||||
if (paymentStatus === '') {
|
||||
if (transactionType === '') {
|
||||
rs = '';
|
||||
}
|
||||
else if (paymentStatus === "APPROVAL") {
|
||||
else if (transactionType === "APPROVAL") {
|
||||
rs = 'blue';
|
||||
}
|
||||
else if (paymentStatus === "ALL_CANCEL") {
|
||||
else if (transactionType === "FULL_CANCEL") {
|
||||
rs = 'gray';
|
||||
}
|
||||
else if (paymentStatus === 'AFTER_CANCEL') {
|
||||
else if (transactionType === 'PARTIAL_CANCEL') {
|
||||
rs = 'gray';
|
||||
}
|
||||
|
||||
@@ -143,6 +140,12 @@ export const ListItem = ({
|
||||
} else if (status === "FAIL") {
|
||||
rs = 'gray';
|
||||
}
|
||||
} else if (additionalServiceCategory === AdditionalServiceCategory.Ars) {
|
||||
if (paymentStatus === "PENDING" || paymentStatus === "SUCCESS") {
|
||||
rs = 'blue';
|
||||
} else {
|
||||
rs = 'gray';
|
||||
}
|
||||
}
|
||||
return rs;
|
||||
|
||||
@@ -231,8 +234,7 @@ export const ListItem = ({
|
||||
state: {
|
||||
additionalServiceCategory: additionalServiceCategory,
|
||||
mid: mid,
|
||||
tid: tid,
|
||||
amount: amount
|
||||
tid: tid
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -261,7 +263,7 @@ export const ListItem = ({
|
||||
const getTime = () => {
|
||||
let timeStr = '';
|
||||
if (additionalServiceCategory === AdditionalServiceCategory.KeyInPayment) {
|
||||
let time = paymentDate?.substring(8, 12);
|
||||
let time = transactionTime?.substring(0, 4);
|
||||
timeStr = time?.substring(0, 2) + ':' + time?.substring(2, 4);
|
||||
}
|
||||
else if (additionalServiceCategory === AdditionalServiceCategory.AccountHolderAuth) {
|
||||
@@ -289,8 +291,7 @@ export const ListItem = ({
|
||||
}
|
||||
}
|
||||
else if (additionalServiceCategory === AdditionalServiceCategory.Ars) {
|
||||
let time = paymentDate?.substring(8, 12);
|
||||
timeStr = time?.substring(0, 2) + ':' + time?.substring(2, 4);
|
||||
timeStr = orderTime?.substring(0, 2) + ':' + orderTime?.substring(2, 4);
|
||||
}
|
||||
else if (additionalServiceCategory === AdditionalServiceCategory.Alimtalk) {
|
||||
let time = sendDate?.substring(8, 12);
|
||||
@@ -323,7 +324,7 @@ export const ListItem = ({
|
||||
statusText = getSmsClName(smsCl);
|
||||
}
|
||||
else if (additionalServiceCategory === AdditionalServiceCategory.KeyInPayment) {
|
||||
statusText = getKeyInPaymentPaymentStatusName(paymentStatus)
|
||||
statusText = getKeyInPaymentPaymentStatusName(transactionType)
|
||||
}
|
||||
else if (additionalServiceCategory === AdditionalServiceCategory.Ars) {
|
||||
statusText = getArsPaymentStatusName(paymentStatus)
|
||||
@@ -337,7 +338,7 @@ export const ListItem = ({
|
||||
const getTitle = () => {
|
||||
let str: string | undefined = '';
|
||||
if (additionalServiceCategory === AdditionalServiceCategory.KeyInPayment) {
|
||||
str = `${tid}(${amount})`;
|
||||
str = `${transactionCode}`;
|
||||
}
|
||||
else if (additionalServiceCategory === AdditionalServiceCategory.AccountHolderAuth) {
|
||||
str = `${accountName}(${accountNo})`;
|
||||
@@ -363,10 +364,15 @@ export const ListItem = ({
|
||||
str = `${accountName}(${accountNo})`;
|
||||
}
|
||||
else if (additionalServiceCategory === AdditionalServiceCategory.SMSPayment) {
|
||||
str = `${paymentDate}(${paymentStatus})[추후 수정 필요]`
|
||||
if (buyerPhoneLast4) {
|
||||
str = `${buyerName}(${buyerPhoneLast4})`
|
||||
} else {
|
||||
str = `${buyerName}`
|
||||
}
|
||||
|
||||
}
|
||||
else if (additionalServiceCategory === AdditionalServiceCategory.Ars) {
|
||||
str = '이름(' + tid + ')';
|
||||
str = `${buyerName}(${tid})`;
|
||||
}
|
||||
else if (additionalServiceCategory === AdditionalServiceCategory.Alimtalk) {
|
||||
str = `${receiverName}(${getAlimtalkSendTypeText(sendType)})`;
|
||||
@@ -493,7 +499,7 @@ export const ListItem = ({
|
||||
<span className="separator">|</span>
|
||||
<span>{getArsOrderStatusName(orderStatus)}</span>
|
||||
<span className="separator">|</span>
|
||||
<span>{arsPaymentMethod}</span>
|
||||
<span>{transactionType}</span>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -625,12 +631,12 @@ export const ListItem = ({
|
||||
>{getAlimtalkSendClTypeText(sendCl)}</div>
|
||||
);
|
||||
}
|
||||
else if (additionalServiceCategory === AdditionalServiceCategory.SMSPayment && onResendClick && tid) {
|
||||
else if (additionalServiceCategory === AdditionalServiceCategory.SMSPayment && onResendClick && resendEnabled) {
|
||||
rs.push(
|
||||
<div
|
||||
key="sms-payment-amount"
|
||||
className={`status-label success`}
|
||||
onClick={() => mid && tid && onResendClick(mid, tid)}
|
||||
onClick={() => mid && onResendClick(mid, tid || '')}
|
||||
>{'재발송'}</div>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -30,8 +30,8 @@ export const SmsPaymentFilter = ({
|
||||
const [filterMid, setFilterMid] = useState<string>(mid);
|
||||
const [filterSearchCl, setFilterSearchCl] = useState<SmsPaymentSearchCl>(searchCl);
|
||||
const [filterSearchValue, setFilterSearchValue] = useState<string>(searchValue);
|
||||
const [filterFromDate, setFilterFromDate] = useState<string>(moment(fromDate).format('YYYY.MM.DD'));
|
||||
const [filterToDate, setFilterToDate] = useState<string>(moment(toDate).format('YYYY.MM.DD'));
|
||||
const [filterFromDate, setFilterFromDate] = useState<string>(moment(fromDate).format('YYYYMMDD'));
|
||||
const [filterToDate, setFilterToDate] = useState<string>(moment(toDate).format('YYYYMMDD'));
|
||||
const [filterSmsCl, setFilterSmsCl] = useState<SmsCl>(smsCl);
|
||||
|
||||
const midOptions = useStore.getState().UserStore.selectOptionsMids;
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import { SmsPaymentListItem, SmsPaymentListProps } from '../../model/sms-payment/types';
|
||||
import { AdditionalServiceCategory } from '../../model/types';
|
||||
import { SmsPaymentListProps } from '../../model/sms-payment/types';
|
||||
import { ListDateGroup } from '../list-date-group';
|
||||
|
||||
export const SmsPaymentList = ({
|
||||
@@ -16,24 +15,26 @@ export const SmsPaymentList = ({
|
||||
for (let i = 0; i < listItems.length; i++) {
|
||||
let items = listItems[i];
|
||||
if(!!items) {
|
||||
let paymentDate = items?.paymentDate;
|
||||
paymentDate = paymentDate?.substring(0, 8);
|
||||
if(!!paymentDate) {
|
||||
let sendDate = items?.sendDate;
|
||||
sendDate = sendDate?.substring(0, 8);
|
||||
if(!!sendDate) {
|
||||
if(i === 0) {
|
||||
date = paymentDate;
|
||||
date = sendDate;
|
||||
}
|
||||
if(date !== paymentDate) {
|
||||
if(date !== sendDate) {
|
||||
if(list.length > 0) {
|
||||
rs.push(
|
||||
<ListDateGroup
|
||||
onResendClick={onResendClick}
|
||||
additionalServiceCategory={additionalServiceCategory}
|
||||
key={ date + '-' + i}
|
||||
mid={mid}
|
||||
date={ date }
|
||||
items={ list }
|
||||
></ListDateGroup>
|
||||
);
|
||||
}
|
||||
date = paymentDate;
|
||||
date = sendDate;
|
||||
list = [];
|
||||
}
|
||||
list.push(items);
|
||||
|
||||
@@ -9,13 +9,15 @@ export interface LoginTypeBottomSheetProps {
|
||||
loginType: LoginType;
|
||||
setLoginType: (loginType: string) => void;
|
||||
onBiometricRegistered?: () => void;
|
||||
isAndroid: boolean;
|
||||
};
|
||||
|
||||
export const LoginTypeBottomSheet = ({
|
||||
setLoginTypeBottomSheetOn,
|
||||
loginType,
|
||||
setLoginType,
|
||||
onBiometricRegistered
|
||||
onBiometricRegistered,
|
||||
isAndroid
|
||||
}: LoginTypeBottomSheetProps) => {
|
||||
const { t } = useTranslation();
|
||||
const { registerBiometric, setLoginType: setLoginTypeNative } = useAppBridge();
|
||||
@@ -25,21 +27,31 @@ export const LoginTypeBottomSheet = ({
|
||||
};
|
||||
const onChangeLoginType = async (type: string) => {
|
||||
if (loginType !== type) {
|
||||
if (type === 'BIOMETRIC') {
|
||||
onClickToClose();
|
||||
registerBiometric().then(() => {
|
||||
onBiometricRegistered?.();
|
||||
}).catch(() => {
|
||||
// 에러 처리
|
||||
});
|
||||
} else {
|
||||
if (isAndroid) {
|
||||
setLoginTypeNative(type).then(() => {
|
||||
setLoginType(type);
|
||||
setLoginType(type);
|
||||
onClickToClose();
|
||||
}).catch(() => {
|
||||
onClickToClose();
|
||||
});
|
||||
} else {
|
||||
if (type === 'BIOMETRIC') {
|
||||
onClickToClose();
|
||||
}).catch(() => {
|
||||
onClickToClose();
|
||||
});
|
||||
registerBiometric().then(() => {
|
||||
onBiometricRegistered?.();
|
||||
}).catch(() => {
|
||||
// 에러 처리
|
||||
});
|
||||
} else {
|
||||
setLoginTypeNative(type).then(() => {
|
||||
setLoginType(type);
|
||||
onClickToClose();
|
||||
}).catch(() => {
|
||||
onClickToClose();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
@@ -55,9 +67,9 @@ export const LoginTypeBottomSheet = ({
|
||||
type="button"
|
||||
>
|
||||
<img
|
||||
src={ IMAGE_ROOT + '/ico_close.svg' }
|
||||
src={IMAGE_ROOT + '/ico_close.svg'}
|
||||
alt={t('common.close')}
|
||||
onClick={ onClickToClose }
|
||||
onClick={onClickToClose}
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
@@ -67,12 +79,12 @@ export const LoginTypeBottomSheet = ({
|
||||
<div className="bottom-section">
|
||||
<ul className="list-style-circle link">
|
||||
<li
|
||||
className={ `${(loginType === LoginType.ID)? 'selected': ''}` }
|
||||
onClick={ () => onChangeLoginType('ID') }
|
||||
className={`${(loginType === LoginType.ID) ? 'selected' : ''}`}
|
||||
onClick={() => onChangeLoginType('ID')}
|
||||
>{t('settings.loginType.idPassword')}</li>
|
||||
<li
|
||||
className={ `${(loginType === LoginType.BIOMETRIC)? 'selected': ''}` }
|
||||
onClick={ () => onChangeLoginType('BIOMETRIC') }
|
||||
className={`${(loginType === LoginType.BIOMETRIC) ? 'selected' : ''}`}
|
||||
onClick={() => onChangeLoginType('BIOMETRIC')}
|
||||
>{t('settings.loginType.biometric')}</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user