catch 수정 및 불필요 api 삭제 api 변경 내역 수정

This commit is contained in:
focp212@naver.com
2025-11-07 15:16:14 +09:00
parent e5342f1d0a
commit b5db56fd70
63 changed files with 498 additions and 507 deletions

View File

@@ -82,7 +82,7 @@ export const UserLoginAuthInfoWrap = ({
}
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -9,6 +9,7 @@ import { UserListItem } from '@/entities/user/model/types';
import { useStore } from '@/shared/model/store';
import { checkGrant } from '@/shared/lib/check-grant';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
export const UserManageWrap = () => {
const { t } = useTranslation();
@@ -33,7 +34,7 @@ export const UserManageWrap = () => {
setUserItems(rs.content || []);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -9,6 +9,7 @@ import { useTranslation } from 'react-i18next';
import { DetailMotionDuration, DetailMotionStyle, DetailMotionVariants } from '@/entities/common/model/constant';
import { FullMenuClose } from '@/entities/common/ui/full-menu-close';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
export interface AccountHolderAuthDetailProps {
detailOn: boolean;
@@ -37,7 +38,7 @@ export const AccountHolderAuthDetail = ({
setDetail(rs);
}).catch((e: any) => {
if (e.response?.data?.error?.message) {
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -8,6 +8,7 @@ import { useTranslation } from 'react-i18next';
import { DetailMotionDuration, DetailMotionStyle, DetailMotionVariants } from '@/entities/common/model/constant';
import { FullMenuClose } from '@/entities/common/ui/full-menu-close';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
export interface AccountHolderSearchDetailProps {
detailOn: boolean;
@@ -36,7 +37,7 @@ export const AccountHolderSearchDetail = ({
setDetail(rs);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -10,6 +10,7 @@ import { useTranslation } from 'react-i18next';
import { DetailMotionDuration, DetailMotionStyle, DetailMotionVariants } from '@/entities/common/model/constant';
import { FullMenuClose } from '@/entities/common/ui/full-menu-close';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
export interface AlimtalkDetailProps {
detailOn: boolean;
@@ -43,7 +44,7 @@ export const AlimtalkDetail = ({
setDetail(rs);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -14,183 +14,183 @@ import { showAlert } from '@/widgets/show-alert';
import { checkGrant } from '@/shared/lib/check-grant';
export interface ArsDetailProps {
detailOn: boolean;
setDetailOn: (detailOn: boolean) => void;
mid: string;
tid: string;
detailOn: boolean;
setDetailOn: (detailOn: boolean) => void;
mid: string;
tid: string;
};
export const ArsDetail = ({
detailOn,
setDetailOn,
mid,
tid
detailOn,
setDetailOn,
mid,
tid
}: ArsDetailProps) => {
const { t } = useTranslation();
const { t } = useTranslation();
const [detail, setDetail] = useState<ExtensionArsDetailResponse>();
const [bottomSheetOn, setBottomSheetOn] = useState<boolean>(false);
const [detail, setDetail] = useState<ExtensionArsDetailResponse>();
const [bottomSheetOn, setBottomSheetOn] = useState<boolean>(false);
const { mutateAsync: extensionArsDetail } = useExtensionArsDetailMutation();
const { mutateAsync: extensionArsResend } = useExtensionArsResendMutation();
const { mutateAsync: extensionArsDetail } = useExtensionArsDetailMutation();
const { mutateAsync: extensionArsResend } = useExtensionArsResendMutation();
const callDetail = () => {
let arsDetailParams: ExtensionArsDetailParams = {
mid: mid,
tid: tid
};
extensionArsDetail(arsDetailParams).then((rs: ExtensionArsDetailResponse) => {
setDetail(rs);
}).catch((e: any) => {
if (e.response?.data?.error?.message) {
showAlert(e.response?.data?.error?.message);
return;
}
});
}
const callDetail = () => {
let arsDetailParams: ExtensionArsDetailParams = {
mid: mid,
tid: tid
};
extensionArsDetail(arsDetailParams).then((rs: ExtensionArsDetailResponse) => {
setDetail(rs);
}).catch((e: any) => {
if (e.response?.data?.error?.message) {
snackBar(e.response?.data?.error?.message);
return;
}
});
}
const arsResend = () => {
let arsResendParams: ExtensionArsResendParams = {
mid: mid,
tid: tid
};
extensionArsResend(arsResendParams).then((rs: ExtensionArsResendResponse) => {
if (rs.status) {
snackBar(t('additionalService.ars.smsResendSuccess'));
setBottomSheetOn(false);
callDetail(); // 상세 정보 갱신
} else {
const errorMessage = rs.error?.message || t('additionalService.ars.smsResendFailed');
snackBar(`[${t('common.failed')}] ${errorMessage}`);
}
}).catch((error) => {
const errorMessage = error?.response?.data?.error?.message ||
error?.message ||
t('additionalService.ars.smsResendError');
snackBar(`[${t('common.failed')}] ${errorMessage}`);
});
}
const arsResend = () => {
let arsResendParams: ExtensionArsResendParams = {
mid: mid,
tid: tid
};
extensionArsResend(arsResendParams).then((rs: ExtensionArsResendResponse) => {
if (rs.status) {
snackBar(t('additionalService.ars.smsResendSuccess'));
setBottomSheetOn(false);
callDetail(); // 상세 정보 갱신
}
else{
const errorMessage = rs.error?.message || t('additionalService.ars.smsResendFailed');
snackBar(`[${t('common.failed')}] ${errorMessage}`);
}
}).catch((error) => {
const errorMessage = error?.response?.data?.error?.message ||
error?.message ||
t('additionalService.ars.smsResendError');
snackBar(`[${t('common.failed')}] ${errorMessage}`);
});
}
const onClickToOpenResendBottomSheet = () => {
if (!checkGrant(52, 'X')) {
showAlert(t('common.nopermission'));
return;
}
setBottomSheetOn(true);
};
const onClickToClose = () => {
setDetailOn(false);
};
const onClickToOpenResendBottomSheet = () => {
if(!checkGrant(52, 'X')){
showAlert(t('common.nopermission'));
return;
}
setBottomSheetOn(true);
};
const onClickToClose = () => {
setDetailOn(false);
};
const getDate = (date?: string) => {
return (date) ? moment(date.substr(0, 8)).format('YYYY.MM.DD') : '';
};
const getDate = (date?: string) => {
return (date) ? moment(date.substr(0, 8)).format('YYYY.MM.DD') : '';
};
useEffect(() => {
if (!!mid && !!tid) {
callDetail();
}
}, [mid, tid]);
useEffect(() => {
if (!!mid && !!tid) {
callDetail();
}
}, [mid, tid]);
return (
<>
<motion.div
className="full-menu-modal"
initial="hidden"
animate={(detailOn) ? 'visible' : 'hidden'}
variants={DetailMotionVariants}
transition={DetailMotionDuration}
style={DetailMotionStyle}
>
<div className="full-menu-container pdw-16">
<div className="full-menu-header">
<div className="full-menu-title center">{t('additionalService.ars.detailTitle')}</div>
<div className="full-menu-actions">
<FullMenuClose
addClass="full-menu-close"
onClickToCallback={onClickToClose}
></FullMenuClose>
</div>
</div>
<div className="pay-top">
<div className="num-amount">
<span className="amount">
{t('home.money', { value: new Intl.NumberFormat('en-US').format(Number(detail?.amount) || 0) })}
</span>
</div>
<div className="num-store">{detail?.corpName}</div>
<div className="num-day">{getDate(detail?.paymentDate)}</div>
</div>
<div className="detail-divider"></div>
<div className="pay-detail">
<div className="detail-title">{t('additionalService.ars.transactionInfo')}</div>
<ul className="kv-list">
<li className="kv-row">
<span className="k">{t('transaction.fields.mid')}</span>
<span className="v">{detail?.mid}</span>
</li>
<li className="kv-row">
<span className="k">{t('additionalService.ars.paymentMethod')}</span>
<span className="v">{detail?.arsPaymentMethod}</span>
</li>
<li className="kv-row">
<span className="k">{t('additionalService.ars.paymentStatus')}</span>
<span className="v">{getArsPaymentStatusName(t)(detail?.paymentStatus)}</span>
</li>
<li className="kv-row">
<span className="k">{t('additionalService.ars.orderStatus')}</span>
<span className="v">{getArsOrderStatusName(t)(detail?.orderStatus)}</span>
</li>
<li className="kv-row">
<span className="k">{t('additionalService.ars.orderDateTime')}</span>
<span className="v">{
detail?.paymentDate ? moment(detail.paymentDate, 'YYYYMMDDHHmmss').format('YYYY.MM.DD HH:mm:ss') : '-'
}</span>
</li>
<li className="kv-row">
<span className="k">{t('additionalService.ars.productName')}</span>
<span className="v">{detail?.goodsName}</span>
</li>
<li className="kv-row">
<span className="k">{t('additionalService.ars.orderNumber')}</span>
<span className="v">{detail?.tid}</span>
</li>
<li className="kv-row">
<span className="k">{t('additionalService.ars.buyer')}</span>
<span className="v">{detail?.buyerName}</span>
</li>
<li className="kv-row">
<span className="k">{t('additionalService.ars.phoneNumber')}</span>
<span className="v">{detail?.maskPhoneNumber}</span>
</li>
<li className="kv-row">
<span className="k">{t('additionalService.ars.email')}</span>
<span className="v">{detail?.email}</span>
</li>
<li className="kv-row">
<span className="k">{t('additionalService.ars.sendVerificationCode')}</span>
<span className="v">{detail?.smsVerificationCode}</span>
</li>
</ul>
</div>
{detail?.arsPaymentMethod === ArsPaymentMethod.SMS && (
<div className="apply-row">
<button
className="btn-50 btn-blue flex-1"
onClick={() => onClickToOpenResendBottomSheet()}
//disabled={ detail?.orderStatus !== OrderStatus.PENDING }
>{t('additionalService.ars.smsResend')}</button>
</div>
)}
</div>
<ArsResendSmsBottomSheet
setBottomSheetOn={setBottomSheetOn}
bottomSheetOn={bottomSheetOn}
phoneNumber={detail?.phoneNumber}
callResendSms={arsResend}
></ArsResendSmsBottomSheet>
</motion.div>
</>
)
}
return (
<>
<motion.div
className="full-menu-modal"
initial="hidden"
animate={(detailOn) ? 'visible' : 'hidden'}
variants={DetailMotionVariants}
transition={DetailMotionDuration}
style={DetailMotionStyle}
>
<div className="full-menu-container pdw-16">
<div className="full-menu-header">
<div className="full-menu-title center">{t('additionalService.ars.detailTitle')}</div>
<div className="full-menu-actions">
<FullMenuClose
addClass="full-menu-close"
onClickToCallback={onClickToClose}
></FullMenuClose>
</div>
</div>
<div className="pay-top">
<div className="num-amount">
<span className="amount">
{t('home.money', { value: new Intl.NumberFormat('en-US').format(Number(detail?.amount) || 0) })}
</span>
</div>
<div className="num-store">{detail?.corpName}</div>
<div className="num-day">{getDate(detail?.paymentDate)}</div>
</div>
<div className="detail-divider"></div>
<div className="pay-detail">
<div className="detail-title">{t('additionalService.ars.transactionInfo')}</div>
<ul className="kv-list">
<li className="kv-row">
<span className="k">{t('transaction.fields.mid')}</span>
<span className="v">{detail?.mid}</span>
</li>
<li className="kv-row">
<span className="k">{t('additionalService.ars.paymentMethod')}</span>
<span className="v">{detail?.arsPaymentMethod}</span>
</li>
<li className="kv-row">
<span className="k">{t('additionalService.ars.paymentStatus')}</span>
<span className="v">{getArsPaymentStatusName(t)(detail?.paymentStatus)}</span>
</li>
<li className="kv-row">
<span className="k">{t('additionalService.ars.orderStatus')}</span>
<span className="v">{getArsOrderStatusName(t)(detail?.orderStatus)}</span>
</li>
<li className="kv-row">
<span className="k">{t('additionalService.ars.orderDateTime')}</span>
<span className="v">{
detail?.paymentDate ? moment(detail.paymentDate, 'YYYYMMDDHHmmss').format('YYYY.MM.DD HH:mm:ss') : '-'
}</span>
</li>
<li className="kv-row">
<span className="k">{t('additionalService.ars.productName')}</span>
<span className="v">{detail?.goodsName}</span>
</li>
<li className="kv-row">
<span className="k">{t('additionalService.ars.orderNumber')}</span>
<span className="v">{detail?.tid}</span>
</li>
<li className="kv-row">
<span className="k">{t('additionalService.ars.buyer')}</span>
<span className="v">{detail?.buyerName}</span>
</li>
<li className="kv-row">
<span className="k">{t('additionalService.ars.phoneNumber')}</span>
<span className="v">{detail?.maskPhoneNumber}</span>
</li>
<li className="kv-row">
<span className="k">{t('additionalService.ars.email')}</span>
<span className="v">{detail?.email}</span>
</li>
<li className="kv-row">
<span className="k">{t('additionalService.ars.sendVerificationCode')}</span>
<span className="v">{detail?.smsVerificationCode}</span>
</li>
</ul>
</div>
{ detail?.arsPaymentMethod === ArsPaymentMethod.SMS && (
<div className="apply-row">
<button
className="btn-50 btn-blue flex-1"
onClick={() => onClickToOpenResendBottomSheet()}
//disabled={ detail?.orderStatus !== OrderStatus.PENDING }
>{t('additionalService.ars.smsResend')}</button>
</div>
)}
</div>
<ArsResendSmsBottomSheet
setBottomSheetOn={setBottomSheetOn}
bottomSheetOn={bottomSheetOn}
phoneNumber={detail?.phoneNumber}
callResendSms={arsResend}
></ArsResendSmsBottomSheet>
</motion.div>
</>
);
};

View File

@@ -14,6 +14,7 @@ import { EmailBottomSheet } from '@/entities/common/ui/email-bottom-sheet';
import { DetailMotionDuration, DetailMotionStyle, DetailMotionVariants } from '@/entities/common/model/constant';
import { FullMenuClose } from '@/entities/common/ui/full-menu-close';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
export interface FundAccountResultDetailProps {
detailOn: boolean;
@@ -46,7 +47,7 @@ export const FundAccountResultDetail = ({
setDetail(rs);
}).catch((e: any) => {
if (e.response?.data?.error?.message) {
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});
@@ -67,7 +68,7 @@ export const FundAccountResultDetail = ({
console.log('Receipt Download Status:', rs);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -45,7 +45,7 @@ export const FundAccountTransferDetail = ({
setDetail(rs);
}).catch((e: any) => {
if (e.response?.data?.error?.message) {
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});;

View File

@@ -21,6 +21,7 @@ import { useTranslation } from 'react-i18next';
import { FundAccountResultDetail } from './detail/result-detail';
import { checkGrant } from '@/shared/lib/check-grant';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
export const FundAccountResultListWrap = () => {
const { navigate } = useNavigate();
@@ -128,7 +129,7 @@ export const FundAccountResultListWrap = () => {
);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});
@@ -149,7 +150,7 @@ export const FundAccountResultListWrap = () => {
setTotalFailAmount(rs.totalFailAmount);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});
@@ -176,7 +177,7 @@ export const FundAccountResultListWrap = () => {
console.log('Excel Download Status:', rs);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -30,6 +30,7 @@ import { useTranslation } from 'react-i18next';
import { FundAccountTransferDetail } from './detail/transfer-detail';
import { checkGrant } from '@/shared/lib/check-grant';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
export const FundAccountTransferListWrap = () => {
const { navigate } = useNavigate();
@@ -126,7 +127,7 @@ export const FundAccountTransferListWrap = () => {
);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});
@@ -160,7 +161,7 @@ export const FundAccountTransferListWrap = () => {
console.log('Excel Download Status:', rs.status);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});
@@ -176,7 +177,7 @@ export const FundAccountTransferListWrap = () => {
setBalance(rs.balance);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -70,7 +70,7 @@ export const LinkPaymentHistoryDetail = ({
setDetailExposure(rs.detailExposure ?? false)
}).catch((e: any) => {
if (e.response?.data?.error?.message) {
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -45,7 +45,7 @@ export const LinkPaymentWaitDetail = ({
setPaymentInfo(rs.paymentInfo)
}).catch((e: any) => {
if (e.response?.data?.error?.message) {
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -19,6 +19,7 @@ import { useTranslation } from 'react-i18next';
import { LinkPaymentHistoryDetail } from './detail/link-payment-history-detail';
import { checkGrant } from '@/shared/lib/check-grant';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
const getPaymentResultBtnGroup = (t: any) => [
{ name: t('additionalService.linkPayment.all'), value: LinkPaymentPaymentStatus.ALL },
@@ -137,7 +138,7 @@ export const LinkPaymentHistoryWrap = () => {
);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});
@@ -168,7 +169,7 @@ export const LinkPaymentHistoryWrap = () => {
console.log('Excel Download Status: ' + rs.status);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -20,6 +20,7 @@ import { useTranslation } from 'react-i18next';
import { LinkPaymentWaitDetail } from './detail/link-payment-wait-detail';
import { checkGrant } from '@/shared/lib/check-grant';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
export const LinkPaymentWaitSendWrap = () => {
@@ -148,7 +149,7 @@ export const LinkPaymentWaitSendWrap = () => {
console.log('Excel Download Status: ' + rs.status);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -11,206 +11,200 @@ import { DownloadTypeBottomSheet } from '@/entities/common/ui/download-type-bott
import { EmailBottomSheet } from '@/entities/common/ui/email-bottom-sheet';
import { showAlert } from '@/widgets/show-alert';
import { checkGrant } from '@/shared/lib/check-grant';
import { snackBar } from '@/shared/lib';
export interface PayoutDetailProps {
detailOn: boolean;
setDetailOn: (detailOn: boolean) => void;
mid: string;
tid: string;
detailOn: boolean;
setDetailOn: (detailOn: boolean) => void;
mid: string;
tid: string;
};
export const PayoutDetail = ({
detailOn,
setDetailOn,
mid,
tid
detailOn,
setDetailOn,
mid,
tid
}: PayoutDetailProps) => {
const { t } = useTranslation();
const { t } = useTranslation();
const [detail, setDetail] = useState<ExtensionPayoutDetailResponse>();
const [downloadTypeBottomSheetOn, setDownloadTypeBottomSheetOn] = useState<boolean>(false);
const [emailBottomSheetOn, setEmailBottomSheetOn] = useState<boolean>(false);
const [detail, setDetail] = useState<ExtensionPayoutDetailResponse>();
const [downloadTypeBottomSheetOn, setDownloadTypeBottomSheetOn] = useState<boolean>(false);
const [emailBottomSheetOn, setEmailBottomSheetOn] = useState<boolean>(false);
const { mutateAsync: extensionPayoutDetail } = useExtensionPayoutDetailMutation();
const { mutateAsync: extensionPayoutDetailDownloadCertification } = useExtensionPayoutDetailDownloadCertificateMutation();
const { mutateAsync: extensionPayoutDetail } = useExtensionPayoutDetailMutation();
const { mutateAsync: extensionPayoutDetailDownloadCertification } = useExtensionPayoutDetailDownloadCertificateMutation();
const callDetail = () => {
let params: ExtensionPayoutDetailParams = {
tid: tid,
mid: mid,
};
extensionPayoutDetail(params).then((rs: ExtensionPayoutDetailResponse) => {
setDetail(rs);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
snackBar(e.response?.data?.error?.message);
return;
}
});
}
const callDetail = () => {
let params: ExtensionPayoutDetailParams = {
tid: tid,
mid: mid,
};
extensionPayoutDetail(params).then((rs: ExtensionPayoutDetailResponse) => {
setDetail(rs);
}).catch((e: any) => {
if (e.response?.data?.error?.message) {
showAlert(e.response?.data?.error?.message);
return;
}
});
}
const onClickToDownload = () => {
if(!checkGrant(53, 'D')){
showAlert(t('common.nopermission'));
return;
}
setDownloadTypeBottomSheetOn(true);
};
const onClickToDownload = () => {
if (!checkGrant(53, 'D')) {
showAlert(t('common.nopermission'));
return;
}
setDownloadTypeBottomSheetOn(true);
};
const onSelectDownloadType = (type: 'IMAGE' | 'EMAIL') => {
if(type === 'IMAGE'){
// Save image directly
const params: ExtensionPayoutDetailDownloadCertificateParams = {
mid: mid,
tid: tid,
requestType: 'IMAGE',
email: ''
};
extensionPayoutDetailDownloadCertification(params).then((rs: ExtensionPayoutDetailDownloadCertificateResponse) => {
console.log('Certificate Download Status:', rs);
}).catch((error) => {
console.error('Certificate Download Failed:', error);
});
}
else{
// Open EmailBottomSheet for email option
setEmailBottomSheetOn(true);
}
};
const onSelectDownloadType = (type: 'IMAGE' | 'EMAIL') => {
if (type === 'IMAGE') {
// Save image directly
const params: ExtensionPayoutDetailDownloadCertificateParams = {
mid: mid,
tid: tid,
requestType: 'IMAGE',
email: ''
};
extensionPayoutDetailDownloadCertification(params)
.then((rs: ExtensionPayoutDetailDownloadCertificateResponse) => {
console.log('Certificate Download Status:', rs);
})
.catch((error) => {
console.error('Certificate Download Failed:', error);
});
} else {
// Open EmailBottomSheet for email option
setEmailBottomSheetOn(true);
}
};
const onSendRequest = (selectedEmail?: string) => {
if(selectedEmail){
const params: ExtensionPayoutDetailDownloadCertificateParams = {
mid: mid,
tid: tid,
requestType: 'EMAIL',
email: selectedEmail
};
extensionPayoutDetailDownloadCertification(params).then((rs: ExtensionPayoutDetailDownloadCertificateResponse) => {
console.log('Certificate Download Status:', rs);
}).catch((error) => {
console.error('Certificate Download Failed:', error);
});
}
setEmailBottomSheetOn(false);
};
const onSendRequest = (selectedEmail?: string) => {
if (selectedEmail) {
const params: ExtensionPayoutDetailDownloadCertificateParams = {
mid: mid,
tid: tid,
requestType: 'EMAIL',
email: selectedEmail
};
extensionPayoutDetailDownloadCertification(params)
.then((rs: ExtensionPayoutDetailDownloadCertificateResponse) => {
console.log('Certificate Download Status:', rs);
})
.catch((error) => {
console.error('Certificate Download Failed:', error);
});
}
setEmailBottomSheetOn(false);
};
const onClickToClose = () => {
setDetailOn(false);
};
const onClickToClose = () => {
setDetailOn(false);
};
useEffect(() => {
if (!!mid && !!tid) {
callDetail();
}
}, [mid, tid]);
useEffect(() => {
if (!!mid && !!tid) {
callDetail();
}
}, [mid, tid]);
return (
<>
<motion.div
className="full-menu-modal"
initial="hidden"
animate={(detailOn) ? 'visible' : 'hidden'}
variants={DetailMotionVariants}
transition={DetailMotionDuration}
style={DetailMotionStyle}
>
<div className="full-menu-container pdw-16">
<div className="full-menu-header">
<div className="full-menu-title center">{t('additionalService.payout.detailTitle')}</div>
<div className="full-menu-actions">
<FullMenuClose
addClass="full-menu-close"
onClickToCallback={onClickToClose}
></FullMenuClose>
</div>
</div>
<div className="pay-top">
<div className="num-amount">
<span className="amount">
{t('home.money', { value: new Intl.NumberFormat('en-US').format(detail?.disbursementAmount || 0) })}
</span>
</div>
<div className="num-store">{detail?.companyName}</div>
<div className="num-day">{moment(detail?.settlementDate).format('YYYY.MM.DD')}</div>
<div className="receipt-row">
<button
className="receipt-btn"
type="button"
onClick={onClickToDownload}
>
<span className="icon-24 download"></span>
<span>{t('additionalService.payout.depositCertificate')}</span>
</button>
</div>
</div>
<div className="detail-divider"></div>
<div className="pay-detail">
<div className="detail-title">{t('additionalService.payout.detailInfo')}</div>
<ul className="kv-list">
<li className="kv-row">
<span className="k">{t('additionalService.payout.disbursementStatus')}</span>
<span className="v">{detail?.disbursementStatus}</span>
</li>
<li className="kv-row">
<span className="k">{t('additionalService.payout.transactionType')}</span>
<span className="v">{detail?.transTypeName}</span>
</li>
<li className="kv-row">
<span className="k">{t('common.requestDate')}</span>
<span className="v">{moment(detail?.requestDate).format('YYYY.MM.DD')}</span>
</li>
<li className="kv-row">
<span className="k">{t('additionalService.payout.disbursementDateTime')}</span>
<span className="v">{detail?.settlementDateTime ? moment(detail?.settlementDateTime, 'YYYYMMDDHHmmss').format('YYYY.MM.DD HH:mm:ss') : ""}</span>
</li>
<li className="kv-row">
<span className="k">{t('additionalService.payout.businessNumber')}</span>
<span className="v">{detail?.companyNo}</span>
</li>
<li className="kv-row">
<span className="k">{t('additionalService.payout.accountHolder')}</span>
<span className="v">{detail?.accountName}</span>
</li>
<li className="kv-row">
<span className="k">{t('additionalService.payout.bank')}</span>
<span className="v">{detail?.bankName}</span>
</li>
<li className="kv-row">
<span className="k">{t('additionalService.payout.accountNumber')}</span>
<span className="v">{detail?.accountNo}</span>
</li>
<li className="kv-row">
<span className="k">{t('additionalService.payout.depositor')}</span>
<span className="v">{detail?.depositName}</span>
</li>
<li className="kv-row">
<span className="k">{t('additionalService.payout.failureReason')}</span>
<span className="v">{detail?.failReason}</span>
</li>
</ul>
</div>
</div>
<DownloadTypeBottomSheet
bottomSheetOn={downloadTypeBottomSheetOn}
setBottomSheetOn={setDownloadTypeBottomSheetOn}
onSelectType={onSelectDownloadType}
/>
<EmailBottomSheet
bottomSheetOn={emailBottomSheetOn}
setBottomSheetOn={setEmailBottomSheetOn}
imageSave={false}
sendEmail={true}
sendRequest={onSendRequest}
/>
</motion.div>
</>
)
}
return (
<>
<motion.div
className="full-menu-modal"
initial="hidden"
animate={(detailOn) ? 'visible' : 'hidden'}
variants={DetailMotionVariants}
transition={DetailMotionDuration}
style={DetailMotionStyle}
>
<div className="full-menu-container pdw-16">
<div className="full-menu-header">
<div className="full-menu-title center">{t('additionalService.payout.detailTitle')}</div>
<div className="full-menu-actions">
<FullMenuClose
addClass="full-menu-close"
onClickToCallback={onClickToClose}
></FullMenuClose>
</div>
</div>
<div className="pay-top">
<div className="num-amount">
<span className="amount">
{t('home.money', { value: new Intl.NumberFormat('en-US').format(detail?.disbursementAmount || 0) })}
</span>
</div>
<div className="num-store">{detail?.companyName}</div>
<div className="num-day">{moment(detail?.settlementDate).format('YYYY.MM.DD')}</div>
<div className="receipt-row">
<button
className="receipt-btn"
type="button"
onClick={onClickToDownload}
>
<span className="icon-24 download"></span>
<span>{t('additionalService.payout.depositCertificate')}</span>
</button>
</div>
</div>
<div className="detail-divider"></div>
<div className="pay-detail">
<div className="detail-title">{t('additionalService.payout.detailInfo')}</div>
<ul className="kv-list">
<li className="kv-row">
<span className="k">{t('additionalService.payout.disbursementStatus')}</span>
<span className="v">{detail?.disbursementStatus}</span>
</li>
<li className="kv-row">
<span className="k">{t('additionalService.payout.transactionType')}</span>
<span className="v">{detail?.transTypeName}</span>
</li>
<li className="kv-row">
<span className="k">{t('common.requestDate')}</span>
<span className="v">{moment(detail?.requestDate).format('YYYY.MM.DD')}</span>
</li>
<li className="kv-row">
<span className="k">{t('additionalService.payout.disbursementDateTime')}</span>
<span className="v">{detail?.settlementDateTime ? moment(detail?.settlementDateTime, 'YYYYMMDDHHmmss').format('YYYY.MM.DD HH:mm:ss') : ""}</span>
</li>
<li className="kv-row">
<span className="k">{t('additionalService.payout.businessNumber')}</span>
<span className="v">{detail?.companyNo}</span>
</li>
<li className="kv-row">
<span className="k">{t('additionalService.payout.accountHolder')}</span>
<span className="v">{detail?.accountName}</span>
</li>
<li className="kv-row">
<span className="k">{t('additionalService.payout.bank')}</span>
<span className="v">{detail?.bankName}</span>
</li>
<li className="kv-row">
<span className="k">{t('additionalService.payout.accountNumber')}</span>
<span className="v">{detail?.accountNo}</span>
</li>
<li className="kv-row">
<span className="k">{t('additionalService.payout.depositor')}</span>
<span className="v">{detail?.depositName}</span>
</li>
<li className="kv-row">
<span className="k">{t('additionalService.payout.failureReason')}</span>
<span className="v">{detail?.failReason}</span>
</li>
</ul>
</div>
</div>
<DownloadTypeBottomSheet
bottomSheetOn={downloadTypeBottomSheetOn}
setBottomSheetOn={setDownloadTypeBottomSheetOn}
onSelectType={onSelectDownloadType}
/>
<EmailBottomSheet
bottomSheetOn={emailBottomSheetOn}
setBottomSheetOn={setEmailBottomSheetOn}
imageSave={false}
sendEmail={true}
sendRequest={onSendRequest}
/>
</motion.div>
</>
);
};

View File

@@ -8,6 +8,7 @@ import { useStore } from '@/shared/model/store';
import { useEffect, useState } from 'react';
import { useTranslation } from 'react-i18next';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
export interface AlarmItemProps {
@@ -69,7 +70,7 @@ export const AlarmItem = ({
console.log(rs);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
}).finally(() => {

View File

@@ -11,6 +11,7 @@ import { useStore } from '@/shared/model/store';
import { DefaultRequestPagination } from '@/entities/common/model/types';
import { AlarmRoutes } from './alarm-routes';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
export interface AlarmListProps {
appNotificationCategory: string;
@@ -95,7 +96,7 @@ export const AlarmList = ({
}
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -14,6 +14,7 @@ import { useStore } from '@/shared/model/store';
import { useTranslation } from 'react-i18next';
import { showAlert } from '@/widgets/show-alert';
import { checkGrant } from '@/shared/lib/check-grant';
import { snackBar } from '@/shared/lib';
export const BoxContainer1 = () => {
const { navigate } = useNavigate();
@@ -57,7 +58,7 @@ export const BoxContainer1 = () => {
setSettlement(rs.settlement);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -10,6 +10,7 @@ import { useStore } from '@/shared/model/store';
import { useTranslation } from 'react-i18next';
import { showAlert } from '@/widgets/show-alert';
import { checkGrant } from '@/shared/lib/check-grant';
import { snackBar } from '@/shared/lib';
export const BoxContainer2 = () => {
const { navigate } = useNavigate();
@@ -61,7 +62,7 @@ export const BoxContainer2 = () => {
}
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});
@@ -81,7 +82,7 @@ export const BoxContainer2 = () => {
setTopPaymentMethodInfo(rs.topPaymentMethodInfo);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -12,6 +12,7 @@ import {
HomeBannerListResponse
} from '../model/types';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
export const HomeBannerList = () => {
@@ -34,7 +35,7 @@ export const HomeBannerList = () => {
}
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
}).finally(() => {

View File

@@ -6,6 +6,7 @@ import { HomeNoticeItem } from './home-notice-item';
import { useTranslation } from 'react-i18next';
import { NoticeDetail } from '@/entities/support/ui/detail/notice-detail';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
export const HomeNoticeList = () => {
const { t } = useTranslation();
@@ -54,7 +55,7 @@ export const HomeNoticeList = () => {
setResultList(rs.content);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -11,6 +11,7 @@ import {
} from '../model/types';
import { useStore } from '@/shared/model/store';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
export const InfoWrap = () => {
const { t } = useTranslation();
@@ -35,7 +36,7 @@ export const InfoWrap = () => {
setData(rs);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -15,6 +15,7 @@ import { CardSection } from './section/card-section';
import { EscrowSection } from './section/escrow-section';
import { useStore } from '@/shared/model/store';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
export const RegistrationStatusWrap = () => {
const { t } = useTranslation();
@@ -44,7 +45,7 @@ export const RegistrationStatusWrap = () => {
setEscrow(rs.escrow);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -34,6 +34,7 @@ import { usePaymentNonCardMutation } from '../api/use-payment-non-card-mutation'
import { usePaymentInstallmentMutation } from '../api/use-payment-installment-mutation';
import { useStore } from '@/shared/model/store';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
export const InfoWrap = () => {
const { t } = useTranslation();
@@ -158,7 +159,7 @@ export const InfoWrap = () => {
setMoneyPointTabItems(rs.moneyPointTab.items);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});
@@ -179,7 +180,7 @@ export const InfoWrap = () => {
setFeeRate(rs.otherPaymentData.feeRate);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});
@@ -195,7 +196,7 @@ export const InfoWrap = () => {
setInstallmentData(rs.installmentData);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});
@@ -220,7 +221,7 @@ export const InfoWrap = () => {
}
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -5,6 +5,7 @@ import { usePaymentNotificationDataMutation } from '../api/use-payment-notificat
import { useStore } from '@/shared/model/store';
import { NotifyRow } from './section/notify-row';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
export const NotificationDataWrap = () => {
const { t } = useTranslation();
@@ -40,7 +41,7 @@ export const NotificationDataWrap = () => {
setEscrowPayment(rs?.escrowPayment.detail);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -14,6 +14,7 @@ import {
} from '../model/types';
import { useStore } from '@/shared/model/store';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
export const CalendarWrap = () => {
const { t, i18n } = useTranslation();
@@ -72,7 +73,7 @@ export const CalendarWrap = () => {
}
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
}).finally(() => {

View File

@@ -74,7 +74,7 @@ export const SettlementDetail = ({
}
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});
@@ -94,7 +94,7 @@ export const SettlementDetail = ({
setMerchantName(rs.merchantName);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -38,6 +38,7 @@ import { useTranslation } from 'react-i18next';
import { SettlementDetail } from './detail/settlement-detail';
import { showAlert } from '@/widgets/show-alert';
import { checkGrant } from '@/shared/lib/check-grant';
import { snackBar } from '@/shared/lib';
export interface ListWrapProps {
startDateFromCalendar?: string;
@@ -170,7 +171,7 @@ export const ListWrap = ({
);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});
@@ -184,7 +185,7 @@ export const ListWrap = ({
setOffsetAmount(rs.offsetAmount || 0);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});
@@ -243,7 +244,7 @@ export const ListWrap = ({
);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});
@@ -258,7 +259,7 @@ export const ListWrap = ({
setPreSettlementCancelOffset(rs.preSettlementCancelOffset);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -8,6 +8,7 @@ import moment from 'moment';
import { DetailMotionDuration, DetailMotionStyle, DetailMotionVariants } from '@/entities/common/model/constant';
import { FullMenuClose } from '@/entities/common/ui/full-menu-close';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
export interface NoticeDetaillProps {
detailOn: boolean;
@@ -32,7 +33,7 @@ export const NoticeDetail = ({
setResult(rs);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -7,6 +7,7 @@ import { DetailMotionDuration, DetailMotionStyle, DetailMotionVariants } from '@
import { FullMenuClose } from '@/entities/common/ui/full-menu-close';
import { useQnaDetailMutation } from '../../api/use-qna-detail-mutation';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
export interface qnaDetaillProps {
detailOn: boolean;
@@ -31,7 +32,7 @@ export const QnaDetail = ({
setResult(rs);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -1,39 +0,0 @@
import axios from 'axios';
import { API_URL_TRANSACTION } from '@/shared/api/api-url-transaction';
import { resultify } from '@/shared/lib/resultify';
import { NiceAxiosError } from '@/shared/@types/error';
import {
DownloadConfirmationParams,
DownloadConfirmationResponse
} from '../model/types';
import {
useMutation,
UseMutationOptions
} from '@tanstack/react-query';
import { getHeaderUserAgent } from '@/shared/constants/url';
export const downloadConfirmation = (params: DownloadConfirmationParams) => {
let headerOptions = {
menuId: 31,
apiType: 'DOWNLOAD'
};
let options = {
headers: {
'X-User-Agent': getHeaderUserAgent(headerOptions)
}
};
return resultify(
axios.post<DownloadConfirmationResponse>(API_URL_TRANSACTION.transactionDownloadConfirmation(), params, options),
);
};
export const useDownloadConfirmationMutation = (options?: UseMutationOptions<DownloadConfirmationResponse, NiceAxiosError, DownloadConfirmationParams>) => {
const mutation = useMutation<DownloadConfirmationResponse, NiceAxiosError, DownloadConfirmationParams>({
...options,
mutationFn: (params: DownloadConfirmationParams) => downloadConfirmation(params),
});
return {
...mutation,
};
};

View File

@@ -282,7 +282,7 @@ export interface CashReceiptSummaryResponse {
totalCount: number;
};
export interface CashReceiptReceiptDownloadParams {
approvalNumber: string;
tid: string;
};
export interface CashReceiptReceiptDownloadResponse {
issueInfo: IssueInfo;
@@ -580,14 +580,6 @@ export interface InfoSectionProps extends DetailResponse {
canDownloadReceipt?: boolean;
}
export interface DownloadConfirmationParams {
tid?: string;
};
export interface DownloadConfirmationResponse {
};
export interface DownloadExcelParams {
tid?: string
};

View File

@@ -32,6 +32,7 @@ import {
import { FullMenuClose } from '@/entities/common/ui/full-menu-close';
import { checkGrant } from '@/shared/lib/check-grant';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
export interface AllTransactionDetailProps {
detailOn: boolean;
@@ -79,7 +80,7 @@ export const AllTransactionDetail = ({
setPartCancelInfo(rs.partCancelInfo);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -14,6 +14,7 @@ import { NumericFormat } from 'react-number-format';
import { DetailMotionDuration, DetailMotionStyle, DetailMotionVariants } from '@/entities/common/model/constant';
import { FullMenuClose } from '@/entities/common/ui/full-menu-close';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
export interface BillingDetailProps {
detailOn: boolean;
@@ -45,7 +46,7 @@ export const BillingDetail = ({
})
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -71,7 +71,7 @@ export const CashReceiptDetail = ({
}, 2000);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});
@@ -94,7 +94,7 @@ export const CashReceiptDetail = ({
}
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -29,6 +29,7 @@ import { DetailMotionDuration, DetailMotionStyle, DetailMotionVariants } from '@
import { FullMenuClose } from '@/entities/common/ui/full-menu-close';
import { checkGrant } from '@/shared/lib/check-grant';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
export interface EscrowDetailProps {
detailOn: boolean;
@@ -87,7 +88,7 @@ export const EscrowDetail = ({
setOrderNumber(rs.importantInfo?.orderNumber);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});
@@ -117,7 +118,7 @@ export const EscrowDetail = ({
console.log(rs);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -1,12 +1,12 @@
import moment from 'moment';
import { useTranslation } from 'react-i18next';
import { SectionTitleArrow } from '@/entities/common/ui/section-title-arrow';
import { useDownloadConfirmationMutation } from '../../api/use-download-confirmation-mutation';
import { InfoSectionKeys, InfoSectionProps, TransactionCategory } from '../../model/types';
import { CashReceiptReceiptDownloadParams, CashReceiptReceiptDownloadResponse, InfoSectionKeys, InfoSectionProps, TransactionCategory } from '../../model/types';
import { SlideDown } from 'react-slidedown';
import 'react-slidedown/lib/slidedown.css';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
import { useCashReceiptReceiptDownloadMutation } from '../../api/use-cash-receipt-receipt-download-mutation';
export const AmountInfoSection = ({
transactionCategory,
@@ -18,7 +18,9 @@ export const AmountInfoSection = ({
canDownloadReceipt
}: InfoSectionProps) => {
const { t } = useTranslation();
const { mutateAsync: downloadConfirmation } = useDownloadConfirmationMutation();
const { mutateAsync: cashReceiptReceiptDownload } = useCashReceiptReceiptDownloadMutation();
let newAmountInfo: Record<string, any> | undefined = amountInfo;
const subItems: Record<string, Record<string, string>> = {
mid: {name: t('transaction.fields.mid'), type: 'string'},
@@ -182,15 +184,17 @@ export const AmountInfoSection = ({
}
};
const onClickToDownloadConfirmation = () => {
const onClickToDownload = () => {
if(!!tid){
downloadConfirmation({
let params: CashReceiptReceiptDownloadParams = {
tid: tid
}).then((rs) => {
};
cashReceiptReceiptDownload(params).then((rs: CashReceiptReceiptDownloadResponse) => {
console.log(rs);
snackBar('거래확인서 다운 성공');
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});
@@ -395,7 +399,7 @@ export const AmountInfoSection = ({
<button
className="doc-btn"
type="button"
onClick={ () => onClickToDownloadConfirmation() }
onClick={ () => onClickToDownload() }
>{t('transaction.fields.transactionConfirmation')}</button>
}
</div>

View File

@@ -29,6 +29,7 @@ import { useVatReturnBreakdownMutation } from '@/entities/vat-return/api/use-vat
import { DetailMotionDuration, DetailMotionStyle, DetailMotionVariants } from '@/entities/common/model/constant';
import { FullMenuClose } from '@/entities/common/ui/full-menu-close';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
export interface TaxInvoiceDetailProps {
detailOn: boolean;
@@ -72,7 +73,7 @@ export const TaxInvoiceDetail = ({
setDetail(rs);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});
@@ -87,7 +88,7 @@ export const TaxInvoiceDetail = ({
setBreakdown(rs.breakdown);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -28,6 +28,7 @@ import useIntersectionObserver from '@/widgets/intersection-observer';
import { AccountHolderAuthDetail } from '@/entities/additional-service/ui/account-holder-auth/detail/account-holder-auth-detail';
import { showAlert } from '@/widgets/show-alert';
import { checkGrant } from '@/shared/lib/check-grant';
import { snackBar } from '@/shared/lib';
export const AccountHolderAuthPage = () => {
const { navigate } = useNavigate();
@@ -126,7 +127,7 @@ export const AccountHolderAuthPage = () => {
);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});
@@ -176,7 +177,7 @@ export const AccountHolderAuthPage = () => {
console.log('Excel Download Status:', rs.status);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -135,7 +135,7 @@ export const AccountHolderSearchPage = () => {
);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -142,7 +142,7 @@ export const AlimtalkListPage = () => {
);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});
@@ -175,7 +175,7 @@ export const AlimtalkListPage = () => {
console.log('Excel Download Status:', rs.status);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -82,7 +82,7 @@ export const AlimtalkSettingPage = () => {
}
}).catch((e: any) => {
if (e.response?.data.error?.message) {
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return
}
});

View File

@@ -28,6 +28,7 @@ import { ArsList } from '@/entities/additional-service/ui/ars/ars-list';
import { ArsDetail } from '@/entities/additional-service/ui/ars/detail/ars-detail';
import { checkGrant } from '@/shared/lib/check-grant';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
export const ArsListPage = () => {
const { navigate } = useNavigate();
@@ -136,7 +137,7 @@ export const ArsListPage = () => {
);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});
@@ -167,7 +168,7 @@ export const ArsListPage = () => {
console.log('Excel Download Status:', rs);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -27,6 +27,7 @@ import useIntersectionObserver from '@/widgets/intersection-observer';
import { useTranslation } from 'react-i18next';
import { checkGrant } from '@/shared/lib/check-grant';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
export const FaceAuthPage = () => {
const { navigate } = useNavigate();
@@ -126,7 +127,7 @@ export const FaceAuthPage = () => {
);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});
@@ -152,7 +153,7 @@ export const FaceAuthPage = () => {
console.log('Excel Download Status:', rs.status);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -27,6 +27,7 @@ import { useExtensionAccessCheck } from '@/shared/lib/hooks/use-extension-access
import useIntersectionObserver from '@/widgets/intersection-observer';
import { checkGrant } from '@/shared/lib/check-grant';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
export const KeyInPaymentPage = () => {
const { navigate } = useNavigate();
@@ -129,7 +130,7 @@ export const KeyInPaymentPage = () => {
);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});
@@ -162,7 +163,7 @@ export const KeyInPaymentPage = () => {
console.log('Excel Download Status:', rs.status);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -15,6 +15,7 @@ import { useStore } from '@/shared/model/store';
import { Dialog } from '@/shared/ui/dialogs/dialog';
import { FilterSelectMid } from '@/shared/ui/filter/select-mid';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
export const ListPage = () => {
const { t } = useTranslation();
@@ -46,7 +47,7 @@ export const ListPage = () => {
setAvailableServices(rs.availableExtensionList || []);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -36,6 +36,7 @@ import { PayoutList } from '@/entities/additional-service/ui/payout/payout-list'
import { PayoutDetail } from '@/entities/additional-service/ui/payout/detail/payout-detail';
import { checkGrant } from '@/shared/lib/check-grant';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
export const PayoutListPage = () => {
// Access check
@@ -148,7 +149,7 @@ export const PayoutListPage = () => {
);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});
@@ -174,7 +175,7 @@ export const PayoutListPage = () => {
console.log('Excel Download Status:', rs);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -27,6 +27,7 @@ import useIntersectionObserver from '@/widgets/intersection-observer';
import { set } from 'lodash-es';
import { checkGrant } from '@/shared/lib/check-grant';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
export const SmsPaymentPage = () => {
const { t } = useTranslation();
@@ -127,7 +128,7 @@ export const SmsPaymentPage = () => {
);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});
@@ -140,7 +141,7 @@ export const SmsPaymentPage = () => {
setSmsDetailData(rs);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});
@@ -168,7 +169,7 @@ export const SmsPaymentPage = () => {
console.log('Excel Download Status:', rs.status);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -25,6 +25,7 @@ import {
HomeBannerListResponse
} from '@/entities/home/model/types';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
export let homeReloadKey = 1;
export const setHomeReloadKey = () => {
@@ -63,7 +64,7 @@ export const HomePage = () => {
}
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
}).finally(() => {
@@ -100,7 +101,7 @@ export const HomePage = () => {
setAuthRegisterOn(true);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -17,6 +17,7 @@ import { useTranslation } from 'react-i18next';
import appBridge from '@/utils/appBridge';
import { Dialog } from '@/shared/ui/dialogs/dialog';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
export const SettingPage = () => {
let userInfo = useStore.getState().UserStore.userInfo;
@@ -74,7 +75,7 @@ export const SettingPage = () => {
setPushNotificationEnabled(enabled);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});
@@ -85,7 +86,7 @@ export const SettingPage = () => {
setLoginType(type as LoginType);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});
@@ -102,7 +103,7 @@ export const SettingPage = () => {
}
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});
@@ -205,7 +206,7 @@ export const SettingPage = () => {
responseAlarmSetting(rs);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});
@@ -227,7 +228,7 @@ export const SettingPage = () => {
});
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -17,6 +17,7 @@ import useIntersectionObserver from '@/widgets/intersection-observer';
import { FaqDetail } from '@/entities/support/ui/detail/faq-detail';
import { checkGrant } from '@/shared/lib/check-grant';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
export const FaqListPage = () => {
const { navigate } = useNavigate();
@@ -99,7 +100,7 @@ export const FaqListPage = () => {
);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -17,6 +17,7 @@ import useIntersectionObserver from '@/widgets/intersection-observer';
import { NoticeDetail } from '@/entities/support/ui/detail/notice-detail';
import { useParams } from 'react-router';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
export const NoticeListPage = () => {
const { navigate } = useNavigate();
@@ -100,7 +101,7 @@ export const NoticeListPage = () => {
);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -19,6 +19,7 @@ import { QnaDetail } from '@/entities/support/ui/detail/qna-detail';
import { useParams } from 'react-router';
import { checkGrant } from '@/shared/lib/check-grant';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
/* 1:1 문의 */
const menuId = 64;
@@ -111,7 +112,7 @@ export const QnaListPage = () => {
);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -17,6 +17,7 @@ import { Dialog } from '@/shared/ui/dialogs/dialog';
import { QnaSaveParams, QnaSaveResponse } from '@/entities/support/model/types';
import { checkGrant } from '@/shared/lib/check-grant';
import { useKeyboardAware } from '@/shared/lib/hooks/use-keyboard-aware';
import { snackBar } from '@/shared/lib';
export enum QnaRegisterPropsName {
Mid = 'Mid',
@@ -143,7 +144,7 @@ export const QnaRegisterPage = () => {
navigate(PATHS.support.qna.list);
}).catch((e: any) => {
if (e.response?.data?.error?.message) {
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -114,7 +114,7 @@ export const AllTransactionCancelPage = () => {
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});
@@ -147,7 +147,7 @@ export const AllTransactionCancelPage = () => {
}).catch((e: any) => {
setRequestSuccess(false);
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -169,7 +169,7 @@ export const AllTransactionListPage = () => {
);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});
@@ -179,7 +179,7 @@ export const AllTransactionListPage = () => {
setTotalCount(rs.totalCount);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});
@@ -221,7 +221,7 @@ export const AllTransactionListPage = () => {
console.log(rs);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -88,7 +88,7 @@ export const BillingChargePage = () => {
}).catch((e: any) => {
if (e.response?.data?.error?.message) {
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -34,6 +34,7 @@ import useIntersectionObserver from '@/widgets/intersection-observer';
import { BillingDetail } from '@/entities/transaction/ui/detail/billing-detail';
import { showAlert } from '@/widgets/show-alert';
import { checkGrant } from '@/shared/lib/check-grant';
import { snackBar } from '@/shared/lib';
/* 빌링 34 */
const menuId = 34;
@@ -140,7 +141,7 @@ export const BillingListPage = () => {
);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -69,7 +69,7 @@ export const CashReceitHandWrittenIssuancePage = () => {
}, 3000);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -37,6 +37,7 @@ import useIntersectionObserver from '@/widgets/intersection-observer';
import { CashReceiptDetail } from '@/entities/transaction/ui/detail/cash-receit-detail';
import { checkGrant } from '@/shared/lib/check-grant';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
/* 현금영수증 32 */
const menuId = 32;
@@ -151,7 +152,7 @@ export const CashReceiptListPage = () => {
);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});
@@ -164,7 +165,7 @@ export const CashReceiptListPage = () => {
setTotalCount(rs.totalCount);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -33,6 +33,7 @@ import useIntersectionObserver from '@/widgets/intersection-observer';
import { EscrowDetail } from '@/entities/transaction/ui/detail/escrow-detail';
import { checkGrant } from '@/shared/lib/check-grant';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
/* 에스크로 33 */
const menuId = 33;
@@ -140,7 +141,7 @@ export const EscrowListPage = () => {
);
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});

View File

@@ -19,10 +19,6 @@ export const API_URL_TRANSACTION = {
// POST: 거래 엑셀 다운로드
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/download/excel`;
},
transactionDownloadConfirmation: () => {
// POST: 거래 확인서 다운로드
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/download/confirmation`;
},
transactionDetail: () => {
// POST: 거래내역 상세
return `${API_BASE_URL}/api/v1/${API_URL_KEY}/transaction/detail`;

View File

@@ -14,6 +14,7 @@ import { ShortcutSaveParams, ShortcutSaveResponse } from '@/entities/user/model/
import { useTranslation } from 'react-i18next';
import { FullMenuClose } from '@/entities/common/ui/full-menu-close';
import { showAlert } from '@/widgets/show-alert';
import { snackBar } from '@/shared/lib';
// 상수 정의
const SCROLL_ANIMATION_DURATION = 800;
@@ -76,7 +77,7 @@ export const Menu = ({
}).catch((e: any) => {
if(e.response?.data?.error?.message){
showAlert(e.response?.data?.error?.message);
snackBar(e.response?.data?.error?.message);
return;
}
});