@carsayo/types 1.1.892081 → 1.1.892082
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/dist/data/bankcode.d.ts +167 -0
- package/dist/data/bankcode.js +66 -0
- package/dist/data/board.d.ts +74 -0
- package/dist/data/board.js +56 -0
- package/dist/data/car.d.ts +822 -0
- package/dist/data/car.js +895 -0
- package/dist/data/carOptionRelationCategory.d.ts +20 -0
- package/dist/data/carOptionRelationCategory.js +28 -0
- package/dist/data/carPopularCategory.d.ts +20 -0
- package/dist/data/carPopularCategory.js +28 -0
- package/dist/data/collaborator.d.ts +9 -0
- package/dist/data/collaborator.js +18 -0
- package/dist/data/index.d.ts +11 -0
- package/dist/data/index.js +27 -0
- package/dist/data/purchase.d.ts +18 -0
- package/dist/data/purchase.js +25 -0
- package/dist/data/region.d.ts +1226 -0
- package/dist/data/region.js +267 -0
- package/dist/data/role.d.ts +121 -0
- package/dist/data/role.js +150 -0
- package/dist/data/sell_car.d.ts +57 -0
- package/dist/data/sell_car.js +71 -0
- package/dist/data/system.d.ts +19 -0
- package/dist/data/system.js +28 -0
- package/dist/data/term.d.ts +349 -0
- package/dist/data/term.js +395 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +18 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.js +18 -0
- package/dist/types/modules/accidentReport/dto.d.ts +73 -0
- package/dist/types/modules/accidentReport/dto.js +2 -0
- package/dist/types/modules/accidentReport/index.d.ts +3 -0
- package/dist/types/modules/accidentReport/index.js +19 -0
- package/dist/types/modules/accidentReport/interface.d.ts +309 -0
- package/dist/types/modules/accidentReport/interface.js +2 -0
- package/dist/types/modules/accidentReport/type.d.ts +36 -0
- package/dist/types/modules/accidentReport/type.js +35 -0
- package/dist/types/modules/board/dto.d.ts +189 -0
- package/dist/types/modules/board/dto.js +3 -0
- package/dist/types/modules/board/index.d.ts +3 -0
- package/dist/types/modules/board/index.js +19 -0
- package/dist/types/modules/board/interface.d.ts +233 -0
- package/dist/types/modules/board/interface.js +2 -0
- package/dist/types/modules/board/type.d.ts +30 -0
- package/dist/types/modules/board/type.js +8 -0
- package/dist/types/modules/car/dto.d.ts +404 -0
- package/dist/types/modules/car/dto.js +15 -0
- package/dist/types/modules/car/index.d.ts +3 -0
- package/dist/types/modules/car/index.js +19 -0
- package/dist/types/modules/car/interface.d.ts +594 -0
- package/dist/types/modules/car/interface.js +2 -0
- package/dist/types/modules/car/type.d.ts +11 -0
- package/dist/types/modules/car/type.js +13 -0
- package/dist/types/modules/chat/constants.d.ts +2 -0
- package/dist/types/modules/chat/constants.js +5 -0
- package/dist/types/modules/chat/dto.d.ts +4 -0
- package/dist/types/modules/chat/dto.js +2 -0
- package/dist/types/modules/chat/index.d.ts +6 -0
- package/dist/types/modules/chat/index.js +22 -0
- package/dist/types/modules/chat/type.d.ts +117 -0
- package/dist/types/modules/chat/type.js +17 -0
- package/dist/types/modules/chat/type.opponent.additionalInfo.d.ts +7 -0
- package/dist/types/modules/chat/type.opponent.additionalInfo.js +2 -0
- package/dist/types/modules/chat/type.room.additionalInfo.d.ts +52 -0
- package/dist/types/modules/chat/type.room.additionalInfo.js +2 -0
- package/dist/types/modules/chat/type.socket.d.ts +46 -0
- package/dist/types/modules/chat/type.socket.js +2 -0
- package/dist/types/modules/collaborator/dto.d.ts +10 -0
- package/dist/types/modules/collaborator/dto.js +3 -0
- package/dist/types/modules/collaborator/index.d.ts +1 -0
- package/dist/types/modules/collaborator/index.js +17 -0
- package/dist/types/modules/common/enum.d.ts +65 -0
- package/dist/types/modules/common/enum.js +69 -0
- package/dist/types/modules/common/index.d.ts +3 -0
- package/dist/types/modules/common/index.js +19 -0
- package/dist/types/modules/common/interface.d.ts +40 -0
- package/dist/types/modules/common/interface.js +2 -0
- package/dist/types/modules/common/type.d.ts +14 -0
- package/dist/types/modules/common/type.js +13 -0
- package/dist/types/modules/data/dto.d.ts +4 -0
- package/dist/types/modules/data/dto.js +7 -0
- package/dist/types/modules/data/index.d.ts +2 -0
- package/dist/types/modules/data/index.js +18 -0
- package/dist/types/modules/data/interface.d.ts +6 -0
- package/dist/types/modules/data/interface.js +2 -0
- package/dist/types/modules/file/dto.d.ts +18 -0
- package/dist/types/modules/file/dto.js +3 -0
- package/dist/types/modules/file/index.d.ts +3 -0
- package/dist/types/modules/file/index.js +19 -0
- package/dist/types/modules/file/interface.d.ts +26 -0
- package/dist/types/modules/file/interface.js +2 -0
- package/dist/types/modules/file/type.d.ts +13 -0
- package/dist/types/modules/file/type.js +15 -0
- package/dist/types/modules/history/dto.d.ts +13 -0
- package/dist/types/modules/history/dto.js +3 -0
- package/dist/types/modules/history/index.d.ts +2 -0
- package/dist/types/modules/history/index.js +18 -0
- package/dist/types/modules/history/interface.d.ts +12 -0
- package/dist/types/modules/history/interface.js +2 -0
- package/dist/types/modules/index.d.ts +20 -0
- package/dist/types/modules/index.js +36 -0
- package/dist/types/modules/inquiry/dto.d.ts +79 -0
- package/dist/types/modules/inquiry/dto.js +2 -0
- package/dist/types/modules/inquiry/index.d.ts +3 -0
- package/dist/types/modules/inquiry/index.js +19 -0
- package/dist/types/modules/inquiry/interface.d.ts +37 -0
- package/dist/types/modules/inquiry/interface.js +2 -0
- package/dist/types/modules/inquiry/type.d.ts +14 -0
- package/dist/types/modules/inquiry/type.js +15 -0
- package/dist/types/modules/insurance/dto.d.ts +88 -0
- package/dist/types/modules/insurance/dto.js +3 -0
- package/dist/types/modules/insurance/index.d.ts +2 -0
- package/dist/types/modules/insurance/index.js +18 -0
- package/dist/types/modules/insurance/interface.d.ts +58 -0
- package/dist/types/modules/insurance/interface.js +2 -0
- package/dist/types/modules/member/dto.d.ts +677 -0
- package/dist/types/modules/member/dto.js +3 -0
- package/dist/types/modules/member/index.d.ts +3 -0
- package/dist/types/modules/member/index.js +19 -0
- package/dist/types/modules/member/interface.d.ts +696 -0
- package/dist/types/modules/member/interface.js +2 -0
- package/dist/types/modules/member/type.d.ts +92 -0
- package/dist/types/modules/member/type.js +86 -0
- package/dist/types/modules/message/dto.d.ts +15 -0
- package/dist/types/modules/message/dto.js +2 -0
- package/dist/types/modules/message/index.d.ts +3 -0
- package/dist/types/modules/message/index.js +19 -0
- package/dist/types/modules/message/interface.d.ts +20 -0
- package/dist/types/modules/message/interface.js +2 -0
- package/dist/types/modules/message/type.d.ts +22 -0
- package/dist/types/modules/message/type.js +22 -0
- package/dist/types/modules/notification/dto.d.ts +13 -0
- package/dist/types/modules/notification/dto.js +3 -0
- package/dist/types/modules/notification/index.d.ts +3 -0
- package/dist/types/modules/notification/index.js +19 -0
- package/dist/types/modules/notification/interface.d.ts +19 -0
- package/dist/types/modules/notification/interface.js +2 -0
- package/dist/types/modules/notification/type.d.ts +5 -0
- package/dist/types/modules/notification/type.js +7 -0
- package/dist/types/modules/order/dto.d.ts +446 -0
- package/dist/types/modules/order/dto.js +16 -0
- package/dist/types/modules/order/index.d.ts +3 -0
- package/dist/types/modules/order/index.js +19 -0
- package/dist/types/modules/order/interface.d.ts +913 -0
- package/dist/types/modules/order/interface.js +2 -0
- package/dist/types/modules/order/type.d.ts +160 -0
- package/dist/types/modules/order/type.js +147 -0
- package/dist/types/modules/partners/dto.d.ts +37 -0
- package/dist/types/modules/partners/dto.js +11 -0
- package/dist/types/modules/partners/index.d.ts +3 -0
- package/dist/types/modules/partners/index.js +19 -0
- package/dist/types/modules/partners/interface.d.ts +40 -0
- package/dist/types/modules/partners/interface.js +2 -0
- package/dist/types/modules/partners/type.d.ts +12 -0
- package/dist/types/modules/partners/type.js +13 -0
- package/dist/types/modules/repair/constant.d.ts +28 -0
- package/dist/types/modules/repair/constant.js +139 -0
- package/dist/types/modules/repair/dto.d.ts +96 -0
- package/dist/types/modules/repair/dto.js +2 -0
- package/dist/types/modules/repair/index.d.ts +4 -0
- package/dist/types/modules/repair/index.js +20 -0
- package/dist/types/modules/repair/interface.d.ts +659 -0
- package/dist/types/modules/repair/interface.js +2 -0
- package/dist/types/modules/repair/type.d.ts +64 -0
- package/dist/types/modules/repair/type.js +71 -0
- package/dist/types/modules/sellMyCar/constant.d.ts +54 -0
- package/dist/types/modules/sellMyCar/constant.js +117 -0
- package/dist/types/modules/sellMyCar/dto-admin.d.ts +259 -0
- package/dist/types/modules/sellMyCar/dto-admin.js +2 -0
- package/dist/types/modules/sellMyCar/dto.d.ts +186 -0
- package/dist/types/modules/sellMyCar/dto.js +15 -0
- package/dist/types/modules/sellMyCar/index.d.ts +9 -0
- package/dist/types/modules/sellMyCar/index.js +25 -0
- package/dist/types/modules/sellMyCar/interface-admin.d.ts +85 -0
- package/dist/types/modules/sellMyCar/interface-admin.js +23 -0
- package/dist/types/modules/sellMyCar/interface-faq.d.ts +52 -0
- package/dist/types/modules/sellMyCar/interface-faq.js +22 -0
- package/dist/types/modules/sellMyCar/interface-member.d.ts +252 -0
- package/dist/types/modules/sellMyCar/interface-member.js +16 -0
- package/dist/types/modules/sellMyCar/interface-notice.d.ts +28 -0
- package/dist/types/modules/sellMyCar/interface-notice.js +2 -0
- package/dist/types/modules/sellMyCar/interface.d.ts +1075 -0
- package/dist/types/modules/sellMyCar/interface.js +7 -0
- package/dist/types/modules/sellMyCar/type.d.ts +203 -0
- package/dist/types/modules/sellMyCar/type.js +199 -0
- package/dist/types/modules/system/dto.d.ts +13 -0
- package/dist/types/modules/system/dto.js +3 -0
- package/dist/types/modules/system/index.d.ts +2 -0
- package/dist/types/modules/system/index.js +18 -0
- package/dist/types/modules/system/interface.d.ts +18 -0
- package/dist/types/modules/system/interface.js +2 -0
- package/dist/types/modules/term/dto.d.ts +171 -0
- package/dist/types/modules/term/dto.js +3 -0
- package/dist/types/modules/term/index.d.ts +3 -0
- package/dist/types/modules/term/index.js +19 -0
- package/dist/types/modules/term/interface.d.ts +52 -0
- package/dist/types/modules/term/interface.js +2 -0
- package/dist/types/modules/term/type.d.ts +11 -0
- package/dist/types/modules/term/type.js +13 -0
- package/dist/types/providers/coocon-usedcar/constant.d.ts +46 -0
- package/dist/types/providers/coocon-usedcar/constant.js +673 -0
- package/dist/types/providers/coocon-usedcar/dto.d.ts +23 -0
- package/dist/types/providers/coocon-usedcar/dto.js +3 -0
- package/dist/types/providers/coocon-usedcar/index.d.ts +3 -0
- package/dist/types/providers/coocon-usedcar/index.js +19 -0
- package/dist/types/providers/coocon-usedcar/interface.d.ts +305 -0
- package/dist/types/providers/coocon-usedcar/interface.js +2 -0
- package/dist/types/providers/firebase-message/dto.d.ts +56 -0
- package/dist/types/providers/firebase-message/dto.js +3 -0
- package/dist/types/providers/firebase-message/index.d.ts +2 -0
- package/dist/types/providers/firebase-message/index.js +18 -0
- package/dist/types/providers/firebase-message/interface.d.ts +4 -0
- package/dist/types/providers/firebase-message/interface.js +2 -0
- package/dist/types/providers/gabia-sms/dto.d.ts +31 -0
- package/dist/types/providers/gabia-sms/dto.js +3 -0
- package/dist/types/providers/gabia-sms/index.d.ts +1 -0
- package/dist/types/providers/gabia-sms/index.js +17 -0
- package/dist/types/providers/index.d.ts +5 -0
- package/dist/types/providers/index.js +21 -0
- package/dist/types/providers/niceapi/dto.d.ts +15 -0
- package/dist/types/providers/niceapi/dto.js +3 -0
- package/dist/types/providers/niceapi/index.d.ts +2 -0
- package/dist/types/providers/niceapi/index.js +18 -0
- package/dist/types/providers/niceapi/interface.d.ts +25 -0
- package/dist/types/providers/niceapi/interface.js +2 -0
- package/package.json +1 -1
|
@@ -0,0 +1,913 @@
|
|
|
1
|
+
import { SigunguId } from "../../../data";
|
|
2
|
+
import { CooconUsedCarInfo, CooconAccidentHistoryInfo } from "../../providers";
|
|
3
|
+
import { CarMaker, CarModel, CarTrim, CarGrade, CarColor, CarOption, InteriorCarColor } from "../car";
|
|
4
|
+
import { FileInfo } from "../file";
|
|
5
|
+
import { MemberShort, DealerShort } from "../member";
|
|
6
|
+
import { BuyerType, DutyFreeCondition, OrderTagCarState, OrderTagCarOwnership, OrderBidState, OrderCommissionMethod, OrderCommissionState, OrderCommissionType, OrderProcessState, OrderState, OrderType, SellCarBoughtMethod } from "./type";
|
|
7
|
+
export interface OrderStateCountInfo {
|
|
8
|
+
submitted: number;
|
|
9
|
+
accepted: number;
|
|
10
|
+
progressing: number;
|
|
11
|
+
nonAccepted: number;
|
|
12
|
+
failBid: number;
|
|
13
|
+
holded: number;
|
|
14
|
+
canceled: number;
|
|
15
|
+
deleted: number;
|
|
16
|
+
finished: number;
|
|
17
|
+
trashed: number;
|
|
18
|
+
}
|
|
19
|
+
export interface OrderInfoTime {
|
|
20
|
+
created_at: Date;
|
|
21
|
+
updated_at: Date;
|
|
22
|
+
/** 주문 제출 및 입찰 시작일시 */
|
|
23
|
+
submitted_at: Date | null;
|
|
24
|
+
/** 입찰 종료시점 */
|
|
25
|
+
bid_ended_at: Date | null;
|
|
26
|
+
/** 보류 시점 */
|
|
27
|
+
holded_at: Date | null;
|
|
28
|
+
/** 재시작 시점 */
|
|
29
|
+
restarted_at: Date | null;
|
|
30
|
+
/** 취소 시점 */
|
|
31
|
+
canceled_at: Date | null;
|
|
32
|
+
/** 진행중 상태로 바뀐 시점 */
|
|
33
|
+
progressed_at: Date | null;
|
|
34
|
+
/** 주문 제거 시점
|
|
35
|
+
* @description 회원이 주문을 제거했을 경우
|
|
36
|
+
*/
|
|
37
|
+
deleted_at: Date | null;
|
|
38
|
+
/** 관리자가 주문을 제거한 시점 (휴지통 보낸 시점) */
|
|
39
|
+
trashed_at: Date | null;
|
|
40
|
+
/** 종료 시점 */
|
|
41
|
+
finished_at: Date | null;
|
|
42
|
+
/** 내차팔기에서 설정한 미팅 날짜
|
|
43
|
+
* @notice 내차팔기가 아니거나, 담당 매니저가 아니거나, 미팅 날짜가 없을 경우 null입니다
|
|
44
|
+
*/
|
|
45
|
+
meeting_date: Date | null;
|
|
46
|
+
}
|
|
47
|
+
/** 향후 모든 주문은 이 정보를 기저에 깔고 갑니다 240507 */
|
|
48
|
+
export interface OrderInfo extends OrderInfoTime {
|
|
49
|
+
id: string;
|
|
50
|
+
/** 외부 노출용 고유한 주문번호 */
|
|
51
|
+
code: string;
|
|
52
|
+
type: OrderType;
|
|
53
|
+
state: OrderState;
|
|
54
|
+
member: MemberShort;
|
|
55
|
+
/** @notice 마스킹될 경우 null이 들어갑니다 */
|
|
56
|
+
manager: DealerShort | null;
|
|
57
|
+
/** 주문 제목 (주로 차량명) */
|
|
58
|
+
title: string;
|
|
59
|
+
/** 주문내 차량 이미지 url */
|
|
60
|
+
imageUrl: string | null;
|
|
61
|
+
/** "Submitted"할 때 정의됩니다. */
|
|
62
|
+
/** 신차, 리스렌트: 차량 기본가 & 내차팔기: 회원이 입력한 주행거리에 따른 예상가격 (회원에게 출력되었던 가격) */
|
|
63
|
+
price: number | null;
|
|
64
|
+
/** 제조사명 */
|
|
65
|
+
brand: string | null;
|
|
66
|
+
/** 슈퍼카 여부 */
|
|
67
|
+
isSuperCar: boolean;
|
|
68
|
+
bidderNumber: number;
|
|
69
|
+
/** 입찰 딜러 리스트
|
|
70
|
+
* @notice 마스킹처리가 가능합니다
|
|
71
|
+
* @notice 마스킹될 경우 null이 들어갑니다
|
|
72
|
+
*/
|
|
73
|
+
bidInfo: Order_BidInfo[] | null;
|
|
74
|
+
/** 타사 견적서 파일 */
|
|
75
|
+
file_otherCompanyEstimate: FileInfo | null;
|
|
76
|
+
/** 입찰 내용 (낙찰된 주문에서만 정의)
|
|
77
|
+
* @notice 마스킹될 경우 null이 들어갑니다
|
|
78
|
+
*/
|
|
79
|
+
estimateContent: string | null;
|
|
80
|
+
/** 주문 견적 파일 (낙찰된 주문에서만 정의)
|
|
81
|
+
* @notice 마스킹될 경우 null이 들어갑니다
|
|
82
|
+
*/
|
|
83
|
+
file_estimate: FileInfo | null;
|
|
84
|
+
/** 주문 내 계약서 파일
|
|
85
|
+
* @notice 마스킹될 경우 null이 들어갑니다
|
|
86
|
+
*/
|
|
87
|
+
file_contract: FileInfo | null;
|
|
88
|
+
}
|
|
89
|
+
export interface IsWritingOrder {
|
|
90
|
+
orderId: string | null;
|
|
91
|
+
}
|
|
92
|
+
export interface MyOrderListInfo {
|
|
93
|
+
id: string;
|
|
94
|
+
/** 외부 노출용 고유한 주문번호 */
|
|
95
|
+
code: string;
|
|
96
|
+
type: OrderType;
|
|
97
|
+
state: OrderState;
|
|
98
|
+
member: MemberShort;
|
|
99
|
+
manager: MemberShort | null;
|
|
100
|
+
/** 주문 제목 (주로 차량 모델) */
|
|
101
|
+
title: string;
|
|
102
|
+
/** 브랜드 명 */
|
|
103
|
+
brand: string | null;
|
|
104
|
+
/** 주문내 차량 이미지 url */
|
|
105
|
+
image_url: string | null;
|
|
106
|
+
/** 현재 입찰 딜러 수 */
|
|
107
|
+
bidderNumber: number | null;
|
|
108
|
+
/** 입찰 내용 (낙찰된 주문에서만 정의) */
|
|
109
|
+
estimateContent: string | null;
|
|
110
|
+
/** 주문 견적 파일 (낙찰된 주문에서만 정의) */
|
|
111
|
+
file_estimate: FileInfo | null;
|
|
112
|
+
/** 주문 내 계약서 파일 */
|
|
113
|
+
file_contract: FileInfo | null;
|
|
114
|
+
created_at: Date;
|
|
115
|
+
updated_at: Date;
|
|
116
|
+
submitted_at: Date | null;
|
|
117
|
+
finished_at: Date | null;
|
|
118
|
+
}
|
|
119
|
+
/** 입찰 정보입니다 */
|
|
120
|
+
export interface Order_BidInfo {
|
|
121
|
+
state: OrderBidState;
|
|
122
|
+
dealer: DealerShort;
|
|
123
|
+
/** 견적 내용 (텍스트) */
|
|
124
|
+
content: string | null;
|
|
125
|
+
/** 주문자가 읽었는지 여부 확인
|
|
126
|
+
* @notice 일반회원이 주문 리스트를 검색할 때 읽은 것으로 간주합니다
|
|
127
|
+
*/
|
|
128
|
+
isReaded: boolean;
|
|
129
|
+
/** 매입 가격
|
|
130
|
+
* @description 내차팔기에서만 카매니저가 제시할 수 있습니다
|
|
131
|
+
*/
|
|
132
|
+
purchasePrice: number | null;
|
|
133
|
+
/** 견적서 파일 */
|
|
134
|
+
estimateFile: FileInfo | null;
|
|
135
|
+
/** 견적 제출일 */
|
|
136
|
+
created_at: Date;
|
|
137
|
+
/** 낙찰일 */
|
|
138
|
+
accepted_at: Date | null;
|
|
139
|
+
}
|
|
140
|
+
export interface OrderEstimate {
|
|
141
|
+
content: string;
|
|
142
|
+
file: FileInfo | null;
|
|
143
|
+
}
|
|
144
|
+
export interface Order_BidInfo_With_OrderInfo extends Order_BidInfo {
|
|
145
|
+
orderInfo: OrderInfo;
|
|
146
|
+
/** 수수료 정보
|
|
147
|
+
* @notice 타인의 수수료 정보를 가져오지 않는지 확인 필요
|
|
148
|
+
*/
|
|
149
|
+
commission?: {
|
|
150
|
+
state: OrderCommissionState;
|
|
151
|
+
price: number | null;
|
|
152
|
+
paid_at: Date | null;
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
export interface OrderBidSearchList {
|
|
156
|
+
totalCount: number;
|
|
157
|
+
data: Order_BidInfo_With_OrderInfo[];
|
|
158
|
+
additionalInfo: {
|
|
159
|
+
/** 요청시 bidState: true일 경우 정의됩니다 */
|
|
160
|
+
bidState?: {
|
|
161
|
+
bidding: number;
|
|
162
|
+
accepted: number;
|
|
163
|
+
nonAccepted: number;
|
|
164
|
+
};
|
|
165
|
+
/** 요청시 orderState: true일 경우 정의됩니다 */
|
|
166
|
+
orderState?: OrderStateCountInfo;
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
export interface OrderSearchList {
|
|
170
|
+
totalCount: number;
|
|
171
|
+
data: MyOrderListInfo[];
|
|
172
|
+
additionalInfo: {
|
|
173
|
+
/** 요청시 orderState: true일 경우 정의됩니다 */
|
|
174
|
+
orderState?: OrderStateCountInfo;
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
export interface OrderCommissionSearchResult {
|
|
178
|
+
totalCount: number;
|
|
179
|
+
data: OrderCommissionListData[];
|
|
180
|
+
additionalInfo: {
|
|
181
|
+
totalPrice?: number;
|
|
182
|
+
methodPrice?: {
|
|
183
|
+
account: number;
|
|
184
|
+
virtualAccount: number;
|
|
185
|
+
};
|
|
186
|
+
commissionState?: {
|
|
187
|
+
waiting: number;
|
|
188
|
+
sended: number;
|
|
189
|
+
paid: number;
|
|
190
|
+
canceled: number;
|
|
191
|
+
};
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
export interface OrderCommissionListData {
|
|
195
|
+
id: number;
|
|
196
|
+
state: OrderCommissionState;
|
|
197
|
+
orderType: OrderCommissionType;
|
|
198
|
+
/** 수수료 정산 리스트에서는 계약 완료일로 사용하세요 */
|
|
199
|
+
created_at: Date;
|
|
200
|
+
/** 정산 요청일 */
|
|
201
|
+
asked_at: Date | null;
|
|
202
|
+
/** 정산 완료일 */
|
|
203
|
+
paid_at: Date | null;
|
|
204
|
+
/** 취소일 */
|
|
205
|
+
canceled_at: Date | null;
|
|
206
|
+
manager: MemberShort;
|
|
207
|
+
order: OrderInfo;
|
|
208
|
+
/** 정산 방법, 현재는 계좌이체, 가상계좌 두가지 */
|
|
209
|
+
method: OrderCommissionMethod | null;
|
|
210
|
+
/** 은행코드 */
|
|
211
|
+
bankCode: string | null;
|
|
212
|
+
/** 계좌주명 */
|
|
213
|
+
ownerName: string | null;
|
|
214
|
+
/** 계좌번호 */
|
|
215
|
+
accountNumber: string | null;
|
|
216
|
+
/** 관리자가 해당 주문에 대하여 입력한 수수료 */
|
|
217
|
+
price: number | null;
|
|
218
|
+
}
|
|
219
|
+
export interface OrderMemo {
|
|
220
|
+
id: number;
|
|
221
|
+
isDeleted: boolean;
|
|
222
|
+
member_id: string;
|
|
223
|
+
order_id: string;
|
|
224
|
+
content: string;
|
|
225
|
+
content_html: string;
|
|
226
|
+
created_at: Date;
|
|
227
|
+
}
|
|
228
|
+
export interface OrderProcessCard {
|
|
229
|
+
state: OrderProcessState;
|
|
230
|
+
title: string;
|
|
231
|
+
content: string;
|
|
232
|
+
/** @example 매입 가격 8,200만원 */
|
|
233
|
+
additionalInfo_1?: {
|
|
234
|
+
title: string;
|
|
235
|
+
content: string;
|
|
236
|
+
} | null;
|
|
237
|
+
additionalInfo_2?: {
|
|
238
|
+
title: string;
|
|
239
|
+
content: string;
|
|
240
|
+
} | null;
|
|
241
|
+
additionalInfo_3?: {
|
|
242
|
+
title: string;
|
|
243
|
+
content: string;
|
|
244
|
+
} | null;
|
|
245
|
+
/** 진행 카드에 파일 정보 */
|
|
246
|
+
file_1: FileInfo | null;
|
|
247
|
+
file_2: FileInfo | null;
|
|
248
|
+
file_3: FileInfo | null;
|
|
249
|
+
created_at: Date;
|
|
250
|
+
}
|
|
251
|
+
export interface OrderReview {
|
|
252
|
+
orderId: string;
|
|
253
|
+
/** 리뷰 작성 완료 여부
|
|
254
|
+
* @description 작성이 완료된 주문은 rating, title, content값이 존재합니다
|
|
255
|
+
*/
|
|
256
|
+
isWritten: boolean;
|
|
257
|
+
/** 별점 */
|
|
258
|
+
rating: number | null;
|
|
259
|
+
/**
|
|
260
|
+
* @notice 작성이 완료된 주문(isWritten: true)인 주문만 값이 있습니다
|
|
261
|
+
*/
|
|
262
|
+
title: string | null;
|
|
263
|
+
/**
|
|
264
|
+
* @notice 작성이 완료된 주문(isWritten: true)인 주문만 값이 있습니다
|
|
265
|
+
*/
|
|
266
|
+
content: string | null;
|
|
267
|
+
/** 리뷰 내 첨부파일 정보 */
|
|
268
|
+
file_1: FileInfo | null;
|
|
269
|
+
file_2: FileInfo | null;
|
|
270
|
+
file_3: FileInfo | null;
|
|
271
|
+
file_4: FileInfo | null;
|
|
272
|
+
file_5: FileInfo | null;
|
|
273
|
+
/** 작성자 정보 */
|
|
274
|
+
writer: {
|
|
275
|
+
id: string;
|
|
276
|
+
name: string;
|
|
277
|
+
imageUrl: string;
|
|
278
|
+
};
|
|
279
|
+
created_at: Date;
|
|
280
|
+
}
|
|
281
|
+
export interface DealerOrderSearch {
|
|
282
|
+
totalCount: number;
|
|
283
|
+
data: DealerOrderListData[];
|
|
284
|
+
additionalInfo: {
|
|
285
|
+
/** 요청시 orderState: true일 경우 정의됩니다 */
|
|
286
|
+
orderState?: OrderStateCountInfo;
|
|
287
|
+
};
|
|
288
|
+
}
|
|
289
|
+
export interface AdminOrderSearch {
|
|
290
|
+
totalCount: number;
|
|
291
|
+
data: AdminOrderListData[];
|
|
292
|
+
additionalInfo: {
|
|
293
|
+
/** 요청시 orderState: true일 경우 정의됩니다 */
|
|
294
|
+
orderState?: OrderStateCountInfo;
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
export interface OrderListData extends OrderInfoTime {
|
|
298
|
+
id: string;
|
|
299
|
+
type: OrderType;
|
|
300
|
+
state: OrderState;
|
|
301
|
+
/** 주문번호 */
|
|
302
|
+
code: string;
|
|
303
|
+
/** 주문 제목 (주로 차량명) */
|
|
304
|
+
title: string;
|
|
305
|
+
/** 주문내 차량 이미지 url */
|
|
306
|
+
imageUrl: string | string[] | null;
|
|
307
|
+
/** 신차, 리스렌트: 차량 기본가 & 내차팔기: 회원이 입력한 주행거리에 따른 예상가격
|
|
308
|
+
* @description 회원이 주문 당시 확인한 가격입니다 */
|
|
309
|
+
price: number | null;
|
|
310
|
+
/** 제조사명 */
|
|
311
|
+
brand: string | null;
|
|
312
|
+
/** 슈퍼카 여부 */
|
|
313
|
+
isSuperCar: boolean;
|
|
314
|
+
/** 보류 사유 */
|
|
315
|
+
title_hold: string | null;
|
|
316
|
+
reason_hold: string | null;
|
|
317
|
+
/** 취소 사유 */
|
|
318
|
+
title_cancel: string | null;
|
|
319
|
+
reason_cancel: string | null;
|
|
320
|
+
/** 주문 완료 후 작성한 리뷰 */
|
|
321
|
+
review: OrderReview | null;
|
|
322
|
+
/** 마지막 업데이트 회원 Id (담당 카매니저 or 주문 일반회원) */
|
|
323
|
+
lastUpdateMemberId: string | null;
|
|
324
|
+
}
|
|
325
|
+
export interface CustomerOrderListData extends OrderListData {
|
|
326
|
+
/** 낙찰되었을 경우 담당 카매니저 */
|
|
327
|
+
manager: DealerShort | null;
|
|
328
|
+
/** 입찰 리스트 */
|
|
329
|
+
bidList: Order_BidInfo[];
|
|
330
|
+
/** 주문 완료 후 대하여 준 별점 */
|
|
331
|
+
currentRating: number | null;
|
|
332
|
+
/** 주문 진행 과정 카드 리스트 */
|
|
333
|
+
processCardList: OrderProcessCard[];
|
|
334
|
+
newCar?: {
|
|
335
|
+
/** 할부 개월
|
|
336
|
+
* 0일 경우 일시불입니다.
|
|
337
|
+
*/
|
|
338
|
+
installmentTerm: number;
|
|
339
|
+
};
|
|
340
|
+
}
|
|
341
|
+
export interface DealerOrderListData extends OrderListData {
|
|
342
|
+
/** 주문자 */
|
|
343
|
+
member: MemberShort;
|
|
344
|
+
/** 해당 주문에 입찰한 카매니저 수 */
|
|
345
|
+
bidNumber: number;
|
|
346
|
+
/** 카매니저가 해당 주문을 확인했는지 여부 */
|
|
347
|
+
isReaded: boolean;
|
|
348
|
+
/** 카매니저가 해당 주문을 입찰했는지 여부 */
|
|
349
|
+
isBidded: boolean;
|
|
350
|
+
/** 카매니저가 해당 주문에 낙찰되었는지 여부 */
|
|
351
|
+
isAccepted: boolean;
|
|
352
|
+
/** 올린 입찰을 회원이 읽었는지 여부 */
|
|
353
|
+
isBidReaded: boolean;
|
|
354
|
+
/** 카매니저 북마크 여부 */
|
|
355
|
+
isBookmarked: boolean;
|
|
356
|
+
/** 작성 메모 존재 여부 */
|
|
357
|
+
isMemo: boolean;
|
|
358
|
+
newCar?: {
|
|
359
|
+
/** 할부 개월
|
|
360
|
+
* 0일 경우 일시불입니다.
|
|
361
|
+
*/
|
|
362
|
+
installmentTerm: number;
|
|
363
|
+
/** 구매자 거주지역 */
|
|
364
|
+
residenceRegion: SigunguId;
|
|
365
|
+
/** 구매시 인수지역 */
|
|
366
|
+
deliveryRegion: SigunguId;
|
|
367
|
+
/** 구매 주체 */
|
|
368
|
+
buyerType: BuyerType;
|
|
369
|
+
/** 구입시기 (일자)
|
|
370
|
+
* @description YYYYMMDD형식입니다
|
|
371
|
+
* @notice null일 경우 "1개월 이내" 입니다.
|
|
372
|
+
*/
|
|
373
|
+
purchaseDate: string | null;
|
|
374
|
+
};
|
|
375
|
+
leaseRent?: {
|
|
376
|
+
/** 계약 기간
|
|
377
|
+
* @notice 단위는 n개월입니다
|
|
378
|
+
*/
|
|
379
|
+
contractTerm: number | null;
|
|
380
|
+
/** 약정거리 */
|
|
381
|
+
agreeDistace?: number | null;
|
|
382
|
+
/** 구매시 인수지역 */
|
|
383
|
+
deliveryRegion: SigunguId;
|
|
384
|
+
/** 배정받은 주문 여부 */
|
|
385
|
+
isAssigned: boolean;
|
|
386
|
+
/** 구매 주체 */
|
|
387
|
+
buyerType: BuyerType;
|
|
388
|
+
/** 구입시기 (일자)
|
|
389
|
+
* @description YYYYMMDD형식입니다
|
|
390
|
+
* @notice null일 경우 "1개월 이내" 입니다.
|
|
391
|
+
*/
|
|
392
|
+
purchaseDate?: string | null;
|
|
393
|
+
};
|
|
394
|
+
sellCar?: {
|
|
395
|
+
/** 판매 지역 */
|
|
396
|
+
sellRegion: SigunguId;
|
|
397
|
+
/** 연식 */
|
|
398
|
+
year: string | null;
|
|
399
|
+
/** 주행거리(km) */
|
|
400
|
+
drivenDistance: number;
|
|
401
|
+
/** 자동차 등록번호 */
|
|
402
|
+
carName: string;
|
|
403
|
+
/** 입찰가격 */
|
|
404
|
+
purchasePrice: number | null;
|
|
405
|
+
tag: {
|
|
406
|
+
carState: OrderTagCarState;
|
|
407
|
+
ownerShip: OrderTagCarOwnership;
|
|
408
|
+
};
|
|
409
|
+
};
|
|
410
|
+
}
|
|
411
|
+
export interface AdminOrderListData extends OrderListData {
|
|
412
|
+
/** 주문자 */
|
|
413
|
+
member: MemberShort;
|
|
414
|
+
/** 담당 카매니저 */
|
|
415
|
+
manager: DealerShort | null;
|
|
416
|
+
/** 담당 카매니저가 작성한 메모 존재 여부 */
|
|
417
|
+
isManagerMemo: boolean;
|
|
418
|
+
/** 배정된 카매니저 리스트
|
|
419
|
+
* @notice 리스/렌트에서만 사용할 수 있습니다
|
|
420
|
+
*/
|
|
421
|
+
assignedDealerList: DealerShort[];
|
|
422
|
+
/** 해당 주문에 입찰한 카매니저 수 */
|
|
423
|
+
bidNumber: number;
|
|
424
|
+
/** 해당 주문에 입찰한 딜러 리스트
|
|
425
|
+
* @notice "협력사"에 대해 검색할 경우 해당 협력사의 매니저 정보만 가져옵니다.
|
|
426
|
+
*/
|
|
427
|
+
bidderList: DealerShort[];
|
|
428
|
+
/** 타사 견적서 파일
|
|
429
|
+
* @notice isSuperCar가 True일 경우 해당 차량의 계약서 파일이 됩니다.
|
|
430
|
+
*/
|
|
431
|
+
file_otherCompanyEstimate: FileInfo | null;
|
|
432
|
+
/** 주문 내 계약서 파일
|
|
433
|
+
* @notice 신차 / 리스렌트에서만 존재할 수 있습니다
|
|
434
|
+
*/
|
|
435
|
+
file_contract: FileInfo | null;
|
|
436
|
+
/** 이전된 차량등록증 파일
|
|
437
|
+
* @notice 내차팔기에서만 존재할 수 있습니다
|
|
438
|
+
*/
|
|
439
|
+
file_transferCertificate: FileInfo | null;
|
|
440
|
+
newCar?: {
|
|
441
|
+
/** 할부 개월
|
|
442
|
+
* 0일 경우 일시불입니다.
|
|
443
|
+
*/
|
|
444
|
+
installmentTerm: number;
|
|
445
|
+
/** 구매자 거주지역 */
|
|
446
|
+
residenceRegion: SigunguId;
|
|
447
|
+
/** 구매시 인수지역 */
|
|
448
|
+
deliveryRegion: SigunguId;
|
|
449
|
+
};
|
|
450
|
+
leaseRent?: {
|
|
451
|
+
/** 계약 기간
|
|
452
|
+
* @notice 단위는 n개월입니다
|
|
453
|
+
*/
|
|
454
|
+
contractTerm: number | null;
|
|
455
|
+
/** 약정거리 */
|
|
456
|
+
agreeDistace?: number | null;
|
|
457
|
+
/** 구매시 인수지역 */
|
|
458
|
+
deliveryRegion: SigunguId;
|
|
459
|
+
};
|
|
460
|
+
sellCar?: {
|
|
461
|
+
/** 판매 지역 */
|
|
462
|
+
sellRegion: SigunguId;
|
|
463
|
+
};
|
|
464
|
+
}
|
|
465
|
+
export interface OrderDetail extends OrderListData {
|
|
466
|
+
/** 주문 진행 과정 카드 리스트 */
|
|
467
|
+
processCardList: OrderProcessCard[];
|
|
468
|
+
/** type이 lease, rent, newCar 일 때 정의됩니다 */
|
|
469
|
+
purchase?: PurchaseOrderDetailInfo;
|
|
470
|
+
/** type이 sellCar일 때 정의됩니다 */
|
|
471
|
+
selling?: SellingOrderDetailInfo;
|
|
472
|
+
}
|
|
473
|
+
export interface CustomerOrderDetail extends OrderDetail {
|
|
474
|
+
/** 낙찰되었을 경우 담당 카매니저 */
|
|
475
|
+
manager: DealerShort | null;
|
|
476
|
+
/** 입찰 리스트 */
|
|
477
|
+
bidList: Order_BidInfo[];
|
|
478
|
+
}
|
|
479
|
+
export interface DealerOrderDetail extends OrderDetail {
|
|
480
|
+
/** 주문자 */
|
|
481
|
+
member: MemberShort;
|
|
482
|
+
/** 카매니저가 해당 주문에 낙찰되었는지 여부 */
|
|
483
|
+
isAccepted: boolean;
|
|
484
|
+
/** 해당 주문에 입찰한 카매니저 수 */
|
|
485
|
+
bidNumber: number;
|
|
486
|
+
/** 타 입찰자 리스트 */
|
|
487
|
+
bidderList: DealerShort[];
|
|
488
|
+
/** 내가 입찰한 내용 */
|
|
489
|
+
bid: Order_BidInfo | null;
|
|
490
|
+
/** 주문 완료 후 수수료 정보 */
|
|
491
|
+
commission: {
|
|
492
|
+
id: number;
|
|
493
|
+
state: OrderCommissionState;
|
|
494
|
+
/** 정산 방법, 현재는 계좌이체, 가상계좌 두가지 */
|
|
495
|
+
method: OrderCommissionMethod | null;
|
|
496
|
+
/** 은행코드 */
|
|
497
|
+
bankCode: string | null;
|
|
498
|
+
/** 계좌주명 */
|
|
499
|
+
ownerName: string | null;
|
|
500
|
+
/** 계좌번호 */
|
|
501
|
+
accountNumber: string | null;
|
|
502
|
+
/** 관리자가 해당 주문에 대하여 입력한 수수료 */
|
|
503
|
+
price: number | null;
|
|
504
|
+
/** 수수료 정산 리스트에서는 계약 완료일로 사용하세요 */
|
|
505
|
+
created_at: Date;
|
|
506
|
+
/** 정산 요청일 */
|
|
507
|
+
asked_at: Date | null;
|
|
508
|
+
/** 정산 완료일 */
|
|
509
|
+
paid_at: Date | null;
|
|
510
|
+
/** 취소일 */
|
|
511
|
+
canceled_at: Date | null;
|
|
512
|
+
} | null;
|
|
513
|
+
/** 주문 내 계약서 파일
|
|
514
|
+
* @notice 신차 / 리스렌트에서만 존재할 수 있습니다
|
|
515
|
+
*/
|
|
516
|
+
file_contract: FileInfo | null;
|
|
517
|
+
/** 이전된 차량등록증 파일
|
|
518
|
+
* @notice 내차팔기에서만 존재할 수 있습니다
|
|
519
|
+
*/
|
|
520
|
+
file_transferCertificate: FileInfo | null;
|
|
521
|
+
}
|
|
522
|
+
export interface AdminOrderDetail extends OrderDetail {
|
|
523
|
+
/** 주문자 */
|
|
524
|
+
member: MemberShort;
|
|
525
|
+
/** 낙찰되었을 경우 담당 카매니저 */
|
|
526
|
+
manager: DealerShort | null;
|
|
527
|
+
/** 해당 주문에 입찰한 카매니저 수 */
|
|
528
|
+
bidNumber: number;
|
|
529
|
+
/** 해당 주문에 입찰한 딜러 리스트
|
|
530
|
+
* @notice "협력사"에 대해 검색할 경우 해당 협력사의 매니저 정보만 가져옵니다.
|
|
531
|
+
*/
|
|
532
|
+
bidList: Order_BidInfo[];
|
|
533
|
+
/** 주문 내 계약서 파일
|
|
534
|
+
* @notice 신차 / 리스렌트에서만 존재할 수 있습니다
|
|
535
|
+
*/
|
|
536
|
+
file_contract: FileInfo | null;
|
|
537
|
+
/** 이전된 차량등록증 파일
|
|
538
|
+
* @notice 내차팔기에서만 존재할 수 있습니다
|
|
539
|
+
*/
|
|
540
|
+
file_transferCertificate: FileInfo | null;
|
|
541
|
+
}
|
|
542
|
+
export interface PurchaseCarInfo {
|
|
543
|
+
carMaker?: CarMaker;
|
|
544
|
+
carModel?: CarModel;
|
|
545
|
+
carTrim?: CarTrim;
|
|
546
|
+
carGrade?: CarGrade;
|
|
547
|
+
carColor?: CarColor;
|
|
548
|
+
interiorCarColor?: InteriorCarColor;
|
|
549
|
+
carOptionList?: CarOption[];
|
|
550
|
+
}
|
|
551
|
+
export interface SelectedCarData {
|
|
552
|
+
carMaker: CarMaker;
|
|
553
|
+
carModel: CarModel;
|
|
554
|
+
carTrim: CarTrim;
|
|
555
|
+
carGrade: CarGrade;
|
|
556
|
+
carColor?: CarColor;
|
|
557
|
+
interiorCarColor?: InteriorCarColor;
|
|
558
|
+
carOptionList: CarOption[];
|
|
559
|
+
}
|
|
560
|
+
export interface PurchaseOrderDetailInfo {
|
|
561
|
+
selectedCar: PurchaseCarInfo;
|
|
562
|
+
/** 구매 정보 */
|
|
563
|
+
purchaseInfo: {
|
|
564
|
+
/** 구매 방법 */
|
|
565
|
+
method: "리스" | "렌트" | "할부" | "일시불";
|
|
566
|
+
리스?: {
|
|
567
|
+
/** 계약 기간 (월) */
|
|
568
|
+
contractTerm: number;
|
|
569
|
+
/** 보증금 (%) */
|
|
570
|
+
price_deposit: number;
|
|
571
|
+
/** 선납금 */
|
|
572
|
+
price_advancedPayment: number;
|
|
573
|
+
/** 잔존가치 */
|
|
574
|
+
price_residual: number;
|
|
575
|
+
/** 약정거리 (km) */
|
|
576
|
+
agreeDistace: number;
|
|
577
|
+
/** 구매시 인수지역 */
|
|
578
|
+
deliveryRegion: SigunguId;
|
|
579
|
+
/** 구매 주체 */
|
|
580
|
+
buyerType: BuyerType;
|
|
581
|
+
/** 자동차세 포함여부 */
|
|
582
|
+
isIncludingCarTax: boolean;
|
|
583
|
+
};
|
|
584
|
+
렌트?: {
|
|
585
|
+
/** 계약 기간 (%) */
|
|
586
|
+
contractTerm: number;
|
|
587
|
+
/** 보증금 (%) */
|
|
588
|
+
price_deposit: number;
|
|
589
|
+
/** 선납금 (%) */
|
|
590
|
+
price_advancedPayment: number;
|
|
591
|
+
/** 잔존가치 (%) */
|
|
592
|
+
price_residual: number;
|
|
593
|
+
/** 약정거리 (km) */
|
|
594
|
+
agreeDistace: number;
|
|
595
|
+
/** 정비 플랜
|
|
596
|
+
* @notice 장기렌트시 정의
|
|
597
|
+
* @case 일반형: 셀프 정비
|
|
598
|
+
* @case 고급형: 입고 정비
|
|
599
|
+
* @case 최고급형: 순회 정비
|
|
600
|
+
*/
|
|
601
|
+
maintenancePlan: "일반형" | "고급형" | "최고급형";
|
|
602
|
+
/** 운전자 최소 연령
|
|
603
|
+
* @notice 운전자 26세 이상 여부
|
|
604
|
+
*/
|
|
605
|
+
isOver26Age: boolean;
|
|
606
|
+
/** 면책금
|
|
607
|
+
* @notice 장기렌트시 값 필요
|
|
608
|
+
*/
|
|
609
|
+
indemnityAmount: number;
|
|
610
|
+
/** 대물보험담보
|
|
611
|
+
* @notice 장기렌트시 값 필요
|
|
612
|
+
*/
|
|
613
|
+
propertyDamageCoverage: number;
|
|
614
|
+
/** 자손보험담보
|
|
615
|
+
* @notice 장기렌트시 값 필요
|
|
616
|
+
*/
|
|
617
|
+
personalInjuryCoverage: number;
|
|
618
|
+
/** 구매시 인수지역 */
|
|
619
|
+
deliveryRegion: SigunguId;
|
|
620
|
+
/** 구매 주체 */
|
|
621
|
+
buyerType: BuyerType;
|
|
622
|
+
};
|
|
623
|
+
할부?: {
|
|
624
|
+
/** 할부 개월
|
|
625
|
+
* @notice 할부 선택시 값이 필요합니다
|
|
626
|
+
*/
|
|
627
|
+
installmentTerm: number;
|
|
628
|
+
/** 구매자 거주지역 */
|
|
629
|
+
residenceRegion: SigunguId;
|
|
630
|
+
/** 구매시 인수지역 */
|
|
631
|
+
deliveryRegion: SigunguId;
|
|
632
|
+
/** 구매 주체 */
|
|
633
|
+
buyerType: BuyerType;
|
|
634
|
+
/** 면세조건 */
|
|
635
|
+
dutyFreeCondition: DutyFreeCondition;
|
|
636
|
+
/** 선수금 (인도금)
|
|
637
|
+
* @description 원 단위입니다
|
|
638
|
+
*/
|
|
639
|
+
prepaidPrincipalAmount: number;
|
|
640
|
+
/** 등록비 포함/미포함 */
|
|
641
|
+
isRegistrationFee: boolean;
|
|
642
|
+
/** 할부원금
|
|
643
|
+
* @description 원 단위입니다
|
|
644
|
+
* @notice null일 경우 "생략" 입니다.
|
|
645
|
+
*/
|
|
646
|
+
installmentPrincipal: number | null;
|
|
647
|
+
/** 구입시기 (일자)
|
|
648
|
+
* @description YYYYMMDD형식입니다
|
|
649
|
+
* @notice null일 경우 "1개월 이내" 입니다.
|
|
650
|
+
*/
|
|
651
|
+
purchaseDate: string | null;
|
|
652
|
+
};
|
|
653
|
+
일시불?: {
|
|
654
|
+
/** 구매자 거주지역 */
|
|
655
|
+
residenceRegion: SigunguId;
|
|
656
|
+
/** 구매시 인수지역 */
|
|
657
|
+
deliveryRegion: SigunguId;
|
|
658
|
+
/** 구매 주체 */
|
|
659
|
+
buyerType: BuyerType;
|
|
660
|
+
/** 면세조건 */
|
|
661
|
+
dutyFreeCondition: DutyFreeCondition;
|
|
662
|
+
/** 구입시기 (일자)
|
|
663
|
+
* @description YYYYMMDD형식입니다
|
|
664
|
+
* @notice null일 경우 "1개월 이내" 입니다.
|
|
665
|
+
*/
|
|
666
|
+
purchaseDate: string | null;
|
|
667
|
+
};
|
|
668
|
+
};
|
|
669
|
+
/** 추가 요청사항 (선택) */
|
|
670
|
+
additionalRequest: string | null;
|
|
671
|
+
/** 슈퍼카 브랜드 여부 */
|
|
672
|
+
isSuperCar: boolean | null;
|
|
673
|
+
/** 타사 견적서 혜택내용 */
|
|
674
|
+
otherCompanyEstimateContent: string | null;
|
|
675
|
+
/** 타사 견적서 파일
|
|
676
|
+
* @notice isSuperCar === true일 경우 타사에서 제시한 리스렌트 견적서가 아니라, 차량 구매 계약서가 됩니다.
|
|
677
|
+
*/
|
|
678
|
+
otherCompanyEstimateFile: FileInfo | null;
|
|
679
|
+
}
|
|
680
|
+
export interface SellingOrderDetailInfo {
|
|
681
|
+
/** 쿠콘에서 조회하여 DB에 기록된 차량 정보 */
|
|
682
|
+
usedCarInfo: CooconUsedCarInfo;
|
|
683
|
+
/** 쿠콘에서 조회하여 DB에 기록된 사고이력 정보 */
|
|
684
|
+
accidentHistory: CooconAccidentHistoryInfo | null;
|
|
685
|
+
/** 입력받은 주행거리 */
|
|
686
|
+
drivenDistance: number | null;
|
|
687
|
+
/** 판매 지역 */
|
|
688
|
+
sellRegionId: SigunguId | null;
|
|
689
|
+
/** 차량 구매 방식 */
|
|
690
|
+
boughtMethod: SellCarBoughtMethod | null;
|
|
691
|
+
/** 추가적인 내용을 자유롭게 저장합니다 */
|
|
692
|
+
additionalInfo: SellingAdditionalInfo;
|
|
693
|
+
/** 업로드된 사진 리스트 */
|
|
694
|
+
file: {
|
|
695
|
+
file_1: FileInfo | null;
|
|
696
|
+
file_2: FileInfo | null;
|
|
697
|
+
file_3: FileInfo | null;
|
|
698
|
+
file_4: FileInfo | null;
|
|
699
|
+
file_5: FileInfo | null;
|
|
700
|
+
file_6: FileInfo | null;
|
|
701
|
+
};
|
|
702
|
+
/** 추가 요청사항 (선택) */
|
|
703
|
+
additionalRequest: string | null;
|
|
704
|
+
}
|
|
705
|
+
export interface PurchaseAdditionalInfo {
|
|
706
|
+
/** 구매 방법 */
|
|
707
|
+
method: "리스" | "렌트" | "할부" | "일시불";
|
|
708
|
+
리스: {
|
|
709
|
+
/** 계약 기간
|
|
710
|
+
* @notice 리스, 장기렌트시 값이 필요합니다
|
|
711
|
+
* @case 24, 36, 48, 60
|
|
712
|
+
*/
|
|
713
|
+
contractTerm?: number;
|
|
714
|
+
/** 보증금 */
|
|
715
|
+
price_deposit?: number;
|
|
716
|
+
/** 선납금 */
|
|
717
|
+
price_advancedPayment?: number;
|
|
718
|
+
/** 잔존가치 */
|
|
719
|
+
price_residual?: number;
|
|
720
|
+
/** 약정거리 */
|
|
721
|
+
agreeDistace?: number;
|
|
722
|
+
/** 구매시 인수지역 */
|
|
723
|
+
deliveryRegion?: SigunguId;
|
|
724
|
+
/** 구매 주체 */
|
|
725
|
+
buyerType?: BuyerType;
|
|
726
|
+
/** 자동차세 포함여부 */
|
|
727
|
+
isIncludingCarTax?: boolean;
|
|
728
|
+
};
|
|
729
|
+
렌트: {
|
|
730
|
+
/** 계약 기간
|
|
731
|
+
* @notice 리스, 장기렌트시 값이 필요합니다
|
|
732
|
+
* @case 24, 36, 48, 60
|
|
733
|
+
*/
|
|
734
|
+
contractTerm?: number;
|
|
735
|
+
/** 보증금
|
|
736
|
+
* @notice 리스, 장기렌트시 값이 필요합니다
|
|
737
|
+
*/
|
|
738
|
+
price_deposit?: number;
|
|
739
|
+
/** 선납금
|
|
740
|
+
* @notice 리스, 장기렌트시 값이 필요합니다
|
|
741
|
+
*/
|
|
742
|
+
price_advancedPayment?: number;
|
|
743
|
+
/** 잔존가치
|
|
744
|
+
* @notice 리스, 장기렌트시 값이 필요합니다
|
|
745
|
+
*/
|
|
746
|
+
price_residual?: number;
|
|
747
|
+
/** 약정거리
|
|
748
|
+
* @notice 리스, 장기렌트시 값이 필요
|
|
749
|
+
*/
|
|
750
|
+
agreeDistace?: number;
|
|
751
|
+
/** 정비 플랜
|
|
752
|
+
* @notice 장기렌트시 정의
|
|
753
|
+
* @case 일반형: 셀프 정비
|
|
754
|
+
* @case 고급형: 입고 정비
|
|
755
|
+
* @case 최고급형: 순회 정비
|
|
756
|
+
*/
|
|
757
|
+
maintenancePlan?: "일반형" | "고급형" | "최고급형";
|
|
758
|
+
/** 운전자 최소 연령
|
|
759
|
+
* @notice 운전자 21세이상, 26세 이상 여부 처리용
|
|
760
|
+
*/
|
|
761
|
+
driverMiniumAge?: number;
|
|
762
|
+
/** 면책금
|
|
763
|
+
* @notice 장기렌트시 값 필요
|
|
764
|
+
*/
|
|
765
|
+
indemnityAmount?: number;
|
|
766
|
+
/** 대물보험담보
|
|
767
|
+
* @notice 장기렌트시 값 필요
|
|
768
|
+
*/
|
|
769
|
+
propertyDamageCoverage?: number;
|
|
770
|
+
/** 자손보험담보
|
|
771
|
+
* @notice 장기렌트시 값 필요
|
|
772
|
+
*/
|
|
773
|
+
personalInjuryCoverage?: number;
|
|
774
|
+
/** 구매 주체 */
|
|
775
|
+
buyerType?: BuyerType;
|
|
776
|
+
/** 구매시 인수지역 */
|
|
777
|
+
deliveryRegion?: SigunguId;
|
|
778
|
+
};
|
|
779
|
+
할부: {
|
|
780
|
+
/** 할부 개월
|
|
781
|
+
* @notice 할부 선택시 값이 필요합니다
|
|
782
|
+
*/
|
|
783
|
+
installmentTerm?: number;
|
|
784
|
+
/** 구매자 거주지역 */
|
|
785
|
+
residenceRegion?: SigunguId;
|
|
786
|
+
/** 구매시 인수지역 */
|
|
787
|
+
deliveryRegion?: SigunguId;
|
|
788
|
+
/** 구매 주체 */
|
|
789
|
+
buyerType?: BuyerType;
|
|
790
|
+
/** 면세조건 */
|
|
791
|
+
dutyFreeCondition?: DutyFreeCondition;
|
|
792
|
+
/** 선수금 (인도금)
|
|
793
|
+
* @description 원 단위입니다
|
|
794
|
+
*/
|
|
795
|
+
prepaidPrincipalAmount?: number;
|
|
796
|
+
/** 등록비 포함/미포함 */
|
|
797
|
+
isRegistrationFee?: boolean;
|
|
798
|
+
/** 할부원금
|
|
799
|
+
* @description 원 단위입니다
|
|
800
|
+
* @notice null일 경우 "생략" 입니다.
|
|
801
|
+
*/
|
|
802
|
+
installmentPrincipal?: number | null;
|
|
803
|
+
/** 구입시기 (일자)
|
|
804
|
+
* @description YYYYMMDD형식입니다
|
|
805
|
+
* @notice null일 경우 "1개월 이내" 입니다.
|
|
806
|
+
*/
|
|
807
|
+
purchaseDate?: string | null;
|
|
808
|
+
};
|
|
809
|
+
일시불: {
|
|
810
|
+
/** 구매자 거주지역 */
|
|
811
|
+
residenceRegion?: SigunguId;
|
|
812
|
+
/** 구매시 인수지역 */
|
|
813
|
+
deliveryRegion?: SigunguId;
|
|
814
|
+
/** 구매 주체 */
|
|
815
|
+
buyerType?: BuyerType;
|
|
816
|
+
/** 면세조건 */
|
|
817
|
+
dutyFreeCondition?: DutyFreeCondition;
|
|
818
|
+
/** 구입시기 (일자)
|
|
819
|
+
* @description YYYYMMDD형식입니다
|
|
820
|
+
* @notice null일 경우 "1개월 이내" 입니다.
|
|
821
|
+
*/
|
|
822
|
+
purchaseDate?: string | null;
|
|
823
|
+
};
|
|
824
|
+
}
|
|
825
|
+
export interface SellingAdditionalInfo {
|
|
826
|
+
/** 차량에 장착된 추가 옵션을 선택해주세요 내용 */
|
|
827
|
+
optionSelect: {
|
|
828
|
+
optionList: {
|
|
829
|
+
optname: string;
|
|
830
|
+
optprice: number;
|
|
831
|
+
}[];
|
|
832
|
+
/** 옵션 없음 */
|
|
833
|
+
옵션없음?: boolean;
|
|
834
|
+
/** 직접 입력 */
|
|
835
|
+
직접입력?: {
|
|
836
|
+
selected: boolean;
|
|
837
|
+
content?: string;
|
|
838
|
+
};
|
|
839
|
+
};
|
|
840
|
+
carState: {
|
|
841
|
+
타이어교체: {
|
|
842
|
+
selected: boolean;
|
|
843
|
+
content?: string;
|
|
844
|
+
};
|
|
845
|
+
외관스크래치: {
|
|
846
|
+
selected: boolean;
|
|
847
|
+
content?: string;
|
|
848
|
+
};
|
|
849
|
+
정비수리필요: {
|
|
850
|
+
selected: boolean;
|
|
851
|
+
content?: string;
|
|
852
|
+
additional?: string;
|
|
853
|
+
};
|
|
854
|
+
차량장단점: {
|
|
855
|
+
selected: boolean;
|
|
856
|
+
content?: string;
|
|
857
|
+
};
|
|
858
|
+
};
|
|
859
|
+
accident: {
|
|
860
|
+
사고없음: {
|
|
861
|
+
selected: boolean;
|
|
862
|
+
content?: string;
|
|
863
|
+
};
|
|
864
|
+
판금교환: {
|
|
865
|
+
selected: boolean;
|
|
866
|
+
content?: string;
|
|
867
|
+
};
|
|
868
|
+
모름: {
|
|
869
|
+
selected: boolean;
|
|
870
|
+
content?: string;
|
|
871
|
+
};
|
|
872
|
+
};
|
|
873
|
+
}
|
|
874
|
+
/** 작성중인 주문 상세정보 */
|
|
875
|
+
export interface SellingOrderInfo {
|
|
876
|
+
/** 해당 주문 Id
|
|
877
|
+
* @uuid
|
|
878
|
+
*/
|
|
879
|
+
id: string;
|
|
880
|
+
/** 제출된 주문인지 */
|
|
881
|
+
isSubmitted: boolean;
|
|
882
|
+
/** 진척도(0~100 사이 float) */
|
|
883
|
+
progress: number;
|
|
884
|
+
/** 주문 작성 임시저장 Step
|
|
885
|
+
* @description Step은 클라이언트단에서 진행상태를 나타내기 위해 사용하는 값입니다
|
|
886
|
+
*/
|
|
887
|
+
currentStep: number;
|
|
888
|
+
/** 쿠콘에서 조회하여 DB에 기록된 차량 정보 */
|
|
889
|
+
usedCarInfo: CooconUsedCarInfo;
|
|
890
|
+
/** 쿠콘에서 조회하여 DB에 기록된 사고이력 정보 */
|
|
891
|
+
accidentHistory: CooconAccidentHistoryInfo | null;
|
|
892
|
+
/** 입력받은 주행거리 */
|
|
893
|
+
drivenDistance: number | null;
|
|
894
|
+
/** 판매 지역 */
|
|
895
|
+
sellRegionId: SigunguId | null;
|
|
896
|
+
/** 차량 구매 방식 */
|
|
897
|
+
boughtMethod: SellCarBoughtMethod | null;
|
|
898
|
+
/** 요청내용 (선택) */
|
|
899
|
+
additionalRequest: string | null;
|
|
900
|
+
/** 추가적인 내용을 자유롭게 저장합니다 */
|
|
901
|
+
additionalInfo: SellingAdditionalInfo;
|
|
902
|
+
/** 업로드된 사진 리스트 */
|
|
903
|
+
file: {
|
|
904
|
+
file_1: FileInfo | null;
|
|
905
|
+
file_2: FileInfo | null;
|
|
906
|
+
file_3: FileInfo | null;
|
|
907
|
+
file_4: FileInfo | null;
|
|
908
|
+
file_5: FileInfo | null;
|
|
909
|
+
file_6: FileInfo | null;
|
|
910
|
+
};
|
|
911
|
+
created_at: Date;
|
|
912
|
+
updated_at: Date;
|
|
913
|
+
}
|