- ars,SMS,KeyIn 수정

This commit is contained in:
HyeonJongKim
2025-10-28 20:29:34 +09:00
parent 84ade896c4
commit 7a8cafe7bb
16 changed files with 153 additions and 96 deletions

View File

@@ -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;
};
};
};

View File

@@ -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;

View File

@@ -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 {

View File

@@ -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);

View File

@@ -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}

View File

@@ -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>
)
}

View File

@@ -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;

View File

@@ -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);