@yolo-croket-dev/entity-v2 0.2.187 → 0.3.1
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/index.d.ts
CHANGED
|
@@ -16,7 +16,8 @@ export * from './app-push-subscribe';
|
|
|
16
16
|
export * from './app-push-subscribed-user';
|
|
17
17
|
export * from './link-tab';
|
|
18
18
|
export * from './store';
|
|
19
|
-
export
|
|
19
|
+
export { StoreItemEntity, } from './store-item';
|
|
20
|
+
export type { StoreItemTranslationTrigger, } from './store-item';
|
|
20
21
|
export * from './mail';
|
|
21
22
|
export * from './cart';
|
|
22
23
|
export * from './related-store-item';
|
package/index.js
CHANGED
|
@@ -32,7 +32,6 @@ __exportStar(require("./app-push-subscribe"), exports);
|
|
|
32
32
|
__exportStar(require("./app-push-subscribed-user"), exports);
|
|
33
33
|
__exportStar(require("./link-tab"), exports);
|
|
34
34
|
__exportStar(require("./store"), exports);
|
|
35
|
-
__exportStar(require("./store-item"), exports);
|
|
36
35
|
__exportStar(require("./mail"), exports);
|
|
37
36
|
__exportStar(require("./cart"), exports);
|
|
38
37
|
__exportStar(require("./related-store-item"), exports);
|
package/package.json
CHANGED
|
@@ -984,10 +984,15 @@ export interface CrawlerProxyOrderInfoChangeLog {
|
|
|
984
984
|
/** 변경일 */
|
|
985
985
|
changedAt: Date;
|
|
986
986
|
}
|
|
987
|
+
/** @description Shipping Forwarder 자동화 Provider */
|
|
988
|
+
export declare enum ShippingForwarderProviderEnum {
|
|
989
|
+
GOBAESONG = "GOBAESONG",
|
|
990
|
+
HOOTTOWN = "HOOTTOWN"
|
|
991
|
+
}
|
|
987
992
|
/** @description 대신 주문 배대지 마스터 변경 로그 */
|
|
988
993
|
export interface CrawlerForwardingAgentChangeLog {
|
|
989
|
-
previous?: Partial<Pick<CrawlerForwardingAgent, 'name' | 'address' | 'shippingAddress' | 'purchaseSourceHostNames' | 'isActive'>>;
|
|
990
|
-
next?: Partial<Pick<CrawlerForwardingAgent, 'name' | 'address' | 'shippingAddress' | 'purchaseSourceHostNames' | 'isActive'>>;
|
|
994
|
+
previous?: Partial<Pick<CrawlerForwardingAgent, 'provider' | 'name' | 'address' | 'shippingAddress' | 'purchaseSourceHostNames' | 'isActive'>>;
|
|
995
|
+
next?: Partial<Pick<CrawlerForwardingAgent, 'provider' | 'name' | 'address' | 'shippingAddress' | 'purchaseSourceHostNames' | 'isActive'>>;
|
|
991
996
|
changedByAdminId: Types.ObjectId | string;
|
|
992
997
|
changedAt: Date;
|
|
993
998
|
}
|
|
@@ -1004,6 +1009,8 @@ export interface CrawlerForwardingAgentShippingAddress {
|
|
|
1004
1009
|
/** @description 대신 주문 배대지 마스터 */
|
|
1005
1010
|
export interface CrawlerForwardingAgent {
|
|
1006
1011
|
_id: Types.ObjectId | string;
|
|
1012
|
+
/** 기존 데이터에는 없을 수 있으며 자동화 Job 생성 전에 설정해야 한다. */
|
|
1013
|
+
provider?: ShippingForwarderProviderEnum;
|
|
1007
1014
|
name: string;
|
|
1008
1015
|
/** 배대지 사이트 링크 */
|
|
1009
1016
|
address: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PriceCompareAffiliateSettleStatusEnum = exports.PriceCompareAffiliateTypeEnum = exports.InsuranceProcessTypeEnum = 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.CrawlerProxyForwardingStatusEnum = exports.CrawlerProxyPurchaseStatusEnum = exports.PastSelectionFrameDataInfo = 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";
|
|
@@ -106,6 +106,12 @@ var CrawlerProxyForwardingStatusEnum;
|
|
|
106
106
|
CrawlerProxyForwardingStatusEnum["DOMESTIC_SHIPPING"] = "DOMESTIC_SHIPPING";
|
|
107
107
|
CrawlerProxyForwardingStatusEnum["DELIVERY_COMPLETED"] = "DELIVERY_COMPLETED";
|
|
108
108
|
})(CrawlerProxyForwardingStatusEnum || (exports.CrawlerProxyForwardingStatusEnum = CrawlerProxyForwardingStatusEnum = {}));
|
|
109
|
+
/** @description Shipping Forwarder 자동화 Provider */
|
|
110
|
+
var ShippingForwarderProviderEnum;
|
|
111
|
+
(function (ShippingForwarderProviderEnum) {
|
|
112
|
+
ShippingForwarderProviderEnum["GOBAESONG"] = "GOBAESONG";
|
|
113
|
+
ShippingForwarderProviderEnum["HOOTTOWN"] = "HOOTTOWN";
|
|
114
|
+
})(ShippingForwarderProviderEnum || (exports.ShippingForwarderProviderEnum = ShippingForwarderProviderEnum = {}));
|
|
109
115
|
var InsuranceProcessTypeEnum;
|
|
110
116
|
(function (InsuranceProcessTypeEnum) {
|
|
111
117
|
InsuranceProcessTypeEnum["REG"] = "reg";
|
|
@@ -1,10 +1,1071 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { Types } from 'mongoose';
|
|
2
|
+
export declare enum StoreItemTypeEnum {
|
|
3
|
+
/** 일반 상품 */
|
|
4
|
+
'normal' = "normal",
|
|
5
|
+
/** 예약 상품 */
|
|
6
|
+
'reservation' = "reservation"
|
|
7
|
+
}
|
|
2
8
|
/**
|
|
3
9
|
* @author jun
|
|
4
|
-
* @description 상품
|
|
5
|
-
|
|
10
|
+
* @description 예약 상품 재고 모드
|
|
11
|
+
*/
|
|
12
|
+
export declare enum ReservationStockModeEnum {
|
|
13
|
+
/** 무제한 모드 */
|
|
14
|
+
'unlimited' = "unlimited",
|
|
15
|
+
/** 줄서기 On */
|
|
16
|
+
'queueOn' = "queueOn",
|
|
17
|
+
/** 줄서기 Off */
|
|
18
|
+
'queueOff' = "queueOff"
|
|
19
|
+
}
|
|
20
|
+
export declare enum StoreItemImgVersionEnum {
|
|
21
|
+
/** 썸네일만 리사이징 */
|
|
22
|
+
'v0' = "v0"
|
|
23
|
+
}
|
|
24
|
+
export declare enum PrecautionCodeEnum {
|
|
25
|
+
'PC001' = "PC001",
|
|
26
|
+
'PC002' = "PC002",
|
|
27
|
+
'PC004' = "PC004",
|
|
28
|
+
'PC000' = "PC000"
|
|
29
|
+
}
|
|
30
|
+
export declare enum StoreItemOptionTypeEnum {
|
|
31
|
+
single = "single",
|
|
32
|
+
group = "group"
|
|
33
|
+
}
|
|
34
|
+
/** 고정 이미지 위치 */
|
|
35
|
+
export declare enum FixedContentsPositionEnum {
|
|
36
|
+
/** 최상단 */
|
|
37
|
+
TOP = "TOP",
|
|
38
|
+
/** 최하단 */
|
|
39
|
+
BOTTOM = "BOTTOM"
|
|
40
|
+
}
|
|
41
|
+
export declare enum StoreItemContentsTypeEnum {
|
|
42
|
+
'img' = "img",
|
|
43
|
+
'video' = "video"
|
|
44
|
+
}
|
|
45
|
+
/** @deprecated 옵션 (구 버전) */
|
|
46
|
+
export interface StoreItemOption {
|
|
47
|
+
name: string;
|
|
48
|
+
remainCount: number;
|
|
49
|
+
}
|
|
50
|
+
export interface StoreItemOptionInfo {
|
|
51
|
+
/** 옵션 종류 <single, group> 2021-03-05 jun */
|
|
52
|
+
optionType: StoreItemOptionTypeEnum;
|
|
53
|
+
/** single, group 일때 존재 */
|
|
54
|
+
optionList: StoreItemOptionList[];
|
|
55
|
+
/** group 일때 존재 2021-03-15 jun */
|
|
56
|
+
optionGroupFrameList?: StoreItemOptionGroupFrame[];
|
|
57
|
+
}
|
|
58
|
+
export interface StoreItemOptionList {
|
|
59
|
+
/** 옵션 이름의 조합 */
|
|
60
|
+
optionName: string;
|
|
61
|
+
/** 옵션 이름 리스트 */
|
|
62
|
+
optionNameList: string[];
|
|
63
|
+
/** 남은 수 */
|
|
64
|
+
remainCount: number;
|
|
65
|
+
/** 삭제 여부 */
|
|
66
|
+
isDelete: boolean;
|
|
67
|
+
/** 옵션 품번 - 2025-08-05 홍준 */
|
|
68
|
+
sku?: string;
|
|
69
|
+
/** 원문 옵션을 갱신/번역 결과와 안전하게 연결하는 안정 키 */
|
|
70
|
+
sourceOptionKey?: string;
|
|
71
|
+
}
|
|
72
|
+
export interface StoreItemOptionGroupFrame {
|
|
73
|
+
/** 옵션 이름 */
|
|
74
|
+
optionTitle: string;
|
|
75
|
+
/** 옵션 프레인 값 리스트 */
|
|
76
|
+
optionFrameValueList: string[];
|
|
77
|
+
}
|
|
78
|
+
/** 지원하는 배송 방법 */
|
|
79
|
+
export interface StoreItemDeliveryMethod {
|
|
80
|
+
/** 주소 */
|
|
81
|
+
address?: string;
|
|
82
|
+
/** 여행의 직구 서비스 인가? */
|
|
83
|
+
isVisit: boolean;
|
|
84
|
+
/** 직거래 인가? */
|
|
85
|
+
isDirect: boolean;
|
|
86
|
+
/** 배송 인가? */
|
|
87
|
+
isShipping: boolean;
|
|
88
|
+
/** 선불 인가? (조건 배송비 일때 undefined) */
|
|
89
|
+
isPrepay?: boolean;
|
|
90
|
+
/** 해외 배송 인가? (현재는 사용 안함) */
|
|
91
|
+
isAbroadShipping?: boolean;
|
|
92
|
+
/** 묶음 배송인가 (조건 배송비 일때 undefined) */
|
|
93
|
+
isBundleShipping?: boolean;
|
|
94
|
+
/** 선불 가격 (조건 배송비 일때 undefined) */
|
|
95
|
+
prepayPrice?: number;
|
|
96
|
+
/** 묶음 배송 수수료 */
|
|
97
|
+
bundleShippingFee?: number;
|
|
98
|
+
}
|
|
99
|
+
/** @deprecated 평점 정보 */
|
|
100
|
+
export interface StoreItemRating {
|
|
101
|
+
reviewId: Types.ObjectId | string;
|
|
102
|
+
isDelete: boolean;
|
|
103
|
+
DSRating: number;
|
|
104
|
+
ISRating: number;
|
|
105
|
+
contents: string;
|
|
106
|
+
buyerId: Types.ObjectId | string;
|
|
107
|
+
PInfoId: Types.ObjectId | string;
|
|
108
|
+
regDate: Date;
|
|
109
|
+
reviewPhoto: string[];
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* @decprecated qna 정보
|
|
113
|
+
*/
|
|
114
|
+
export interface StoreItemQna {
|
|
115
|
+
/** 작성자 유저 아이디 */
|
|
116
|
+
authorId: Types.ObjectId | string;
|
|
117
|
+
/** 내용 */
|
|
118
|
+
content: string;
|
|
119
|
+
/** 작성 시간 */
|
|
120
|
+
time: Date;
|
|
121
|
+
/** 삭제 */
|
|
122
|
+
isDeleted: boolean;
|
|
123
|
+
/** 삭제한 날짜 */
|
|
124
|
+
delDate: Date;
|
|
125
|
+
/** 누가 삭제했니 */
|
|
126
|
+
whoDel: Types.ObjectId | string;
|
|
127
|
+
/** 답글 리스트 */
|
|
128
|
+
answer: StoreItemQnaAnswer[];
|
|
129
|
+
}
|
|
130
|
+
export interface StoreItemQnaAnswer {
|
|
131
|
+
/** 작성자 유저 아이디 */
|
|
132
|
+
authorId: Types.ObjectId | string;
|
|
133
|
+
/** 내용 */
|
|
134
|
+
content: string;
|
|
135
|
+
/** 작성 시간 */
|
|
136
|
+
time: Date;
|
|
137
|
+
/** 삭제 */
|
|
138
|
+
isDeleted: boolean;
|
|
139
|
+
/** 삭제한 날짜 */
|
|
140
|
+
delDate: Date;
|
|
141
|
+
/** 누가 삭제했니 */
|
|
142
|
+
whoDel: Types.ObjectId | string;
|
|
143
|
+
}
|
|
144
|
+
/** 네이버 정보 */
|
|
145
|
+
export interface StoreItemNaverInfo {
|
|
146
|
+
/** 시트에 존재여부 */
|
|
147
|
+
isExist: boolean;
|
|
148
|
+
/** 네이버 쇼핑 mid */
|
|
149
|
+
nv_mid: string;
|
|
150
|
+
/** 네이버 쇼핑 보여주고 있는가 */
|
|
151
|
+
isShow: boolean;
|
|
152
|
+
/** 최초 날짜 */
|
|
153
|
+
regDate?: Date;
|
|
154
|
+
/** 마지막 등록 날짜 */
|
|
155
|
+
lastModifyDate: Date;
|
|
156
|
+
}
|
|
157
|
+
/** 판매 제한 정보 */
|
|
158
|
+
export interface LimitSaleInfo {
|
|
159
|
+
/** 구매 제한 개수 */
|
|
160
|
+
limitCount: number;
|
|
161
|
+
/** 저장일 */
|
|
162
|
+
regDate: Date;
|
|
163
|
+
}
|
|
164
|
+
export interface StoreItemInflowInfoDevice {
|
|
165
|
+
yg_model: string;
|
|
166
|
+
yg_osver: string;
|
|
167
|
+
yg_apptype: string;
|
|
168
|
+
yg_appver: string;
|
|
169
|
+
device_id: string;
|
|
170
|
+
}
|
|
171
|
+
/** 상품 유입 정보 */
|
|
172
|
+
export interface StoreItemInflowInfo {
|
|
173
|
+
/** yg 타입 정보 */
|
|
174
|
+
yg_type: string;
|
|
175
|
+
/** yg 메서드 정보 */
|
|
176
|
+
yg_method?: string;
|
|
177
|
+
/** 들어온 시간 */
|
|
178
|
+
inflowDate: Date;
|
|
179
|
+
/** 들어오기 이전 페이지 */
|
|
180
|
+
referer?: string;
|
|
181
|
+
/** url */
|
|
182
|
+
url?: string;
|
|
183
|
+
/** device 정보 */
|
|
184
|
+
userAgent?: string;
|
|
185
|
+
/** ip */
|
|
186
|
+
ip: string;
|
|
187
|
+
/** 앱 유입 */
|
|
188
|
+
appHost?: string;
|
|
189
|
+
/** device 정보 */
|
|
190
|
+
device?: StoreItemInflowInfoDevice;
|
|
191
|
+
}
|
|
192
|
+
/** 판매 정보 (완료) */
|
|
193
|
+
export interface StoreItemSellingInfo {
|
|
194
|
+
/** 판매정보로그 아이디 */
|
|
195
|
+
sellingInfoLogId?: Types.ObjectId | string;
|
|
196
|
+
/** 구매 지역 */
|
|
197
|
+
area: string;
|
|
198
|
+
/** 구매 나라 */
|
|
199
|
+
nation: string;
|
|
200
|
+
/** 구매 도시 */
|
|
201
|
+
city: string;
|
|
202
|
+
/** 주문 마감일이 있는가 */
|
|
203
|
+
isExistDueDate: boolean;
|
|
204
|
+
/** 주문 마감일 */
|
|
205
|
+
dueDate?: Date;
|
|
206
|
+
/** 거래 예정일 (마감일 없을때 거래 예정일만 받는다) */
|
|
207
|
+
deliveryDate?: Date;
|
|
208
|
+
/** 배송 여부 */
|
|
209
|
+
isShipping: boolean;
|
|
210
|
+
/** 배송 정보 */
|
|
211
|
+
shippingInfo?: StoreItemSellingInfoShippingInfo;
|
|
212
|
+
isDirect: boolean;
|
|
213
|
+
/**
|
|
214
|
+
* @description 직거래 정보
|
|
215
|
+
* - isDirect === true 일때 존재
|
|
216
|
+
*/
|
|
217
|
+
directInfo?: StoreItemDirectInfo;
|
|
218
|
+
/** 여행의 직구 서비스 */
|
|
219
|
+
isVisit: boolean;
|
|
220
|
+
/** @description 방문 정보
|
|
221
|
+
* - isVisit === true 일때에도 nullable
|
|
222
|
+
*/
|
|
223
|
+
visitInfo?: StoreItemVisitInfo;
|
|
224
|
+
}
|
|
225
|
+
export interface StoreItemVisitInfo {
|
|
226
|
+
/** 센터에 제품을 맡길 날짜 */
|
|
227
|
+
keepingDate: Date;
|
|
228
|
+
/** 정기적으로 센터에 맡기기 할것인가 */
|
|
229
|
+
isRegularlyKeeping: boolean;
|
|
230
|
+
/** 정기적으로 센터에 맡기기 일자 */
|
|
231
|
+
regularlyKeepingDays?: number;
|
|
232
|
+
}
|
|
233
|
+
export interface StoreItemDirectInfo {
|
|
234
|
+
/** 예상 거래예정일 */
|
|
235
|
+
expectedDeliveryDays?: number;
|
|
236
|
+
/** 주소 */
|
|
237
|
+
address: string;
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* @description 배송 정보
|
|
241
|
+
* @TODO 배송 정보 초기화가 필요함
|
|
242
|
+
* - isShipping === false 시 shippingInfo = null 처리
|
|
243
|
+
* */
|
|
244
|
+
export interface StoreItemSellingInfoShippingInfo {
|
|
245
|
+
/**
|
|
246
|
+
* @description 발송 예상일
|
|
247
|
+
* - 마감일이 없을 시 && 배송 지원 시 무조건 필요
|
|
248
|
+
* */
|
|
249
|
+
expectedSendDays?: number;
|
|
250
|
+
/** 해외 배송 인가? */
|
|
251
|
+
isAbroadShipping: boolean;
|
|
252
|
+
/** @description 선불 인가? 착불, 선불 (조건 배송비 일때 undefined 처리) */
|
|
253
|
+
isPrepay?: boolean;
|
|
254
|
+
/** @description 선불 가격 (조건 배송비 일때 undefined 처리) */
|
|
255
|
+
prepayPrice?: number;
|
|
256
|
+
/** @description 묶음 배송을 지원하는가 (조건 배송비 일때 undefined 처리) */
|
|
257
|
+
isBundleShipping?: boolean;
|
|
258
|
+
/** @description 묶음 배송 수수료 */
|
|
259
|
+
bundleShippingFee?: number;
|
|
260
|
+
/**
|
|
261
|
+
* @description 조건 배송 정보
|
|
262
|
+
* - 해외 배송일때만 가능!, 묶음 배송이랑 같이 true 될 수 없음
|
|
263
|
+
*/
|
|
264
|
+
isShippingTerms: boolean;
|
|
265
|
+
/**
|
|
266
|
+
* @description 조건 배송 정보
|
|
267
|
+
* - isShippingTerms === true 일때 존재
|
|
268
|
+
* */
|
|
269
|
+
shippingTermsInfo?: StoreItemSellingInfoShippingTermsInfo;
|
|
270
|
+
}
|
|
271
|
+
/** @description 조건 배송 정보 */
|
|
272
|
+
export interface StoreItemSellingInfoShippingTermsInfo {
|
|
273
|
+
/** 조건 배송 종류 <shippingFeeBySection, > */
|
|
274
|
+
shippingTermsType?: string;
|
|
275
|
+
/**
|
|
276
|
+
* @description 구간별 배송비
|
|
277
|
+
*/
|
|
278
|
+
shippingFeeBySection?: StoreItemSellingInfoShippingFeeBySection;
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* @description 구간별 배송비
|
|
282
|
+
* - lastSectionShippingFee은 마지막 until 초과일때 가격
|
|
283
|
+
*/
|
|
284
|
+
export interface StoreItemSellingInfoShippingFeeBySection {
|
|
285
|
+
shippingFeeSectionList: StoreItemSellingInfoShippingFeeSection[];
|
|
286
|
+
lastSectionShippingFee?: number;
|
|
287
|
+
}
|
|
288
|
+
export interface StoreItemSellingInfoShippingFeeSection {
|
|
289
|
+
until: number;
|
|
290
|
+
untilShippingFee: number;
|
|
291
|
+
}
|
|
292
|
+
/** 유의 사항 정보 */
|
|
293
|
+
export interface StoreItemPrecautionInfo {
|
|
294
|
+
/** 유의 사항 코드 리스트 */
|
|
295
|
+
precautionCodeList: PrecautionCodeEnum[];
|
|
296
|
+
/**
|
|
297
|
+
* @description 기타 유의사항
|
|
298
|
+
* - PC000 일때만 해당
|
|
299
|
+
* */
|
|
300
|
+
precautionEtc?: string;
|
|
301
|
+
}
|
|
302
|
+
/** 정렬 정보 */
|
|
303
|
+
export interface StoreItemSortInfo {
|
|
304
|
+
/** 거래 예정일 순 */
|
|
305
|
+
deliveryDateSort: Date;
|
|
306
|
+
/** 리뷰 많은 순 */
|
|
307
|
+
reviewCount?: number;
|
|
308
|
+
/** 평점 높은 순 */
|
|
309
|
+
rating?: number;
|
|
310
|
+
}
|
|
311
|
+
/** 상품 컨텐츠 정보 */
|
|
312
|
+
export interface StoreItemContentsInfo {
|
|
313
|
+
/**
|
|
314
|
+
* 컨텐츠 종류
|
|
315
|
+
* type : img; video
|
|
316
|
+
*/
|
|
317
|
+
contentsType: StoreItemContentsTypeEnum;
|
|
318
|
+
/** 타이틀 */
|
|
319
|
+
title: string;
|
|
320
|
+
/** 설명 */
|
|
321
|
+
explanation: string;
|
|
322
|
+
/** 비디오 주소 */
|
|
323
|
+
videoUrl?: string;
|
|
324
|
+
/** 콘텐츠 이미지 정보 */
|
|
325
|
+
imgUrl?: string;
|
|
326
|
+
/** @deprecated 리사이징 여부 */
|
|
327
|
+
isResize?: boolean;
|
|
328
|
+
/** @deprecated 버킷 이름 */
|
|
329
|
+
bucket?: string;
|
|
330
|
+
/** @deprecated 이미지 host 이름 */
|
|
331
|
+
frontUrl?: string;
|
|
332
|
+
/** @deprecated Cloud Front 적용 여부 */
|
|
333
|
+
isCF?: boolean;
|
|
334
|
+
/**
|
|
335
|
+
* 이미지 정보
|
|
336
|
+
* @TODO 개편이 필요함
|
|
337
|
+
* */
|
|
338
|
+
imgInfo?: StoreItemContentsImgInfo;
|
|
339
|
+
/** @description html 컨텐츠 여부 */
|
|
340
|
+
isHtmlContents?: boolean;
|
|
341
|
+
}
|
|
342
|
+
export interface StoreItemContentsImgInfo {
|
|
343
|
+
origin: StoreItemContentsImgDetailInfo;
|
|
344
|
+
}
|
|
345
|
+
export interface StoreItemContentsImgDetailInfo {
|
|
346
|
+
imgKey: string;
|
|
347
|
+
imgUrl: string;
|
|
348
|
+
imgSizeInfo: StoreItemContentsImgSizeInfo;
|
|
349
|
+
}
|
|
350
|
+
export interface StoreItemContentsImgSizeInfo {
|
|
351
|
+
width: number;
|
|
352
|
+
height: number;
|
|
353
|
+
}
|
|
354
|
+
/** 상품 이미지 정보 */
|
|
355
|
+
export interface StoreItemImgInfo {
|
|
356
|
+
/** Cloud Front 처리 여부 */
|
|
357
|
+
isCF?: boolean;
|
|
358
|
+
/** 리사이징 여부 */
|
|
359
|
+
isResize: boolean;
|
|
360
|
+
/** 버킷 이름 */
|
|
361
|
+
bucket?: string;
|
|
362
|
+
/** 프론트 url */
|
|
363
|
+
frontUrl?: string;
|
|
364
|
+
itemImgList: StoreItemImgListDetail[];
|
|
365
|
+
}
|
|
366
|
+
export interface StoreItemImgListDetail {
|
|
367
|
+
origin: string;
|
|
368
|
+
xl: string;
|
|
369
|
+
l: string;
|
|
370
|
+
m: string;
|
|
371
|
+
s: string;
|
|
372
|
+
xs: string;
|
|
373
|
+
}
|
|
374
|
+
/** 스티커 정보 */
|
|
375
|
+
export interface StoreItemStickerInfo {
|
|
376
|
+
/** 스티커 아이디 */
|
|
377
|
+
storeItemStickerId: Types.ObjectId | string;
|
|
378
|
+
/** 저장일 */
|
|
379
|
+
regDate: Date;
|
|
380
|
+
/** 스티커 이름 */
|
|
381
|
+
stickerName: string;
|
|
382
|
+
/** 스티커 타이틀 */
|
|
383
|
+
stickerTitle: string;
|
|
384
|
+
/** 배경색 */
|
|
385
|
+
backgroundColor: string;
|
|
386
|
+
/** 글자색 */
|
|
387
|
+
textColor: string;
|
|
388
|
+
/** 스티커 출력 순서 */
|
|
389
|
+
stickerSort: number;
|
|
390
|
+
/** 시작일 */
|
|
391
|
+
sDate: Date;
|
|
392
|
+
/** 끝나는 날짜 */
|
|
393
|
+
eDate: Date;
|
|
394
|
+
}
|
|
395
|
+
/** @deprecated 상품 리뷰 정보 */
|
|
396
|
+
export interface StoreItemReviewInfo {
|
|
397
|
+
/** 카테고리 수정 날짜 */
|
|
398
|
+
lastCategoryModifyDate: Date;
|
|
399
|
+
}
|
|
400
|
+
/** 상품 보험 정보 */
|
|
401
|
+
export interface StoreItemInsuranceInfo {
|
|
402
|
+
/** 보험 적용 여부 */
|
|
403
|
+
isInsurance: boolean;
|
|
404
|
+
/** 보험금액 */
|
|
405
|
+
unitPrice?: number;
|
|
406
|
+
/** 상품가격 + 보험 금액 */
|
|
407
|
+
itemPriceWithInsurance: number;
|
|
408
|
+
}
|
|
409
|
+
/** 성인 상품 정보 */
|
|
410
|
+
export interface StoreItemAdultItemInfo {
|
|
411
|
+
/** 성인 상품 여부 */
|
|
412
|
+
isAdultItem: boolean;
|
|
413
|
+
/** 업데이트 일자 */
|
|
414
|
+
updateDate?: Date;
|
|
415
|
+
}
|
|
416
|
+
/** 크롤링 상품 구매 snapshot */
|
|
417
|
+
export interface StoreItemCrawlingPurchaseSnapshotInfo {
|
|
418
|
+
/** 원본 상품 단가 */
|
|
419
|
+
originalUnitPrice: number;
|
|
420
|
+
/** 원본 상품 통화 */
|
|
421
|
+
originalCurrency: string;
|
|
422
|
+
/** 크롤링/계산 당시 환율 */
|
|
423
|
+
exchangeRate?: number;
|
|
424
|
+
/** 환율 가산 방식 */
|
|
425
|
+
exchangeRateMarkupType?: string;
|
|
426
|
+
/** 환율 가산 값 */
|
|
427
|
+
exchangeRateMarkupValue?: number;
|
|
428
|
+
/** 환율 가산 적용 후 환율 */
|
|
429
|
+
exchangeRateAfterMarkup?: number;
|
|
430
|
+
/** 상품가 가산율 적용 퍼센트 */
|
|
431
|
+
itemPriceMarkupPercent?: number;
|
|
432
|
+
/** 상품가 가산율 적용 전 상품가 */
|
|
433
|
+
itemPriceBeforeItemMarkup?: number;
|
|
434
|
+
/** 상품가 가산율 적용 후 상품가 */
|
|
435
|
+
itemPriceAfterItemMarkup?: number;
|
|
436
|
+
/** 크로켓에 적용된 상품가 */
|
|
437
|
+
appliedItemPrice: number;
|
|
438
|
+
/** 크로켓에 적용된 배송비 */
|
|
439
|
+
appliedShippingFee: number;
|
|
440
|
+
/** 계산된 배송비를 상품가에 포함했는지 여부 */
|
|
441
|
+
isShippingFeeIncludedInItemPrice?: boolean;
|
|
442
|
+
/** 상품가에 포함된 배송비 */
|
|
443
|
+
includedShippingFee?: number;
|
|
444
|
+
/** 배송비 포함 처리 전 계산된 배송비 */
|
|
445
|
+
shippingFeeBeforeInclusion?: number;
|
|
446
|
+
/** 크롤링 원본 브랜드명 */
|
|
447
|
+
brandName?: string;
|
|
448
|
+
/** 구매 출발 국가 */
|
|
449
|
+
originCountry?: string;
|
|
450
|
+
/** 구매 도착 국가 */
|
|
451
|
+
destinationCountry?: string;
|
|
452
|
+
}
|
|
453
|
+
export type StoreItemTranslationTrigger = 'CREATED' | 'UPDATED';
|
|
454
|
+
/** 크롤링으로 등록/관리되는 상품의 원본 식별 정보 */
|
|
455
|
+
export interface StoreItemCrawlingInfo {
|
|
456
|
+
/** 크롤링 상품 여부 */
|
|
457
|
+
isCrawled: boolean;
|
|
458
|
+
/** item-crawler의 crawling_item_host.id */
|
|
459
|
+
crawlingItemHostId: number;
|
|
460
|
+
/** item-crawler의 crawling_item_host.host_name 값 */
|
|
461
|
+
crawlingItemHostName: string;
|
|
462
|
+
/** item-crawler의 crawling_item_host.base_url 값 */
|
|
463
|
+
crawlingItemHostBaseUrl: string;
|
|
464
|
+
/** host 기준 외부 상품 아이디 */
|
|
465
|
+
externalItemId: string;
|
|
466
|
+
/** 원본 상품 상세 URL */
|
|
467
|
+
sourceUrl: string;
|
|
468
|
+
/** 크롤링 상품 구매 snapshot */
|
|
469
|
+
purchaseSnapshot?: StoreItemCrawlingPurchaseSnapshotInfo;
|
|
470
|
+
/** 마지막 등록/수정/판매중지 동기화 성공 일자 */
|
|
471
|
+
lastSyncedAt?: Date;
|
|
472
|
+
/** item-crawler에서 적용 대기 중인 번역 Job UUID */
|
|
473
|
+
pendingTranslationId?: string;
|
|
474
|
+
/** 번역 완료 시 삭제 상태 복구 여부를 판단하는 상품 sync 유형 */
|
|
475
|
+
pendingTranslationTrigger?: StoreItemTranslationTrigger;
|
|
476
|
+
/** 멱등한 결과 재발행을 위해 마지막으로 적용한 번역 Job UUID */
|
|
477
|
+
lastAppliedTranslationId?: string;
|
|
478
|
+
}
|
|
479
|
+
/**
|
|
480
|
+
* @description 상품
|
|
6
481
|
*/
|
|
7
|
-
export interface StoreItemEntity
|
|
482
|
+
export interface StoreItemEntity {
|
|
483
|
+
/**
|
|
484
|
+
* 아이디
|
|
485
|
+
* - 검증: true
|
|
486
|
+
* */
|
|
487
|
+
_id: Types.ObjectId | string;
|
|
488
|
+
/**
|
|
489
|
+
* 스토어 아이디
|
|
490
|
+
* - 검증: true
|
|
491
|
+
* */
|
|
492
|
+
storeId: Types.ObjectId | string;
|
|
493
|
+
/** Atlas Search facet용 스토어 아이디 문자열 */
|
|
494
|
+
storeIdFacet?: string;
|
|
495
|
+
/**
|
|
496
|
+
* 셀러의 유저 아이디
|
|
497
|
+
* - 검증: true
|
|
498
|
+
* */
|
|
499
|
+
sellerId: Types.ObjectId | string;
|
|
500
|
+
/** 셀러가 상품 관리에 사용하는 비공개 메모 */
|
|
501
|
+
sellerMemo?: string;
|
|
8
502
|
/** 중고 상품 여부 (미설정 시 신상품으로 해석) */
|
|
9
503
|
isUsedProduct?: boolean;
|
|
504
|
+
/** 크롤링 원본 상품 식별 정보 */
|
|
505
|
+
crawling?: StoreItemCrawlingInfo;
|
|
506
|
+
/**
|
|
507
|
+
* 상품 가격
|
|
508
|
+
* - 검증: true
|
|
509
|
+
* */
|
|
510
|
+
itemPrice: number;
|
|
511
|
+
/**
|
|
512
|
+
* 구매자용 상품 가격
|
|
513
|
+
* - 검증: true
|
|
514
|
+
* */
|
|
515
|
+
itemPriceForBuyer: number;
|
|
516
|
+
/**
|
|
517
|
+
* 배송비를 포함한 상품 가격
|
|
518
|
+
* - 조건 배송비일 경우 첫번째 조건
|
|
519
|
+
* - 검증: true */
|
|
520
|
+
itemPriceWithShippingFee: number;
|
|
521
|
+
/**
|
|
522
|
+
* 배송비를 포함한 구매자가 보는 상품 가격
|
|
523
|
+
* - 조건 배송비일 경우 첫번째 조건
|
|
524
|
+
* - 검증: true
|
|
525
|
+
* */
|
|
526
|
+
itemPriceForBuyerWithShippingFee: number;
|
|
527
|
+
/** @description 배송비를 포함한 구매자가 보는 상품 가격 (쿠폰 할인 적용) */
|
|
528
|
+
itemPriceForBuyerWithShippingFeeAndCouponDiscount?: number;
|
|
529
|
+
/**
|
|
530
|
+
* 남은 수
|
|
531
|
+
* - 검증: true
|
|
532
|
+
* */
|
|
533
|
+
remainCount: number;
|
|
534
|
+
/**
|
|
535
|
+
* @deprecated 옵션 정보 (legacy)
|
|
536
|
+
* - group 옵션 시 null
|
|
537
|
+
* - 검증: true
|
|
538
|
+
* */
|
|
539
|
+
option?: StoreItemOption[] | null;
|
|
540
|
+
/**
|
|
541
|
+
* 옵션 정보 (통합)
|
|
542
|
+
* - 검증: true
|
|
543
|
+
* */
|
|
544
|
+
optionInfo: StoreItemOptionInfo;
|
|
545
|
+
/**
|
|
546
|
+
* @deprecated 구매 지역
|
|
547
|
+
* - 검증: true
|
|
548
|
+
* */
|
|
549
|
+
area: string;
|
|
550
|
+
/**
|
|
551
|
+
* @deprecated 구매 나라
|
|
552
|
+
* - 검증: true
|
|
553
|
+
* */
|
|
554
|
+
nation: string;
|
|
555
|
+
/** 구매 지역 + 나라 */
|
|
556
|
+
combinedAreaNation?: string;
|
|
557
|
+
/**
|
|
558
|
+
* @deprecated 구매 도시
|
|
559
|
+
* - 검증: true
|
|
560
|
+
* */
|
|
561
|
+
city: string;
|
|
562
|
+
/**
|
|
563
|
+
* 상품 명
|
|
564
|
+
* - 검증: true
|
|
565
|
+
* */
|
|
566
|
+
itemName: string;
|
|
567
|
+
/** 상품 일원화 그룹 검색용 상품명 목록 */
|
|
568
|
+
itemNamesForStoreItemGroupSearch?: string[];
|
|
569
|
+
/** 상품 명 (영문명) */
|
|
570
|
+
itemNameEng?: string;
|
|
571
|
+
/**
|
|
572
|
+
* 상품 명 키 (uniq)
|
|
573
|
+
* - 삭제되었던 상품은 데이터가 추가되지 않았음
|
|
574
|
+
* - 검증: true
|
|
575
|
+
* */
|
|
576
|
+
itemNameKey?: string;
|
|
577
|
+
/**
|
|
578
|
+
* 상품명 키 for Naver (uniq)
|
|
579
|
+
* - 검증: true
|
|
580
|
+
* */
|
|
581
|
+
itemNameKeyForNaver: string;
|
|
582
|
+
/**
|
|
583
|
+
* @deprecated 옛날 카테고리
|
|
584
|
+
* - 검증: true
|
|
585
|
+
* */
|
|
586
|
+
category?: string;
|
|
587
|
+
/**
|
|
588
|
+
* 카테고리 버전
|
|
589
|
+
* - 검증: true
|
|
590
|
+
* */
|
|
591
|
+
categoryVersion: string;
|
|
592
|
+
/**
|
|
593
|
+
* 카테고리 major 버전
|
|
594
|
+
* - 검증: true
|
|
595
|
+
* */
|
|
596
|
+
categoryMajorVersion: number;
|
|
597
|
+
/**
|
|
598
|
+
* 메인카테고리
|
|
599
|
+
* - 검증: true
|
|
600
|
+
* */
|
|
601
|
+
mainCategory: string;
|
|
602
|
+
/**
|
|
603
|
+
* 서브 카테고리
|
|
604
|
+
* - 검증: true
|
|
605
|
+
* */
|
|
606
|
+
subCategory: string;
|
|
607
|
+
/** 카테고리 조합 */
|
|
608
|
+
combinedCategory?: string;
|
|
609
|
+
/**
|
|
610
|
+
* 상품 이미지
|
|
611
|
+
* - 검증: true
|
|
612
|
+
* */
|
|
613
|
+
itemImg: string[];
|
|
614
|
+
/**
|
|
615
|
+
* @deprecated 구매 날짜
|
|
616
|
+
* - 검증: true
|
|
617
|
+
* */
|
|
618
|
+
purchased?: Date;
|
|
619
|
+
/**
|
|
620
|
+
* 상품 설명
|
|
621
|
+
* - 검증: true
|
|
622
|
+
* */
|
|
623
|
+
contents: string;
|
|
624
|
+
/**
|
|
625
|
+
* 저장 날짜
|
|
626
|
+
* - 검증: true
|
|
627
|
+
* */
|
|
628
|
+
regDate: Date;
|
|
629
|
+
/**
|
|
630
|
+
* 마지막 수정 날짜
|
|
631
|
+
* - 검증: true
|
|
632
|
+
* */
|
|
633
|
+
lastModifyDate: Date;
|
|
634
|
+
/**
|
|
635
|
+
* 배송 정보 - 변경 시 sellingInfo 변경 같이 해줘야함 (구 버전)
|
|
636
|
+
* @TODO 개편이 필요함
|
|
637
|
+
* - 검증: true
|
|
638
|
+
* */
|
|
639
|
+
deliveryMethod: StoreItemDeliveryMethod;
|
|
640
|
+
/**
|
|
641
|
+
* @deprecated 만료일 추가 - 없앨 예정
|
|
642
|
+
* - 검증: true
|
|
643
|
+
* */
|
|
644
|
+
dueDate?: Date;
|
|
645
|
+
/**
|
|
646
|
+
* 판매중인가
|
|
647
|
+
* - 검증: true
|
|
648
|
+
* */
|
|
649
|
+
isSelling: boolean;
|
|
650
|
+
/** 개인통관고유부호 필요 여부 (미설정 시 필요로 해석) */
|
|
651
|
+
isRequiredPCCC?: boolean;
|
|
652
|
+
/**
|
|
653
|
+
* @deprecated 상품 평점
|
|
654
|
+
* - 검증: true
|
|
655
|
+
* */
|
|
656
|
+
rating: StoreItemRating[];
|
|
657
|
+
/**
|
|
658
|
+
* @decprecated qna 정보
|
|
659
|
+
* @TODO 리펙토링 진행해야함
|
|
660
|
+
* - 검증: true
|
|
661
|
+
* */
|
|
662
|
+
qna: StoreItemQna[];
|
|
663
|
+
/**
|
|
664
|
+
* 관리자 용
|
|
665
|
+
* - 검증: true
|
|
666
|
+
* */
|
|
667
|
+
isBannerExist?: boolean;
|
|
668
|
+
/**
|
|
669
|
+
* @decprecated 웹 배너 이미지 (사용중인지 확인이 필요함)
|
|
670
|
+
* - 검증: true
|
|
671
|
+
* */
|
|
672
|
+
webBannerImg?: string;
|
|
673
|
+
/**
|
|
674
|
+
* @decprecated 모바일 배너 이미지 (사용중인지 확인이 필요함)
|
|
675
|
+
* - 검증: true
|
|
676
|
+
* */
|
|
677
|
+
mobileBannerImg?: string;
|
|
678
|
+
/**
|
|
679
|
+
* @decprecated (사용중인지 확인이 필요함)
|
|
680
|
+
* - 검증: true
|
|
681
|
+
* */
|
|
682
|
+
bannerstring1?: string;
|
|
683
|
+
/**
|
|
684
|
+
* @decprecated (사용중인지 확인이 필요함)
|
|
685
|
+
* - 검증: true
|
|
686
|
+
* */
|
|
687
|
+
bannerstring2?: string;
|
|
688
|
+
/**
|
|
689
|
+
* nv_mid
|
|
690
|
+
* - 검증: true
|
|
691
|
+
* */
|
|
692
|
+
nv_mid?: string;
|
|
693
|
+
/**
|
|
694
|
+
* 네이버 정보
|
|
695
|
+
* @TODO 리펙토링 필요해보임
|
|
696
|
+
* - 검증: true
|
|
697
|
+
* */
|
|
698
|
+
nvInfo?: StoreItemNaverInfo;
|
|
699
|
+
/**
|
|
700
|
+
* @decprecated relateStoreItemCopyId
|
|
701
|
+
* - 검증: true
|
|
702
|
+
* */
|
|
703
|
+
relateStoreItemCopyId?: Types.ObjectId | string;
|
|
704
|
+
/**
|
|
705
|
+
* 판매 개수 제한
|
|
706
|
+
* - 검증: true
|
|
707
|
+
* */
|
|
708
|
+
isLimitSale: boolean;
|
|
709
|
+
/**
|
|
710
|
+
* 판매 제한 정보
|
|
711
|
+
* - 검증: true
|
|
712
|
+
* */
|
|
713
|
+
limitSaleInfo?: LimitSaleInfo;
|
|
714
|
+
/**
|
|
715
|
+
* @decprecated 거래 예정일 (sellingInfo 정보에 존재함)
|
|
716
|
+
* - 검증: true
|
|
717
|
+
* */
|
|
718
|
+
deliveryDate?: Date;
|
|
719
|
+
/**
|
|
720
|
+
* 판매 수
|
|
721
|
+
* - 검증: true
|
|
722
|
+
* */
|
|
723
|
+
soldNums: number;
|
|
724
|
+
/**
|
|
725
|
+
* 삭제 되었는가
|
|
726
|
+
* - 검증: true
|
|
727
|
+
* */
|
|
728
|
+
isDelete: boolean;
|
|
729
|
+
/**
|
|
730
|
+
* 찜한 수
|
|
731
|
+
* - 검증: true
|
|
732
|
+
* */
|
|
733
|
+
bookNums: number;
|
|
734
|
+
/**
|
|
735
|
+
* 유입 정보
|
|
736
|
+
* - 검증: true
|
|
737
|
+
* */
|
|
738
|
+
inflowInfo?: StoreItemInflowInfo;
|
|
739
|
+
/**
|
|
740
|
+
* 찜 만료 처리를 하였는가 (cron 용)
|
|
741
|
+
* - 검증: true
|
|
742
|
+
* */
|
|
743
|
+
isBookmarkExpired: boolean;
|
|
744
|
+
/**
|
|
745
|
+
* @deprecated 이 상품을 보여줄 나라 리스트
|
|
746
|
+
* - 검증: true
|
|
747
|
+
* */
|
|
748
|
+
showNationList: string[];
|
|
749
|
+
/**
|
|
750
|
+
* @deprecated 생성 수정 로그
|
|
751
|
+
* - 삭제 예정
|
|
752
|
+
* - 검증: true
|
|
753
|
+
* */
|
|
754
|
+
log: any[];
|
|
755
|
+
/**
|
|
756
|
+
* @deprecated origin 상품 이미지 리스트
|
|
757
|
+
* - 검증: true
|
|
758
|
+
* */
|
|
759
|
+
originItemImg: string[];
|
|
760
|
+
/**
|
|
761
|
+
* @deprecated 금액 나라 코드
|
|
762
|
+
* - 검증: true
|
|
763
|
+
* */
|
|
764
|
+
moneyNationCode: string;
|
|
765
|
+
/**
|
|
766
|
+
* @description 판매정보
|
|
767
|
+
* - 배송 정보 변경시 delivertMethod 변경해줘야함
|
|
768
|
+
* - 검증: true
|
|
769
|
+
* */
|
|
770
|
+
sellingInfo: StoreItemSellingInfo;
|
|
771
|
+
/**
|
|
772
|
+
* 유의사항 정보
|
|
773
|
+
* - 검증: true
|
|
774
|
+
* */
|
|
775
|
+
precautionInfo: StoreItemPrecautionInfo;
|
|
776
|
+
/**
|
|
777
|
+
* cron을 통해 해당 데이터 저장
|
|
778
|
+
* @TODO 해당 데이터 저장 방식에 대해 리펙토링이 필요함
|
|
779
|
+
* - 검증: true
|
|
780
|
+
* */
|
|
781
|
+
clickNums?: number;
|
|
782
|
+
clickNumsUpdateDate?: Date;
|
|
783
|
+
/**
|
|
784
|
+
* sort 정보
|
|
785
|
+
* - 검증: true
|
|
786
|
+
* */
|
|
787
|
+
sortInfo: StoreItemSortInfo;
|
|
788
|
+
/**
|
|
789
|
+
* 상품 콘텐츠 리스트
|
|
790
|
+
* - 검증: true
|
|
791
|
+
* */
|
|
792
|
+
contentsList?: StoreItemContentsInfo[];
|
|
793
|
+
/**
|
|
794
|
+
* 상품 이미지 정보
|
|
795
|
+
* @TODO 개편이 필요함
|
|
796
|
+
* - 검증: true
|
|
797
|
+
* */
|
|
798
|
+
itemImgInfo?: StoreItemImgInfo;
|
|
799
|
+
/**
|
|
800
|
+
* 스티커 여부
|
|
801
|
+
* - 검증: true
|
|
802
|
+
* */
|
|
803
|
+
isSticker?: boolean;
|
|
804
|
+
/**
|
|
805
|
+
* 스티커 정보
|
|
806
|
+
* - 검증: true
|
|
807
|
+
* */
|
|
808
|
+
stickerInfo?: StoreItemStickerInfo;
|
|
809
|
+
/**
|
|
810
|
+
* @deprecated 상품 리뷰 정보
|
|
811
|
+
* - 검증: true
|
|
812
|
+
* */
|
|
813
|
+
itemReviewInfo?: StoreItemReviewInfo;
|
|
814
|
+
/**
|
|
815
|
+
* 보험 금액
|
|
816
|
+
* - 검증: true
|
|
817
|
+
* */
|
|
818
|
+
insuranceInfo: StoreItemInsuranceInfo;
|
|
819
|
+
/**
|
|
820
|
+
* 성인 상품 정보
|
|
821
|
+
* - 검증: true
|
|
822
|
+
* */
|
|
823
|
+
adultItemInfo?: StoreItemAdultItemInfo;
|
|
824
|
+
/**
|
|
825
|
+
* 고정 콘텐츠 리스트
|
|
826
|
+
* - 관리자에서 고정이미지를 등록하는 경우에만 존재
|
|
827
|
+
*/
|
|
828
|
+
fixedContents?: StoreItemFixedContent[];
|
|
829
|
+
/** @description 셀렉션 상품 연결 리스트 */
|
|
830
|
+
selectionInfos?: SelectionConnectInfo[];
|
|
831
|
+
/** 최대 할인 쿠폰가 적용이 되었는지 여부 */
|
|
832
|
+
isExistsMaxDiscountCoupon?: boolean;
|
|
833
|
+
/** 최대 할인 쿠폰가 적용이 되었는지 여부 업데이트 일자 */
|
|
834
|
+
maxDiscountCouponUpdateDate?: Date;
|
|
835
|
+
soldNumsLastNdays?: number;
|
|
836
|
+
soldNumsLastNdaysUpdateDate?: Date;
|
|
837
|
+
bookNumsLastNDays?: number;
|
|
838
|
+
bookNumsLastNDaysUpdateDate?: Date;
|
|
839
|
+
reviewNumsLastNDays?: number;
|
|
840
|
+
reviewNumsLastNDaysUpdateDate?: Date;
|
|
841
|
+
brandInfo?: StoreItemBrandInfo;
|
|
842
|
+
/** @description 마지막 판매 중지된 날짜 (by 홍준) */
|
|
843
|
+
lastStopSellingDate?: Date;
|
|
844
|
+
htmlContentInfo?: StoreItemHtmlContentInfo;
|
|
845
|
+
/** 리사이징 정보 */
|
|
846
|
+
imgResizeInfo?: StoreItemImgResizeInfo;
|
|
847
|
+
/**
|
|
848
|
+
* @author jun
|
|
849
|
+
* 자동판매중지 판매개수 제한 여부
|
|
850
|
+
* */
|
|
851
|
+
isAutoStopSellingNumsLimit?: boolean;
|
|
852
|
+
/** 현재 판매된 수 (수정되어도 데이터 유지해야하기 때문에 밖으로 뺌) */
|
|
853
|
+
autoStopSellingCurrentSoldNums?: number;
|
|
854
|
+
/**
|
|
855
|
+
* @author jun
|
|
856
|
+
* 자동판매중지 판매개수 제한 정보
|
|
857
|
+
* */
|
|
858
|
+
autoStopSellingNumsLimitInfo?: AutoStopSellingNumsLimitInfo;
|
|
859
|
+
/** 비밀상품 여부 */
|
|
860
|
+
isSecret?: boolean;
|
|
861
|
+
/** 비밀상품 등록 일자 */
|
|
862
|
+
secretedDate?: Date;
|
|
863
|
+
/** 사방넷 상품 등록 여부 */
|
|
864
|
+
isSabang?: boolean;
|
|
865
|
+
/**
|
|
866
|
+
* @author sj
|
|
867
|
+
* 상품식별코드
|
|
868
|
+
* */
|
|
869
|
+
GTIN?: string;
|
|
870
|
+
/**
|
|
871
|
+
* @author jun
|
|
872
|
+
* 상품 리뷰 통합 여부 */
|
|
873
|
+
isItemReviewIntegration?: boolean;
|
|
874
|
+
/**
|
|
875
|
+
* @author jun
|
|
876
|
+
* 통합 정렬 업데이트 일자
|
|
877
|
+
* - 전체 integrationSortInfo 정보 초기화 시 업데이트 됨
|
|
878
|
+
*/
|
|
879
|
+
integrationSortUpdated?: Date;
|
|
880
|
+
/**
|
|
881
|
+
* @author jun
|
|
882
|
+
* 통합 정렬 정보 */
|
|
883
|
+
integrationSortInfo?: IntegrationSortInfo;
|
|
884
|
+
/**
|
|
885
|
+
* @author sj
|
|
886
|
+
* 상품 정가 (관리자가 등록한 정가)
|
|
887
|
+
* */
|
|
888
|
+
regularPrice?: number;
|
|
889
|
+
/**
|
|
890
|
+
* @author sj
|
|
891
|
+
* 정가 등록 일자
|
|
892
|
+
* */
|
|
893
|
+
regularPriceRegDate?: Date;
|
|
894
|
+
/**
|
|
895
|
+
* @author sj
|
|
896
|
+
* 정가 업데이트 일자
|
|
897
|
+
* */
|
|
898
|
+
regularPriceUpdateDate?: Date;
|
|
899
|
+
/** 설정한 키워드 목록 */
|
|
900
|
+
itemKeywords?: StoreItemKeyword[];
|
|
901
|
+
/** @description 상품 컨텐츠 영문 */
|
|
902
|
+
contentsEng?: string;
|
|
903
|
+
/** @description 상품 컨텐츠 리스트 영문 */
|
|
904
|
+
contentsListEng?: StoreItemContentsInfo[];
|
|
905
|
+
/** @description 네이버 상품 시트 연동 여부 -관리자 수동 등록- */
|
|
906
|
+
isNaverEnabled?: boolean;
|
|
907
|
+
/** @description 상품 그룹 아이디 */
|
|
908
|
+
storeItemGroupId?: Types.ObjectId;
|
|
909
|
+
/** @description 일치 키워드 */
|
|
910
|
+
matchKeywords?: string[];
|
|
911
|
+
/** @description 일치 키워드 업데이트 일자 */
|
|
912
|
+
matchKeywordsUpdateDate?: Date;
|
|
913
|
+
/** 상품 타입 */
|
|
914
|
+
itemType?: StoreItemTypeEnum;
|
|
915
|
+
/** @description 예약 상품 정보 */
|
|
916
|
+
reservationInfo?: StoreItemReservationInfo;
|
|
917
|
+
/** @description 예약 상품 통계 */
|
|
918
|
+
reservationStatsInfo?: StoreItemReservationStatsInfo;
|
|
919
|
+
}
|
|
920
|
+
/**
|
|
921
|
+
* @author jun
|
|
922
|
+
* @description 예약 상품 통계
|
|
923
|
+
*/
|
|
924
|
+
export interface StoreItemReservationStatsInfo {
|
|
925
|
+
/** @description 예약 수 */
|
|
926
|
+
reservationCount: number;
|
|
927
|
+
/** @description 결제 완료 수 (관리자 승인) */
|
|
928
|
+
paidCount: number;
|
|
929
|
+
/** @description 결제 실패 수 (관리자 거절) */
|
|
930
|
+
failedCount: number;
|
|
931
|
+
/** @description 최종 업데이트 일자 */
|
|
932
|
+
lastUpdateDate: Date;
|
|
933
|
+
}
|
|
934
|
+
/**
|
|
935
|
+
* @author jun
|
|
936
|
+
* @description 예약 상품 정보
|
|
937
|
+
*/
|
|
938
|
+
export interface StoreItemReservationInfo {
|
|
939
|
+
/** @description 예약 가능 기간 */
|
|
940
|
+
reservationPeriod: ReservationPeriod;
|
|
941
|
+
/** @description 재고확보 및 결제 기간 */
|
|
942
|
+
stockSecuringPeriod: ReservationPeriod;
|
|
943
|
+
/** @description 발송 예정 기간 */
|
|
944
|
+
shippingPeriod: ReservationPeriod;
|
|
945
|
+
/** @description 재고 모드 설정 */
|
|
946
|
+
stockModeInfo: ReservationStockModeInfo;
|
|
947
|
+
/** @description 재고확보 기간 예약 가능 여부 */
|
|
948
|
+
isReservableInStockSecuringPeriod?: boolean;
|
|
949
|
+
/** @description 배송 기간 예약 가능 여부 */
|
|
950
|
+
isReservableInShippingPeriod?: boolean;
|
|
951
|
+
/** @description 등록 일자 */
|
|
952
|
+
regDate: Date;
|
|
953
|
+
/** @description 최종 수정 일자 */
|
|
954
|
+
lastModifyDate: Date;
|
|
955
|
+
}
|
|
956
|
+
/**
|
|
957
|
+
* @author jun
|
|
958
|
+
* @description 재고 모드 설정
|
|
959
|
+
*/
|
|
960
|
+
export interface ReservationStockModeInfo {
|
|
961
|
+
/** @description 재고 모드 */
|
|
962
|
+
mode: ReservationStockModeEnum;
|
|
963
|
+
/** @description 총 수량 */
|
|
964
|
+
totalQuantity?: number;
|
|
965
|
+
/** @description 예약 수 */
|
|
966
|
+
reservedCount?: number;
|
|
967
|
+
}
|
|
968
|
+
export interface ReservationPeriod {
|
|
969
|
+
startDate: Date;
|
|
970
|
+
endDate: Date;
|
|
971
|
+
}
|
|
972
|
+
/**
|
|
973
|
+
* @author jun
|
|
974
|
+
* 상품 리뷰 통합 정보
|
|
975
|
+
* soldNums: 관련된 상품의 전체 판매 수
|
|
976
|
+
* reviewNums: 관련된 상품의 전체 리뷰 수
|
|
977
|
+
* bookNums: 관련된 상품의 전체 찜 수
|
|
978
|
+
* */
|
|
979
|
+
export interface IntegrationSortInfo {
|
|
980
|
+
/** 관련된 상품의 전체 판매 수 */
|
|
981
|
+
soldNums: number;
|
|
982
|
+
/** 관련된 상품의 전체 리뷰 수 */
|
|
983
|
+
reviewNums: number;
|
|
984
|
+
/** 관련된 상품의 전체 찜 수 */
|
|
985
|
+
bookNums: number;
|
|
986
|
+
/** 관련된 상품의 마지막 N일로 부터 판매 수 */
|
|
987
|
+
soldNumsLastNdays: number;
|
|
988
|
+
/** 관련된 상품의 마지막 N일로 부터 찜 수 */
|
|
989
|
+
bookNumsLastNDays: number;
|
|
990
|
+
/** 관련된 상품의 마지막 N일로 부터 리뷰 수 */
|
|
991
|
+
reviewNumsLastNDays: number;
|
|
992
|
+
}
|
|
993
|
+
/**
|
|
994
|
+
* @author jun
|
|
995
|
+
* 자동판매중지 판매개수 제한 정보
|
|
996
|
+
* */
|
|
997
|
+
export interface AutoStopSellingNumsLimitInfo {
|
|
998
|
+
/** 판매개수 제한 수 */
|
|
999
|
+
sellingNumsLimit: number;
|
|
1000
|
+
/** 판매개수 제한 업데이트 일자 */
|
|
1001
|
+
sellingNumsLimitUpdateDate?: Date;
|
|
1002
|
+
}
|
|
1003
|
+
/**
|
|
1004
|
+
* @author jun
|
|
1005
|
+
* @description 이미지 리사이징 정보
|
|
1006
|
+
*/
|
|
1007
|
+
export interface StoreItemImgResizeInfo {
|
|
1008
|
+
/** 이미지 버전 */
|
|
1009
|
+
version: StoreItemImgVersionEnum;
|
|
1010
|
+
/** 리사이징 시도 여부 */
|
|
1011
|
+
isResizeTry: boolean;
|
|
1012
|
+
/** 리사이징 시도 일자 */
|
|
1013
|
+
resizeTryDate?: Date;
|
|
1014
|
+
/** 리사이징 여부 */
|
|
1015
|
+
isResizeDone: boolean;
|
|
1016
|
+
/** 리사이징 완료 일자 */
|
|
1017
|
+
resizeDoneDate?: Date;
|
|
1018
|
+
/** 리사이징 오류 */
|
|
1019
|
+
isResizeError?: boolean;
|
|
1020
|
+
/** 리사이징 오류 메시지 */
|
|
1021
|
+
resizeErrorMessage?: string;
|
|
1022
|
+
}
|
|
1023
|
+
export interface StoreItemHtmlContentInfo {
|
|
1024
|
+
/** @description 원본 html 콘텐츠 */
|
|
1025
|
+
originalHtmlContent: string;
|
|
1026
|
+
/** @description 리사이징 된 html 콘텐츠 */
|
|
1027
|
+
htmlContent: string;
|
|
1028
|
+
}
|
|
1029
|
+
export interface StoreItemBrandInfo {
|
|
1030
|
+
/** @description 브랜드명 */
|
|
1031
|
+
brandName: string;
|
|
1032
|
+
/** @description 서브 브랜드명 */
|
|
1033
|
+
subBrandName?: string;
|
|
1034
|
+
/** @description 영어 브랜드명 */
|
|
1035
|
+
engBrandName?: string;
|
|
1036
|
+
/** @description 브랜드 아이디 */
|
|
1037
|
+
brandId?: string | Types.ObjectId;
|
|
1038
|
+
}
|
|
1039
|
+
/**
|
|
1040
|
+
* 고정 콘텐츠
|
|
1041
|
+
*/
|
|
1042
|
+
/** @description 셀렉션 연결된 정보 */
|
|
1043
|
+
export interface SelectionConnectInfo {
|
|
1044
|
+
selectionFrameId: string | Types.ObjectId;
|
|
1045
|
+
isPick: boolean;
|
|
1046
|
+
salesLocation?: string;
|
|
1047
|
+
regularPrice?: number;
|
|
1048
|
+
launchDateText?: string;
|
|
1049
|
+
}
|
|
1050
|
+
export interface StoreItemFixedContent {
|
|
1051
|
+
/** 고정 이미지 위치 */
|
|
1052
|
+
position: FixedContentsPositionEnum;
|
|
1053
|
+
/** 이미지 정보 */
|
|
1054
|
+
imgUrl: string;
|
|
1055
|
+
/** 이미지 가로 사이즈 */
|
|
1056
|
+
width: number;
|
|
1057
|
+
/** 이미지 세로 사이즈 */
|
|
1058
|
+
height: number;
|
|
1059
|
+
/** S3에 저장된 이미지 버킷 키 */
|
|
1060
|
+
bucketKey: string;
|
|
1061
|
+
}
|
|
1062
|
+
export interface MDThemeInfo {
|
|
1063
|
+
MDThemeGroupMainTitle: string;
|
|
1064
|
+
MDThemeGroupSubTitle: string;
|
|
1065
|
+
}
|
|
1066
|
+
export interface StoreItemKeyword {
|
|
1067
|
+
/** 키워드 */
|
|
1068
|
+
keyword: string;
|
|
1069
|
+
/** 대표키워드 여부 */
|
|
1070
|
+
isMainKeyword: boolean;
|
|
10
1071
|
}
|
|
@@ -1,2 +1,54 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StoreItemContentsTypeEnum = exports.FixedContentsPositionEnum = exports.StoreItemOptionTypeEnum = exports.PrecautionCodeEnum = exports.StoreItemImgVersionEnum = exports.ReservationStockModeEnum = exports.StoreItemTypeEnum = void 0;
|
|
4
|
+
var StoreItemTypeEnum;
|
|
5
|
+
(function (StoreItemTypeEnum) {
|
|
6
|
+
/** 일반 상품 */
|
|
7
|
+
StoreItemTypeEnum["normal"] = "normal";
|
|
8
|
+
/** 예약 상품 */
|
|
9
|
+
StoreItemTypeEnum["reservation"] = "reservation";
|
|
10
|
+
})(StoreItemTypeEnum || (exports.StoreItemTypeEnum = StoreItemTypeEnum = {}));
|
|
11
|
+
/**
|
|
12
|
+
* @author jun
|
|
13
|
+
* @description 예약 상품 재고 모드
|
|
14
|
+
*/
|
|
15
|
+
var ReservationStockModeEnum;
|
|
16
|
+
(function (ReservationStockModeEnum) {
|
|
17
|
+
/** 무제한 모드 */
|
|
18
|
+
ReservationStockModeEnum["unlimited"] = "unlimited";
|
|
19
|
+
/** 줄서기 On */
|
|
20
|
+
ReservationStockModeEnum["queueOn"] = "queueOn";
|
|
21
|
+
/** 줄서기 Off */
|
|
22
|
+
ReservationStockModeEnum["queueOff"] = "queueOff";
|
|
23
|
+
})(ReservationStockModeEnum || (exports.ReservationStockModeEnum = ReservationStockModeEnum = {}));
|
|
24
|
+
var StoreItemImgVersionEnum;
|
|
25
|
+
(function (StoreItemImgVersionEnum) {
|
|
26
|
+
/** 썸네일만 리사이징 */
|
|
27
|
+
StoreItemImgVersionEnum["v0"] = "v0";
|
|
28
|
+
})(StoreItemImgVersionEnum || (exports.StoreItemImgVersionEnum = StoreItemImgVersionEnum = {}));
|
|
29
|
+
var PrecautionCodeEnum;
|
|
30
|
+
(function (PrecautionCodeEnum) {
|
|
31
|
+
PrecautionCodeEnum["PC001"] = "PC001";
|
|
32
|
+
PrecautionCodeEnum["PC002"] = "PC002";
|
|
33
|
+
/* 'PC003', */
|
|
34
|
+
PrecautionCodeEnum["PC004"] = "PC004";
|
|
35
|
+
PrecautionCodeEnum["PC000"] = "PC000";
|
|
36
|
+
})(PrecautionCodeEnum || (exports.PrecautionCodeEnum = PrecautionCodeEnum = {}));
|
|
37
|
+
var StoreItemOptionTypeEnum;
|
|
38
|
+
(function (StoreItemOptionTypeEnum) {
|
|
39
|
+
StoreItemOptionTypeEnum["single"] = "single";
|
|
40
|
+
StoreItemOptionTypeEnum["group"] = "group";
|
|
41
|
+
})(StoreItemOptionTypeEnum || (exports.StoreItemOptionTypeEnum = StoreItemOptionTypeEnum = {}));
|
|
42
|
+
/** 고정 이미지 위치 */
|
|
43
|
+
var FixedContentsPositionEnum;
|
|
44
|
+
(function (FixedContentsPositionEnum) {
|
|
45
|
+
/** 최상단 */
|
|
46
|
+
FixedContentsPositionEnum["TOP"] = "TOP";
|
|
47
|
+
/** 최하단 */
|
|
48
|
+
FixedContentsPositionEnum["BOTTOM"] = "BOTTOM";
|
|
49
|
+
})(FixedContentsPositionEnum || (exports.FixedContentsPositionEnum = FixedContentsPositionEnum = {}));
|
|
50
|
+
var StoreItemContentsTypeEnum;
|
|
51
|
+
(function (StoreItemContentsTypeEnum) {
|
|
52
|
+
StoreItemContentsTypeEnum["img"] = "img";
|
|
53
|
+
StoreItemContentsTypeEnum["video"] = "video";
|
|
54
|
+
})(StoreItemContentsTypeEnum || (exports.StoreItemContentsTypeEnum = StoreItemContentsTypeEnum = {}));
|