@yolo-croket-dev/entity-v2 0.3.17 → 0.3.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle-purchased-info/bundle-purchased-info.entity.d.ts +5 -0
- package/cart/cart.entity.d.ts +2 -0
- package/package.json +1 -1
- package/purchased-info/purchased-info-for-seller.entity.d.ts +7 -2
- package/purchased-info/purchased-info.entity.d.ts +114 -0
- package/purchased-info/purchased-info.entity.js +33 -1
|
@@ -19,6 +19,11 @@ export interface PInfoOfBundle {
|
|
|
19
19
|
itemType?: StoreItemTypeEnum;
|
|
20
20
|
/** 분할 배송 여부 (PurchasedInfo.isSplitDelivery의 비정규화 필드, BundlePInfo Atlas Search 필터용) */
|
|
21
21
|
isSplitDelivery?: boolean;
|
|
22
|
+
/** 셀러 이관 거래 모아보기용 비정규화 여부 */
|
|
23
|
+
isTransferred?: boolean;
|
|
24
|
+
/** 셀러 이관 거래 우선 정렬·노출용 최신 이관 일시 */
|
|
25
|
+
latestTransferDate?: Date;
|
|
26
|
+
transferPriority?: 0 | 1;
|
|
22
27
|
}
|
|
23
28
|
export interface PastIsPrepay {
|
|
24
29
|
PInfoId: Types.ObjectId;
|
package/cart/cart.entity.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Types } from 'mongoose';
|
|
2
|
-
import { PurchasedInfoEntity } from '@yolo-croket-dev/entity/src/purchased-info/purchased-info.entity';
|
|
3
2
|
import { StoreItemKeyword } from '@yolo-croket-dev/entity/src/store-item';
|
|
3
|
+
import { PurchasedInfoEntity } from './purchased-info.entity';
|
|
4
4
|
import { CustomPurchasedInfo } from './custom-purchased-info.entity';
|
|
5
5
|
import { StoreItemTypeEnum } from '../store-item/store-item.entity';
|
|
6
6
|
import { UserEntity } from '../user/user.entity';
|
|
@@ -12,13 +12,18 @@ export default interface PurchasedInfoForSeller {
|
|
|
12
12
|
}
|
|
13
13
|
export type RefundInfoPickedForSeller = Pick<RefundEntity, '_id' | 'reg_date' | 'acceptInfo' | 'process' | '_authorType' | 'openInfo' | 'refundVersion' | 'returnInfo' | 'rejectInfo' | 'PInfoLastProcess'>;
|
|
14
14
|
export type UserInfoPickedForSeller = Pick<UserEntity, '_id' | 'username' | 'phoneCountry' | 'phoneNumber' | 'photos' | 'subContactList'>;
|
|
15
|
-
export type PInfoPickedForSeller = Pick<PurchasedInfoEntity, '_id' | 'publicId' | 'process' | 'pOptionInfo' | 'proceedsInfo' | 'itemId' | 'pastName' | 'pastImg' | 'pastPrice' | 'deliveryMethod' | 'deliveryData' | 'paymentDate' | 'pastSellingInfo' | 'PCCCInfo' | 'cancelInfo' | 'requirement' | 'originPrice' | 'buyerInfo' | 'lastPartialRefundProcess' | 'lastPartialRefundId' | 'waitingReceiveInfo' | 'cancelledDate' | 'process_v2' | 'isPOptionChanged' | 'pInfoType' | 'isSplitDelivery' | 'splitDeliveryDataList' | 'remainingShipQuantity'> & {
|
|
15
|
+
export type PInfoPickedForSeller = Pick<PurchasedInfoEntity, '_id' | 'publicId' | 'process' | 'pOptionInfo' | 'proceedsInfo' | 'itemId' | 'pastName' | 'pastImg' | 'pastPrice' | 'deliveryMethod' | 'deliveryData' | 'paymentDate' | 'pastSellingInfo' | 'PCCCInfo' | 'cancelInfo' | 'requirement' | 'originPrice' | 'buyerInfo' | 'lastPartialRefundProcess' | 'lastPartialRefundId' | 'waitingReceiveInfo' | 'cancelledDate' | 'process_v2' | 'isPOptionChanged' | 'pInfoType' | 'isSplitDelivery' | 'splitDeliveryDataList' | 'remainingShipQuantity' | 'refundWaitingInfo'> & {
|
|
16
16
|
/** 주문 당시 상품 키워드 스냅샷 */
|
|
17
17
|
itemKeywords?: StoreItemKeyword[];
|
|
18
18
|
isPcccDeferred?: boolean;
|
|
19
19
|
isReceiveInfoChangedInBeforeDelivery?: boolean;
|
|
20
20
|
/** 구매 당시 상품 타입 */
|
|
21
21
|
itemType?: StoreItemTypeEnum;
|
|
22
|
+
/**
|
|
23
|
+
* 목록 응답에서는 용량이 큰 이관 이력을 제외하고 최신 이관 정보만 제공한다.
|
|
24
|
+
* - Pick 대상에서 transferSellerInfo를 제외해야 Omit한 history가 교차 타입으로 다시 필수가 되지 않는다.
|
|
25
|
+
*/
|
|
26
|
+
transferSellerInfo?: Omit<NonNullable<PurchasedInfoEntity['transferSellerInfo']>, 'history'>;
|
|
22
27
|
};
|
|
23
28
|
export type PurchasedInfoForSellerDetail = {
|
|
24
29
|
pInfo: PInfoPickedForSeller;
|
|
@@ -81,6 +81,91 @@ export declare enum PurchasedProcessV2Enum {
|
|
|
81
81
|
/** 예약 취소 요청으로 취소됨 */
|
|
82
82
|
cancelledByReserveCancelAsk = "cancelledByReserveCancelAsk"
|
|
83
83
|
}
|
|
84
|
+
/** @description 셀러 귀책 환불 대기 워크플로 상태 */
|
|
85
|
+
export declare enum RefundWaitingStatusEnum {
|
|
86
|
+
/** 구매자 응답 또는 관리자 이관 판단 대기. 3일 자동 환불 대상 */
|
|
87
|
+
PENDING = "PENDING",
|
|
88
|
+
/** 구매자가 타 셀러 이관을 기다리기로 선택한 상태 */
|
|
89
|
+
WAITING_FOR_ITEM = "WAITING_FOR_ITEM",
|
|
90
|
+
/** 관리자 이관 불가 확정 후 실제 환불을 시작하기 전 상태 */
|
|
91
|
+
UNAVAILABLE = "UNAVAILABLE",
|
|
92
|
+
/** 이관 성공으로 환불 대기 워크플로가 종료된 상태 */
|
|
93
|
+
TRANSFERRED = "TRANSFERRED",
|
|
94
|
+
/** 실제 Refund 생성 작업을 선점한 내부 상태 */
|
|
95
|
+
REFUND_REQUESTED = "REFUND_REQUESTED"
|
|
96
|
+
}
|
|
97
|
+
/** @description 셀러 귀책 환불 대기 사유 코드 */
|
|
98
|
+
export declare enum RefundWaitingReasonCode {
|
|
99
|
+
/** 셀러의 현지 품절로 대체 셀러 이관 또는 환불 판단이 필요한 경우 */
|
|
100
|
+
SOLD_OUT = "SOLD_OUT",
|
|
101
|
+
/** 셀러의 현지 가격 또는 재고 변동으로 기존 주문 이행이 어려운 경우 */
|
|
102
|
+
PRICE_OR_STOCK_CHANGED = "PRICE_OR_STOCK_CHANGED",
|
|
103
|
+
/** 셀러 귀책 배송 지연으로 구매자 선택이 필요한 경우 */
|
|
104
|
+
DELIVERY_DELAY = "DELIVERY_DELAY"
|
|
105
|
+
}
|
|
106
|
+
/** @description 구매자의 환불 대기 선택 */
|
|
107
|
+
export declare enum RefundWaitingBuyerActionTypeEnum {
|
|
108
|
+
/** 구매자가 환불 대신 관리자에게 다른 셀러 이관을 요청함 */
|
|
109
|
+
WAIT_FOR_ITEM = "WAIT_FOR_ITEM",
|
|
110
|
+
/** 구매자가 대기 중단 후 기존 환불 절차 진행을 선택함 */
|
|
111
|
+
REQUEST_REFUND = "REQUEST_REFUND"
|
|
112
|
+
}
|
|
113
|
+
/** @description 셀러 귀책 환불 대기 정보 */
|
|
114
|
+
export interface RefundWaitingInfo {
|
|
115
|
+
/** 환불 대기 워크플로 상태 */
|
|
116
|
+
status: RefundWaitingStatusEnum;
|
|
117
|
+
/** 환불 대기로 전환한 시각. SLA와 대기 리드타임의 기준점이다. */
|
|
118
|
+
startDate: Date;
|
|
119
|
+
/** 자동 환불 대상 시각. 진입 시점에 startDate + 3일을 확정 저장해 정책 변경의 영향을 받지 않는다. */
|
|
120
|
+
autoRefundDueDate: Date;
|
|
121
|
+
/** 셀러 귀책 사유의 코드와 당시 구매자 화면에 노출한 문구 스냅샷 */
|
|
122
|
+
refundReason: {
|
|
123
|
+
/** 분기, 통계, 정책 적용에 사용하는 정규화된 사유 코드 */
|
|
124
|
+
code: RefundWaitingReasonCode;
|
|
125
|
+
/** 사유 코드의 당시 표시명. 사유 마스터 변경 후에도 이력을 보존한다. */
|
|
126
|
+
name: string;
|
|
127
|
+
/** 구매자/셀러가 입력한 보조 사유. 입력이 있을 때만 저장한다. */
|
|
128
|
+
detail?: string;
|
|
129
|
+
};
|
|
130
|
+
/** 환불 대기 진입을 유발한 셀러 ID. 이후 이관되더라도 최초 귀책 셀러를 추적한다. */
|
|
131
|
+
requestedSellerId: Types.ObjectId | string;
|
|
132
|
+
/** 구매자가 마지막으로 환불 대기 관련 액션을 선택한 시각 */
|
|
133
|
+
buyerActionDate?: Date;
|
|
134
|
+
/** 구매자의 마지막 액션. WAIT_FOR_ITEM 또는 REQUEST_REFUND만 저장한다. */
|
|
135
|
+
buyerActionType?: RefundWaitingBuyerActionTypeEnum;
|
|
136
|
+
/** 실제 환불 생성을 선점하기 전의 상태. 실패 시 재시도 가능한 상태로 복구하는 데 사용한다. */
|
|
137
|
+
refundRequestPreviousStatus?: RefundWaitingStatusEnum;
|
|
138
|
+
/** 구매자가 실제 환불 생성을 마지막으로 시도한 시각 */
|
|
139
|
+
refundRequestAttemptedDate?: Date;
|
|
140
|
+
/** 구매자 환불 생성 시도 횟수 */
|
|
141
|
+
refundRequestAttemptCount?: number;
|
|
142
|
+
/** 마지막 구매자 환불 생성 실패의 운영 분류 코드 */
|
|
143
|
+
refundRequestLastErrorCode?: string;
|
|
144
|
+
/** 관리자가 이관 불가를 확정한 시각. UNAVAILABLE 상태의 감사 이력이다. */
|
|
145
|
+
unavailableDate?: Date;
|
|
146
|
+
/** 이관 불가 처리를 수행한 관리자 ID */
|
|
147
|
+
unavailableManagerId?: Types.ObjectId | string;
|
|
148
|
+
/** 이관 불가 후 환불 생성을 마지막으로 시도한 시각 */
|
|
149
|
+
unavailableRefundAttemptedDate?: Date;
|
|
150
|
+
/** 이관 불가 후 환불 생성 시도 횟수 */
|
|
151
|
+
unavailableRefundAttemptCount?: number;
|
|
152
|
+
/** 마지막 이관 불가 환불 생성 실패 코드 */
|
|
153
|
+
unavailableRefundLastErrorCode?: string;
|
|
154
|
+
/** 스케줄러가 자동 환불 작업을 마지막으로 선점한 시각. 중복 실행 방지에 사용한다. */
|
|
155
|
+
autoRefundAttemptedDate?: Date;
|
|
156
|
+
/** 자동 환불 실행 시도 횟수. 재시도 한도와 운영 모니터링에 사용한다. */
|
|
157
|
+
autoRefundAttemptCount?: number;
|
|
158
|
+
/** 마지막 자동 환불 실패 코드. 원문 오류 대신 운영 분류용 코드만 저장한다. */
|
|
159
|
+
autoRefundLastErrorCode?: string;
|
|
160
|
+
/** 구매자 응답 만기 전 알림 발송 작업을 선점한 시각 */
|
|
161
|
+
buyerResponseReminderClaimedDate?: Date;
|
|
162
|
+
/** 구매자 응답 만기 전 알림 발송 완료 시각 */
|
|
163
|
+
buyerResponseReminderSentDate?: Date;
|
|
164
|
+
/** 구매자 응답 만기 전 알림 발송 시도 횟수 */
|
|
165
|
+
buyerResponseReminderAttemptCount?: number;
|
|
166
|
+
/** 마지막 구매자 응답 만기 전 알림 발송 실패 코드 */
|
|
167
|
+
buyerResponseReminderLastErrorCode?: string;
|
|
168
|
+
}
|
|
84
169
|
export interface PastSellingInfoShippingTermsInfo {
|
|
85
170
|
/** 조건 배송 종류 <shippingFeeBySection, > */
|
|
86
171
|
shippingTermsType: string;
|
|
@@ -527,6 +612,8 @@ export interface PInfoBuyerInfo {
|
|
|
527
612
|
buyerEngLastName?: string;
|
|
528
613
|
}
|
|
529
614
|
export interface POption {
|
|
615
|
+
/** 결제 시도 snapshot에서 발급된 불변 옵션 순번 */
|
|
616
|
+
detailSequence: number;
|
|
530
617
|
/** 옵션 이름 */
|
|
531
618
|
optionName: string;
|
|
532
619
|
/** 옵션 이름 조합 */
|
|
@@ -540,6 +627,27 @@ export interface PInfoPOptionInfo {
|
|
|
540
627
|
pOptionType?: POptionTypeEnum;
|
|
541
628
|
pOptionList: POption[];
|
|
542
629
|
}
|
|
630
|
+
export type PurchasedInfoOptionMutationOperationKind = 'buyer-stock' | 'admin-refund';
|
|
631
|
+
export type PurchasedInfoOptionMutationOperationState = 'stock-pending' | 'refund-pending' | 'remote-applied' | 'finalized' | 'recovery-required';
|
|
632
|
+
export interface PurchasedInfoOptionMutationOperation {
|
|
633
|
+
operationId: string;
|
|
634
|
+
kind: PurchasedInfoOptionMutationOperationKind;
|
|
635
|
+
state: PurchasedInfoOptionMutationOperationState;
|
|
636
|
+
createdAt: Date;
|
|
637
|
+
updatedAt: Date;
|
|
638
|
+
recoveryOwner: 'jun';
|
|
639
|
+
sourcePOptionList?: POption[];
|
|
640
|
+
isSourcePOptionListAbsent: boolean;
|
|
641
|
+
targetPOptionList: POption[];
|
|
642
|
+
requestFingerprint: string;
|
|
643
|
+
storeItemId?: Types.ObjectId | string;
|
|
644
|
+
stockRequestPayload?: Record<string, unknown>;
|
|
645
|
+
stockRequestFingerprint?: string;
|
|
646
|
+
partialRefundId?: Types.ObjectId | string;
|
|
647
|
+
desiredPartialRefundPrice?: number;
|
|
648
|
+
localUpdateDataDigest?: string;
|
|
649
|
+
localUpdateDataSnapshot?: Record<string, unknown>;
|
|
650
|
+
}
|
|
543
651
|
export interface PaymentFeeInfo {
|
|
544
652
|
paymentMethod: string;
|
|
545
653
|
paymentFeePercent: number;
|
|
@@ -1156,6 +1264,7 @@ export default interface PurchasedInfoEntity {
|
|
|
1156
1264
|
option: PurchasedInfoOption[];
|
|
1157
1265
|
/** 결제한 옵션 정보 21년 후 부터 생김 */
|
|
1158
1266
|
pOptionInfo?: PInfoPOptionInfo;
|
|
1267
|
+
optionMutationOperation?: PurchasedInfoOptionMutationOperation;
|
|
1159
1268
|
totalPrice: number;
|
|
1160
1269
|
originPrice: number;
|
|
1161
1270
|
originPriceForBuyer?: number;
|
|
@@ -1248,12 +1357,17 @@ export default interface PurchasedInfoEntity {
|
|
|
1248
1357
|
priceCompareAffiliateInfo?: PriceCompareAffiliateInfo;
|
|
1249
1358
|
pInfoType?: PInfoTypeEnum;
|
|
1250
1359
|
reservationInfo?: PurchasedReservationInfo;
|
|
1360
|
+
/** @description 셀러 귀책 환불 대기 워크플로 정보 */
|
|
1361
|
+
refundWaitingInfo?: RefundWaitingInfo;
|
|
1251
1362
|
/** @description 셀러 변경 이력 (관리자 셀러 이전 기능) */
|
|
1252
1363
|
transferSellerInfo?: {
|
|
1253
1364
|
/** 셀러 변경 여부 (DB 필터링용) */
|
|
1254
1365
|
isTransferred: boolean;
|
|
1255
1366
|
/** 셀러 변경 횟수 */
|
|
1256
1367
|
transferCount: number;
|
|
1368
|
+
/** 셀러 거래내역 목록 정렬·노출을 위한 가장 최근 이관 완료 시각 */
|
|
1369
|
+
latestTransferDate?: Date;
|
|
1370
|
+
transferPriority?: 0 | 1;
|
|
1257
1371
|
/** 변경 이력 목록 */
|
|
1258
1372
|
history: Array<{
|
|
1259
1373
|
transferDate: Date;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PriceCompareAffiliateSettleStatusEnum = exports.PriceCompareAffiliateTypeEnum = exports.InsuranceProcessTypeEnum = exports.ShippingForwarderProviderEnum = exports.CrawlerProxyOrderForeignCurrencyEnum = exports.CrawlerProxyForwardingStatusEnum = exports.CrawlerProxyPurchaseStatusEnum = exports.PastSelectionFrameDataInfo = exports.PurchasedProcessV2Enum = exports.PurchasedProcessEnum = exports.UserTypeEnum = exports.TaxInvoiceIssueProcessEnum = exports.POptionTypeEnum = exports.PInfoTypeEnum = exports.ReservationCancelReasonEnum = exports.CardQuotaEnum = void 0;
|
|
3
|
+
exports.PriceCompareAffiliateSettleStatusEnum = exports.PriceCompareAffiliateTypeEnum = exports.InsuranceProcessTypeEnum = exports.ShippingForwarderProviderEnum = exports.CrawlerProxyOrderForeignCurrencyEnum = exports.CrawlerProxyForwardingStatusEnum = exports.CrawlerProxyPurchaseStatusEnum = exports.PastSelectionFrameDataInfo = exports.RefundWaitingBuyerActionTypeEnum = exports.RefundWaitingReasonCode = exports.RefundWaitingStatusEnum = exports.PurchasedProcessV2Enum = exports.PurchasedProcessEnum = exports.UserTypeEnum = exports.TaxInvoiceIssueProcessEnum = exports.POptionTypeEnum = exports.PInfoTypeEnum = exports.ReservationCancelReasonEnum = exports.CardQuotaEnum = void 0;
|
|
4
4
|
var CardQuotaEnum;
|
|
5
5
|
(function (CardQuotaEnum) {
|
|
6
6
|
CardQuotaEnum["\uC77C\uC2DC\uBD88"] = "00";
|
|
@@ -82,6 +82,38 @@ var PurchasedProcessV2Enum;
|
|
|
82
82
|
/** 예약 취소 요청으로 취소됨 */
|
|
83
83
|
PurchasedProcessV2Enum["cancelledByReserveCancelAsk"] = "cancelledByReserveCancelAsk";
|
|
84
84
|
})(PurchasedProcessV2Enum || (exports.PurchasedProcessV2Enum = PurchasedProcessV2Enum = {}));
|
|
85
|
+
/** @description 셀러 귀책 환불 대기 워크플로 상태 */
|
|
86
|
+
var RefundWaitingStatusEnum;
|
|
87
|
+
(function (RefundWaitingStatusEnum) {
|
|
88
|
+
/** 구매자 응답 또는 관리자 이관 판단 대기. 3일 자동 환불 대상 */
|
|
89
|
+
RefundWaitingStatusEnum["PENDING"] = "PENDING";
|
|
90
|
+
/** 구매자가 타 셀러 이관을 기다리기로 선택한 상태 */
|
|
91
|
+
RefundWaitingStatusEnum["WAITING_FOR_ITEM"] = "WAITING_FOR_ITEM";
|
|
92
|
+
/** 관리자 이관 불가 확정 후 실제 환불을 시작하기 전 상태 */
|
|
93
|
+
RefundWaitingStatusEnum["UNAVAILABLE"] = "UNAVAILABLE";
|
|
94
|
+
/** 이관 성공으로 환불 대기 워크플로가 종료된 상태 */
|
|
95
|
+
RefundWaitingStatusEnum["TRANSFERRED"] = "TRANSFERRED";
|
|
96
|
+
/** 실제 Refund 생성 작업을 선점한 내부 상태 */
|
|
97
|
+
RefundWaitingStatusEnum["REFUND_REQUESTED"] = "REFUND_REQUESTED";
|
|
98
|
+
})(RefundWaitingStatusEnum || (exports.RefundWaitingStatusEnum = RefundWaitingStatusEnum = {}));
|
|
99
|
+
/** @description 셀러 귀책 환불 대기 사유 코드 */
|
|
100
|
+
var RefundWaitingReasonCode;
|
|
101
|
+
(function (RefundWaitingReasonCode) {
|
|
102
|
+
/** 셀러의 현지 품절로 대체 셀러 이관 또는 환불 판단이 필요한 경우 */
|
|
103
|
+
RefundWaitingReasonCode["SOLD_OUT"] = "SOLD_OUT";
|
|
104
|
+
/** 셀러의 현지 가격 또는 재고 변동으로 기존 주문 이행이 어려운 경우 */
|
|
105
|
+
RefundWaitingReasonCode["PRICE_OR_STOCK_CHANGED"] = "PRICE_OR_STOCK_CHANGED";
|
|
106
|
+
/** 셀러 귀책 배송 지연으로 구매자 선택이 필요한 경우 */
|
|
107
|
+
RefundWaitingReasonCode["DELIVERY_DELAY"] = "DELIVERY_DELAY";
|
|
108
|
+
})(RefundWaitingReasonCode || (exports.RefundWaitingReasonCode = RefundWaitingReasonCode = {}));
|
|
109
|
+
/** @description 구매자의 환불 대기 선택 */
|
|
110
|
+
var RefundWaitingBuyerActionTypeEnum;
|
|
111
|
+
(function (RefundWaitingBuyerActionTypeEnum) {
|
|
112
|
+
/** 구매자가 환불 대신 관리자에게 다른 셀러 이관을 요청함 */
|
|
113
|
+
RefundWaitingBuyerActionTypeEnum["WAIT_FOR_ITEM"] = "WAIT_FOR_ITEM";
|
|
114
|
+
/** 구매자가 대기 중단 후 기존 환불 절차 진행을 선택함 */
|
|
115
|
+
RefundWaitingBuyerActionTypeEnum["REQUEST_REFUND"] = "REQUEST_REFUND";
|
|
116
|
+
})(RefundWaitingBuyerActionTypeEnum || (exports.RefundWaitingBuyerActionTypeEnum = RefundWaitingBuyerActionTypeEnum = {}));
|
|
85
117
|
// 당시 셀렉션 프레임 데이터 정보
|
|
86
118
|
class PastSelectionFrameDataInfo {
|
|
87
119
|
}
|