@freedom_sky/feige-lib 5.22.0 → 5.23.0
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/.eslintignore +2 -2
- package/.eslintrc.js +15 -15
- package/.prettierrc.js +6 -6
- package/AGENTS.md +75 -75
- package/CHANGE.md +38 -34
- package/azure-pipelines-release.yml +56 -0
- package/dist/announcement/enum/announcement.enum.d.ts +11 -11
- package/dist/announcement/enum/announcement.enum.js +15 -15
- package/dist/buffet/index.d.ts +46 -46
- package/dist/buffet/index.js +95 -95
- package/dist/const/const.d.ts +372 -370
- package/dist/const/const.js +2387 -2374
- package/dist/enum/ai-token.enum.d.ts +10 -10
- package/dist/enum/ai-token.enum.js +14 -14
- package/dist/enum/checkout.enum.d.ts +13 -13
- package/dist/enum/checkout.enum.js +17 -17
- package/dist/enum/common.enum.d.ts +18 -14
- package/dist/enum/common.enum.js +23 -18
- package/dist/enum/continent.enum.d.ts +8 -8
- package/dist/enum/continent.enum.js +11 -11
- package/dist/enum/dish.enum.d.ts +4 -4
- package/dist/enum/dish.enum.js +7 -7
- package/dist/enum/from.enum.d.ts +14 -14
- package/dist/enum/from.enum.js +17 -17
- package/dist/enum/member.enum.d.ts +16 -16
- package/dist/enum/member.enum.js +21 -21
- package/dist/enum/menu-io.enum.d.ts +4 -4
- package/dist/enum/menu-io.enum.js +7 -7
- package/dist/enum/order.enum.d.ts +7 -7
- package/dist/enum/order.enum.js +10 -10
- package/dist/enum/pay-company.enum.d.ts +4 -4
- package/dist/enum/pay-company.enum.js +7 -7
- package/dist/enum/printer.enum.d.ts +36 -36
- package/dist/enum/printer.enum.js +45 -45
- package/dist/enum/receptionist.enum.d.ts +8 -8
- package/dist/enum/receptionist.enum.js +11 -11
- package/dist/enum/reservation.enum.d.ts +5 -5
- package/dist/enum/reservation.enum.js +8 -8
- package/dist/enum/role.enum.d.ts +7 -7
- package/dist/enum/role.enum.js +10 -10
- package/dist/enum/sms.enum.d.ts +14 -14
- package/dist/enum/sms.enum.js +18 -18
- package/dist/enum/tax.enum.d.ts +4 -4
- package/dist/enum/tax.enum.js +7 -7
- package/dist/enum/time-menu.enum.d.ts +4 -4
- package/dist/enum/time-menu.enum.js +7 -7
- package/dist/enum/timezone.emum.d.ts +33 -33
- package/dist/enum/timezone.emum.js +36 -36
- package/dist/enum/user-status.enum.d.ts +9 -9
- package/dist/enum/user-status.enum.js +12 -12
- package/dist/enum/visit-task.enum.d.ts +13 -13
- package/dist/enum/visit-task.enum.js +17 -17
- package/dist/enum/yeepay.enum.d.ts +22 -22
- package/dist/enum/yeepay.enum.js +30 -30
- package/dist/index.d.ts +203 -202
- package/dist/index.js +564 -562
- package/dist/interfaces/common/language.interface.d.ts +13 -13
- package/dist/interfaces/common/language.interface.js +2 -2
- package/dist/interfaces/member/member-transaction.interface.d.ts +27 -27
- package/dist/interfaces/member/member-transaction.interface.js +2 -2
- package/dist/interfaces/member/member.interface.d.ts +16 -16
- package/dist/interfaces/member/member.interface.js +2 -2
- package/dist/interfaces/order/baseOrder.interface.d.ts +84 -84
- package/dist/interfaces/order/baseOrder.interface.js +2 -2
- package/dist/interfaces/order/buffetOrder.interface.d.ts +13 -13
- package/dist/interfaces/order/buffetOrder.interface.js +2 -2
- package/dist/interfaces/order/deliveryOrder.interface.d.ts +9 -9
- package/dist/interfaces/order/deliveryOrder.interface.js +2 -2
- package/dist/interfaces/order/index.d.ts +7 -7
- package/dist/interfaces/order/index.js +6 -6
- package/dist/interfaces/order/order.interface.d.ts +75 -75
- package/dist/interfaces/order/order.interface.js +17 -17
- package/dist/interfaces/order/pickupOrder.interface.d.ts +8 -8
- package/dist/interfaces/order/pickupOrder.interface.js +2 -2
- package/dist/interfaces/order/serialOrder.interface.d.ts +4 -4
- package/dist/interfaces/order/serialOrder.interface.js +2 -2
- package/dist/interfaces/order/tableOrder.interface.d.ts +7 -7
- package/dist/interfaces/order/tableOrder.interface.js +2 -2
- package/dist/interfaces/reservation/reservation.interface.d.ts +46 -46
- package/dist/interfaces/reservation/reservation.interface.js +2 -2
- package/dist/interfaces/store/classification.interface.d.ts +7 -7
- package/dist/interfaces/store/classification.interface.js +2 -2
- package/dist/interfaces/store/dish.interface.d.ts +18 -18
- package/dist/interfaces/store/dish.interface.js +2 -2
- package/dist/interfaces/store/dishSnapshot.interface.d.ts +11 -11
- package/dist/interfaces/store/dishSnapshot.interface.js +2 -2
- package/dist/interfaces/store/member.interface.d.ts +8 -8
- package/dist/interfaces/store/member.interface.js +2 -2
- package/dist/interfaces/store/menu-export.interface.d.ts +12 -12
- package/dist/interfaces/store/menu-export.interface.js +2 -2
- package/dist/interfaces/store/specification.interface.d.ts +17 -17
- package/dist/interfaces/store/specification.interface.js +2 -2
- package/dist/interfaces/store/store.interface.d.ts +300 -300
- package/dist/interfaces/store/store.interface.js +2 -2
- package/dist/interfaces/store/subscription.interface.d.ts +43 -43
- package/dist/interfaces/store/subscription.interface.js +2 -2
- package/dist/interfaces/user/user.interface.d.ts +139 -139
- package/dist/interfaces/user/user.interface.js +2 -2
- package/dist/interfaces/visit-task/visit-task.interface.d.ts +17 -17
- package/dist/interfaces/visit-task/visit-task.interface.js +2 -2
- package/dist/order/index.d.ts +22 -22
- package/dist/order/index.js +58 -58
- package/jest.config.js +189 -189
- package/josn-hub/orders/tax-have-price-bind-order.ts +381 -381
- package/josn-hub/orders/tax-order.ts +371 -371
- package/josn-hub/orders//346/225/264/345/215/225/344/273/267/346/240/274/351/203/275/346/230/257/350/264/237/346/225/260/347/232/204/346/203/205/345/206/265.ts +321 -321
- package/josn-hub/orders//346/234/211/344/270/200/344/270/252/350/217/234/347/232/204/344/273/267/346/240/274/346/230/257/350/264/237/346/225/260/347/232/204/346/203/205/345/206/265.ts +348 -348
- package/josn-hub/orders//347/202/271/344/272/206/344/270/215/345/212/240/344/273/267/345/222/214/345/233/272/345/256/232/345/212/240/345/207/217/344/273/267/350/247/204/346/240/274/347/232/204/350/256/242/345/215/225.ts +350 -350
- package/josn-hub/orders//347/202/271/344/272/206/345/233/272/345/256/232/345/212/240/344/273/267-/347/231/276/345/210/206/346/257/224/345/212/240/344/273/267/350/247/204/346/240/274/347/232/204/350/256/242/345/215/225.ts +301 -301
- package/josn-hub/orders//347/202/271/344/272/206/346/234/252/345/212/240/344/273/267/350/247/204/346/240/274/347/232/204/350/256/242/345/215/225.ts +321 -321
- package/josn-hub/orders//347/202/271/344/272/206/346/234/252/345/212/240/344/273/267/350/247/204/346/240/274/347/232/204/350/256/242/345/215/225/345/271/266/346/234/211/351/205/215/351/200/201/350/264/271.ts +159 -159
- package/josn-hub/orders//350/207/252/345/212/251/351/244/220/347/232/204/346/203/205/345/206/265.ts +665 -665
- package/josn-hub/orders//351/203/250/345/210/206/351/200/200/350/217/234/347/232/204/346/203/205/345/206/265.ts +73 -73
- package/package.json +59 -59
- package/src/announcement/enum/announcement.enum.ts +12 -12
- package/src/buffet/index.ts +123 -123
- package/src/const/const.ts +2407 -2394
- package/src/enum/ai-token.enum.ts +10 -10
- package/src/enum/checkout.enum.ts +14 -14
- package/src/enum/common.enum.ts +20 -15
- package/src/enum/continent.enum.ts +8 -8
- package/src/enum/dish.enum.ts +4 -4
- package/src/enum/from.enum.ts +14 -14
- package/src/enum/member.enum.ts +16 -16
- package/src/enum/menu-io.enum.ts +4 -4
- package/src/enum/order.enum.ts +7 -7
- package/src/enum/pay-company.enum.ts +4 -4
- package/src/enum/printer.enum.ts +40 -40
- package/src/enum/receptionist.enum.ts +8 -8
- package/src/enum/reservation.enum.ts +5 -5
- package/src/enum/role.enum.ts +7 -7
- package/src/enum/sms.enum.ts +14 -14
- package/src/enum/tax.enum.ts +4 -4
- package/src/enum/time-menu.enum.ts +4 -4
- package/src/enum/timezone.emum.ts +33 -33
- package/src/enum/user-status.enum.ts +9 -9
- package/src/enum/visit-task.enum.ts +14 -14
- package/src/enum/yeepay.enum.ts +27 -27
- package/src/index.spec.ts +1082 -1082
- package/src/index.ts +616 -614
- package/src/interfaces/common/language.interface.ts +13 -13
- package/src/interfaces/member/member-transaction.interface.ts +32 -32
- package/src/interfaces/member/member.interface.ts +16 -16
- package/src/interfaces/order/baseOrder.interface.ts +89 -89
- package/src/interfaces/order/buffetOrder.interface.ts +14 -14
- package/src/interfaces/order/deliveryOrder.interface.ts +10 -10
- package/src/interfaces/order/index.ts +7 -7
- package/src/interfaces/order/order.interface.ts +84 -84
- package/src/interfaces/order/pickupOrder.interface.ts +9 -9
- package/src/interfaces/order/serialOrder.interface.ts +5 -5
- package/src/interfaces/order/tableOrder.interface.ts +8 -8
- package/src/interfaces/reservation/reservation.interface.ts +48 -48
- package/src/interfaces/store/classification.interface.ts +7 -7
- package/src/interfaces/store/dish.interface.ts +18 -18
- package/src/interfaces/store/dishSnapshot.interface.ts +12 -12
- package/src/interfaces/store/member.interface.ts +9 -9
- package/src/interfaces/store/menu-export.interface.ts +13 -13
- package/src/interfaces/store/specification.interface.ts +17 -17
- package/src/interfaces/store/store.interface.ts +316 -316
- package/src/interfaces/store/subscription.interface.ts +43 -43
- package/src/interfaces/user/user.interface.ts +139 -139
- package/src/interfaces/visit-task/visit-task.interface.ts +17 -17
- package/src/order/currency-settlement.spec.ts +72 -0
- package/src/order/index.ts +91 -91
- package/tsconfig.json +12 -12
|
@@ -1,316 +1,316 @@
|
|
|
1
|
-
import { Dish } from './dish.interface';
|
|
2
|
-
import { Classification } from './classification.interface';
|
|
3
|
-
import { Specification } from './specification.interface';
|
|
4
|
-
import { Subscription } from './subscription.interface';
|
|
5
|
-
import { MemberSavingRule } from './member.interface';
|
|
6
|
-
import { TaxTypeEnum } from '../../enum/tax.enum';
|
|
7
|
-
import {
|
|
8
|
-
PrinterDeviceTypeEnum,
|
|
9
|
-
PrinterWidthEnum,
|
|
10
|
-
TagPrinterDeviceTypeEnum,
|
|
11
|
-
EncodeTypeEnum,
|
|
12
|
-
MultiLangDirectionEnum,
|
|
13
|
-
} from '../../enum/printer.enum';
|
|
14
|
-
import { TimeMenuLoopMode } from '../../enum/time-menu.enum';
|
|
15
|
-
import { WeekEnum } from '../../enum/common.enum';
|
|
16
|
-
import { AnnouncementTargetEnum, AnnouncementTypeEnum } from '../../index';
|
|
17
|
-
|
|
18
|
-
export interface LangList {
|
|
19
|
-
[key: string]: string;
|
|
20
|
-
}
|
|
21
|
-
export interface BuffetDishItem {
|
|
22
|
-
readonly dishId: string;
|
|
23
|
-
upperLimit: {
|
|
24
|
-
enable: boolean;
|
|
25
|
-
adult: number;
|
|
26
|
-
child: number;
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export interface BuffetCombosItems {
|
|
31
|
-
readonly _id: string;
|
|
32
|
-
names: object;
|
|
33
|
-
price: {
|
|
34
|
-
adult: number;
|
|
35
|
-
child: number;
|
|
36
|
-
};
|
|
37
|
-
dishes: BuffetDishItem[];
|
|
38
|
-
orderingByTurns: {
|
|
39
|
-
enable: boolean;
|
|
40
|
-
interval: number;
|
|
41
|
-
maxOrdersPerRoundPerPerson: number;
|
|
42
|
-
maxRounds: number;
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
export interface AllergenItem {
|
|
47
|
-
readonly _id: string;
|
|
48
|
-
names: object;
|
|
49
|
-
img: string;
|
|
50
|
-
dishIds: string[];
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
export interface AnnouncementItem {
|
|
54
|
-
readonly _id: string;
|
|
55
|
-
enable: boolean;
|
|
56
|
-
titles: LangList;
|
|
57
|
-
type: AnnouncementTypeEnum;
|
|
58
|
-
targets: AnnouncementTargetEnum[];
|
|
59
|
-
textContents: LangList;
|
|
60
|
-
imageContents: LangList;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
export interface Store {
|
|
64
|
-
readonly _id: string;
|
|
65
|
-
name: string;
|
|
66
|
-
readonly names?: object;
|
|
67
|
-
readonly auditedNames?: Record<string, string>; //审核后的店铺名, 暂时用于发短信
|
|
68
|
-
readonly needAuditNames: boolean; //如果店铺的名字有变化, 这里就要设置为需要重新审核
|
|
69
|
-
readonly img: string;
|
|
70
|
-
readonly phone?: string;
|
|
71
|
-
/**
|
|
72
|
-
* Geographic location for the store. Optional — old stores may not have it.
|
|
73
|
-
* Set via the manager's map-location picker flow on the App; consumed by
|
|
74
|
-
* delivery distance / static-map thumbnails / future routing features.
|
|
75
|
-
* Mirrors the server-side Mongoose subdoc shape in
|
|
76
|
-
* order-multi-server/src/stores/schemas/store.schema.ts.
|
|
77
|
-
*/
|
|
78
|
-
readonly location?: {
|
|
79
|
-
lat: number;
|
|
80
|
-
lng: number;
|
|
81
|
-
formattedAddress?: string;
|
|
82
|
-
placeId?: string;
|
|
83
|
-
};
|
|
84
|
-
description: string;
|
|
85
|
-
readonly descriptions?: object;
|
|
86
|
-
readonly type: string;
|
|
87
|
-
readonly currency: string;
|
|
88
|
-
readonly defaultLang: string;
|
|
89
|
-
readonly timeZoneNum: number;
|
|
90
|
-
readonly autoClean: boolean;
|
|
91
|
-
readonly forceClean: boolean;
|
|
92
|
-
readonly userId: string;
|
|
93
|
-
readonly close: boolean;
|
|
94
|
-
readonly multiLanguage: boolean;
|
|
95
|
-
readonly dishes: Dish[];
|
|
96
|
-
readonly classifications: Classification[];
|
|
97
|
-
readonly specifications: Specification[];
|
|
98
|
-
readonly subscription: Subscription;
|
|
99
|
-
readonly date: string | Date;
|
|
100
|
-
readonly setting: {
|
|
101
|
-
autoConfirm: boolean;
|
|
102
|
-
clientPay: boolean;
|
|
103
|
-
waiterCheckout: boolean;
|
|
104
|
-
cashBox: boolean;
|
|
105
|
-
openCashBoxWhenPay: boolean;
|
|
106
|
-
closeTime: number;
|
|
107
|
-
enableTaxes: boolean;
|
|
108
|
-
enableBuffet: boolean;
|
|
109
|
-
enableAllergens: boolean;
|
|
110
|
-
checkoutFirst: boolean;
|
|
111
|
-
defalutNoTax: boolean;
|
|
112
|
-
taxType?: TaxTypeEnum;
|
|
113
|
-
orderReminderInterval: number;
|
|
114
|
-
disableAppendInterval: number;
|
|
115
|
-
canDeleteOrder: boolean;
|
|
116
|
-
tableOrderAutoCheckout: boolean;
|
|
117
|
-
tableOrderAutoCleanTime: number;
|
|
118
|
-
serialOrderAutoCleanTime: number;
|
|
119
|
-
disableSerialOrder: boolean;
|
|
120
|
-
mustPayVersion: boolean;
|
|
121
|
-
freeVersion: boolean;
|
|
122
|
-
proclamationPopUp: boolean;
|
|
123
|
-
};
|
|
124
|
-
readonly takeoutSetting: {
|
|
125
|
-
startingPrice: number;
|
|
126
|
-
deliveryFee: number;
|
|
127
|
-
payType: string[];
|
|
128
|
-
startTime: number;
|
|
129
|
-
endTime: number;
|
|
130
|
-
open: boolean;
|
|
131
|
-
autoConfirm: boolean;
|
|
132
|
-
selfPickUp: boolean;
|
|
133
|
-
selfPickUpUseDeliveryMenu?: boolean; //自取使用外卖价格, false表示使用堂食价格
|
|
134
|
-
enableDelivery: boolean;
|
|
135
|
-
autoCheckout?: boolean;
|
|
136
|
-
autoCleanTime?: number;
|
|
137
|
-
reserveSwitch: boolean;
|
|
138
|
-
reserveTimeLow: number;
|
|
139
|
-
reserveTimeHigh: number;
|
|
140
|
-
nonPaymentSmsVerification: boolean;
|
|
141
|
-
smsVerificationAreaCode: string[];
|
|
142
|
-
};
|
|
143
|
-
readonly buffetSetting: {
|
|
144
|
-
enable: boolean;
|
|
145
|
-
showDishesOutOfBuffetInClient: boolean;
|
|
146
|
-
allowDishNumberExceedSetLimitInClient: boolean;
|
|
147
|
-
childStandard: string;
|
|
148
|
-
buffetCombos: BuffetCombosItems[];
|
|
149
|
-
};
|
|
150
|
-
readonly allergenSetting: {
|
|
151
|
-
enable: boolean;
|
|
152
|
-
allergens: AllergenItem[];
|
|
153
|
-
};
|
|
154
|
-
readonly announcementSetting: {
|
|
155
|
-
announcements: AnnouncementItem[];
|
|
156
|
-
};
|
|
157
|
-
readonly memberSetting: {
|
|
158
|
-
savingRules: MemberSavingRule[];
|
|
159
|
-
security: {
|
|
160
|
-
paymentVerification: boolean;
|
|
161
|
-
paymentVerificationLimit: number;
|
|
162
|
-
};
|
|
163
|
-
};
|
|
164
|
-
readonly smsNum: number;
|
|
165
|
-
readonly resource: {
|
|
166
|
-
aiToken: number;
|
|
167
|
-
};
|
|
168
|
-
readonly smsNotificationSetting: {
|
|
169
|
-
becomeMember: boolean;
|
|
170
|
-
memberSave: boolean;
|
|
171
|
-
memberPayout: boolean;
|
|
172
|
-
takeoutConfirm: boolean;
|
|
173
|
-
takeoutCancel: boolean;
|
|
174
|
-
takeoutComplete: boolean;
|
|
175
|
-
};
|
|
176
|
-
readonly taxes: {
|
|
177
|
-
name: string;
|
|
178
|
-
rate: number;
|
|
179
|
-
dishIds: string[];
|
|
180
|
-
}[];
|
|
181
|
-
readonly priceHaveTaxBindOrderTaxes: {
|
|
182
|
-
name: string;
|
|
183
|
-
rate: number;
|
|
184
|
-
}[];
|
|
185
|
-
readonly receptionPrinters: ReceptionPrinter[];
|
|
186
|
-
readonly chefPrinters: ChefPrinter[];
|
|
187
|
-
readonly labelPrinters: LabelPrinter[];
|
|
188
|
-
readonly timeMenu: {
|
|
189
|
-
enable: boolean;
|
|
190
|
-
hideDisabledProductions: boolean;
|
|
191
|
-
loopMode: TimeMenuLoopMode;
|
|
192
|
-
dayLoop: DayLoopItem[];
|
|
193
|
-
weekLoop: {
|
|
194
|
-
Mon: {
|
|
195
|
-
sameAs: WeekEnum;
|
|
196
|
-
dayLoop: DayLoopItem[];
|
|
197
|
-
};
|
|
198
|
-
Tue: {
|
|
199
|
-
sameAs: WeekEnum;
|
|
200
|
-
dayLoop: DayLoopItem[];
|
|
201
|
-
};
|
|
202
|
-
Wed: {
|
|
203
|
-
sameAs: WeekEnum;
|
|
204
|
-
dayLoop: DayLoopItem[];
|
|
205
|
-
};
|
|
206
|
-
Thu: {
|
|
207
|
-
sameAs: WeekEnum;
|
|
208
|
-
dayLoop: DayLoopItem[];
|
|
209
|
-
};
|
|
210
|
-
Fri: {
|
|
211
|
-
sameAs: WeekEnum;
|
|
212
|
-
dayLoop: DayLoopItem[];
|
|
213
|
-
};
|
|
214
|
-
Sat: {
|
|
215
|
-
sameAs: WeekEnum;
|
|
216
|
-
dayLoop: DayLoopItem[];
|
|
217
|
-
};
|
|
218
|
-
Sun: {
|
|
219
|
-
sameAs: WeekEnum;
|
|
220
|
-
dayLoop: DayLoopItem[];
|
|
221
|
-
};
|
|
222
|
-
};
|
|
223
|
-
};
|
|
224
|
-
readonly customPayment: {
|
|
225
|
-
name: string;
|
|
226
|
-
enabled: boolean;
|
|
227
|
-
}[];
|
|
228
|
-
readonly areas: Area[];
|
|
229
|
-
readonly cashDenominations: number[];
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
export interface ReceptionPrinter {
|
|
233
|
-
_id: string;
|
|
234
|
-
name: string;
|
|
235
|
-
type: PrinterDeviceTypeEnum;
|
|
236
|
-
address: string;
|
|
237
|
-
bluetoothName: string;
|
|
238
|
-
printerWidth: PrinterWidthEnum;
|
|
239
|
-
printerNum: number;
|
|
240
|
-
disabled: boolean;
|
|
241
|
-
mergeDishes: boolean;
|
|
242
|
-
bigFont: boolean;
|
|
243
|
-
isPrepayOrderPrinteWithTotalPrice: boolean;
|
|
244
|
-
isAutoPrinteAfterConfirm: boolean;
|
|
245
|
-
isAutoPrinteAfterCheckout: boolean;
|
|
246
|
-
preferLang?: string;
|
|
247
|
-
printChineseAndEnglishAsImg?: boolean;
|
|
248
|
-
largeLineHeight?: boolean;
|
|
249
|
-
lineBetweenDishes?: boolean;
|
|
250
|
-
specificationInNewLine?: boolean;
|
|
251
|
-
customInformationAtStart?: string;
|
|
252
|
-
customInformationAtEnd?: string;
|
|
253
|
-
showWaiterName?: boolean;
|
|
254
|
-
showSalesmanName?: boolean;
|
|
255
|
-
showUnitPrice?: boolean;
|
|
256
|
-
encodeType?: EncodeTypeEnum;
|
|
257
|
-
extendedPrintingLangs?: string[];
|
|
258
|
-
multiLangDirection?: MultiLangDirectionEnum;
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
export interface ChefPrinter {
|
|
262
|
-
name: string;
|
|
263
|
-
type: PrinterDeviceTypeEnum;
|
|
264
|
-
address: string;
|
|
265
|
-
bluetoothName: string;
|
|
266
|
-
printerWidth: PrinterWidthEnum;
|
|
267
|
-
printerNum: number;
|
|
268
|
-
disabled: boolean;
|
|
269
|
-
bigFont: boolean;
|
|
270
|
-
dishIds: string[];
|
|
271
|
-
mergeDishes: boolean;
|
|
272
|
-
isSeparateDishes: boolean;
|
|
273
|
-
isSeparateDishesWithTotal: boolean;
|
|
274
|
-
preferLang?: string;
|
|
275
|
-
printChineseAndEnglishAsImg?: boolean;
|
|
276
|
-
largeLineHeight?: boolean;
|
|
277
|
-
lineBetweenDishes?: boolean;
|
|
278
|
-
specificationInNewLine?: boolean;
|
|
279
|
-
countFront?: boolean;
|
|
280
|
-
showWaiterName?: boolean;
|
|
281
|
-
showSalesmanName?: boolean;
|
|
282
|
-
addTableNumBeforeDishName?: boolean;
|
|
283
|
-
encodeType?: EncodeTypeEnum;
|
|
284
|
-
extendedPrintingLangs?: string[];
|
|
285
|
-
multiLangDirection?: MultiLangDirectionEnum;
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
export interface LabelPrinter {
|
|
289
|
-
name: string;
|
|
290
|
-
type: TagPrinterDeviceTypeEnum;
|
|
291
|
-
address: string;
|
|
292
|
-
printerNum: number;
|
|
293
|
-
disabled: boolean;
|
|
294
|
-
dishIds: string[];
|
|
295
|
-
preferLang?: string;
|
|
296
|
-
rotate?: boolean;
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
interface DayLoopItem {
|
|
300
|
-
startMinute: number;
|
|
301
|
-
endMinute: number;
|
|
302
|
-
removeMode: boolean;
|
|
303
|
-
dishId: string[];
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
export interface Area {
|
|
307
|
-
readonly _id?: string;
|
|
308
|
-
readonly name: string;
|
|
309
|
-
readonly tables: Table[];
|
|
310
|
-
}
|
|
311
|
-
|
|
312
|
-
export interface Table {
|
|
313
|
-
readonly _id?: string;
|
|
314
|
-
readonly name: string;
|
|
315
|
-
readonly seatNum: number;
|
|
316
|
-
}
|
|
1
|
+
import { Dish } from './dish.interface';
|
|
2
|
+
import { Classification } from './classification.interface';
|
|
3
|
+
import { Specification } from './specification.interface';
|
|
4
|
+
import { Subscription } from './subscription.interface';
|
|
5
|
+
import { MemberSavingRule } from './member.interface';
|
|
6
|
+
import { TaxTypeEnum } from '../../enum/tax.enum';
|
|
7
|
+
import {
|
|
8
|
+
PrinterDeviceTypeEnum,
|
|
9
|
+
PrinterWidthEnum,
|
|
10
|
+
TagPrinterDeviceTypeEnum,
|
|
11
|
+
EncodeTypeEnum,
|
|
12
|
+
MultiLangDirectionEnum,
|
|
13
|
+
} from '../../enum/printer.enum';
|
|
14
|
+
import { TimeMenuLoopMode } from '../../enum/time-menu.enum';
|
|
15
|
+
import { WeekEnum } from '../../enum/common.enum';
|
|
16
|
+
import { AnnouncementTargetEnum, AnnouncementTypeEnum } from '../../index';
|
|
17
|
+
|
|
18
|
+
export interface LangList {
|
|
19
|
+
[key: string]: string;
|
|
20
|
+
}
|
|
21
|
+
export interface BuffetDishItem {
|
|
22
|
+
readonly dishId: string;
|
|
23
|
+
upperLimit: {
|
|
24
|
+
enable: boolean;
|
|
25
|
+
adult: number;
|
|
26
|
+
child: number;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export interface BuffetCombosItems {
|
|
31
|
+
readonly _id: string;
|
|
32
|
+
names: object;
|
|
33
|
+
price: {
|
|
34
|
+
adult: number;
|
|
35
|
+
child: number;
|
|
36
|
+
};
|
|
37
|
+
dishes: BuffetDishItem[];
|
|
38
|
+
orderingByTurns: {
|
|
39
|
+
enable: boolean;
|
|
40
|
+
interval: number;
|
|
41
|
+
maxOrdersPerRoundPerPerson: number;
|
|
42
|
+
maxRounds: number;
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export interface AllergenItem {
|
|
47
|
+
readonly _id: string;
|
|
48
|
+
names: object;
|
|
49
|
+
img: string;
|
|
50
|
+
dishIds: string[];
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export interface AnnouncementItem {
|
|
54
|
+
readonly _id: string;
|
|
55
|
+
enable: boolean;
|
|
56
|
+
titles: LangList;
|
|
57
|
+
type: AnnouncementTypeEnum;
|
|
58
|
+
targets: AnnouncementTargetEnum[];
|
|
59
|
+
textContents: LangList;
|
|
60
|
+
imageContents: LangList;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export interface Store {
|
|
64
|
+
readonly _id: string;
|
|
65
|
+
name: string;
|
|
66
|
+
readonly names?: object;
|
|
67
|
+
readonly auditedNames?: Record<string, string>; //审核后的店铺名, 暂时用于发短信
|
|
68
|
+
readonly needAuditNames: boolean; //如果店铺的名字有变化, 这里就要设置为需要重新审核
|
|
69
|
+
readonly img: string;
|
|
70
|
+
readonly phone?: string;
|
|
71
|
+
/**
|
|
72
|
+
* Geographic location for the store. Optional — old stores may not have it.
|
|
73
|
+
* Set via the manager's map-location picker flow on the App; consumed by
|
|
74
|
+
* delivery distance / static-map thumbnails / future routing features.
|
|
75
|
+
* Mirrors the server-side Mongoose subdoc shape in
|
|
76
|
+
* order-multi-server/src/stores/schemas/store.schema.ts.
|
|
77
|
+
*/
|
|
78
|
+
readonly location?: {
|
|
79
|
+
lat: number;
|
|
80
|
+
lng: number;
|
|
81
|
+
formattedAddress?: string;
|
|
82
|
+
placeId?: string;
|
|
83
|
+
};
|
|
84
|
+
description: string;
|
|
85
|
+
readonly descriptions?: object;
|
|
86
|
+
readonly type: string;
|
|
87
|
+
readonly currency: string;
|
|
88
|
+
readonly defaultLang: string;
|
|
89
|
+
readonly timeZoneNum: number;
|
|
90
|
+
readonly autoClean: boolean;
|
|
91
|
+
readonly forceClean: boolean;
|
|
92
|
+
readonly userId: string;
|
|
93
|
+
readonly close: boolean;
|
|
94
|
+
readonly multiLanguage: boolean;
|
|
95
|
+
readonly dishes: Dish[];
|
|
96
|
+
readonly classifications: Classification[];
|
|
97
|
+
readonly specifications: Specification[];
|
|
98
|
+
readonly subscription: Subscription;
|
|
99
|
+
readonly date: string | Date;
|
|
100
|
+
readonly setting: {
|
|
101
|
+
autoConfirm: boolean;
|
|
102
|
+
clientPay: boolean;
|
|
103
|
+
waiterCheckout: boolean;
|
|
104
|
+
cashBox: boolean;
|
|
105
|
+
openCashBoxWhenPay: boolean;
|
|
106
|
+
closeTime: number;
|
|
107
|
+
enableTaxes: boolean;
|
|
108
|
+
enableBuffet: boolean;
|
|
109
|
+
enableAllergens: boolean;
|
|
110
|
+
checkoutFirst: boolean;
|
|
111
|
+
defalutNoTax: boolean;
|
|
112
|
+
taxType?: TaxTypeEnum;
|
|
113
|
+
orderReminderInterval: number;
|
|
114
|
+
disableAppendInterval: number;
|
|
115
|
+
canDeleteOrder: boolean;
|
|
116
|
+
tableOrderAutoCheckout: boolean;
|
|
117
|
+
tableOrderAutoCleanTime: number;
|
|
118
|
+
serialOrderAutoCleanTime: number;
|
|
119
|
+
disableSerialOrder: boolean;
|
|
120
|
+
mustPayVersion: boolean;
|
|
121
|
+
freeVersion: boolean;
|
|
122
|
+
proclamationPopUp: boolean;
|
|
123
|
+
};
|
|
124
|
+
readonly takeoutSetting: {
|
|
125
|
+
startingPrice: number;
|
|
126
|
+
deliveryFee: number;
|
|
127
|
+
payType: string[];
|
|
128
|
+
startTime: number;
|
|
129
|
+
endTime: number;
|
|
130
|
+
open: boolean;
|
|
131
|
+
autoConfirm: boolean;
|
|
132
|
+
selfPickUp: boolean;
|
|
133
|
+
selfPickUpUseDeliveryMenu?: boolean; //自取使用外卖价格, false表示使用堂食价格
|
|
134
|
+
enableDelivery: boolean;
|
|
135
|
+
autoCheckout?: boolean;
|
|
136
|
+
autoCleanTime?: number;
|
|
137
|
+
reserveSwitch: boolean;
|
|
138
|
+
reserveTimeLow: number;
|
|
139
|
+
reserveTimeHigh: number;
|
|
140
|
+
nonPaymentSmsVerification: boolean;
|
|
141
|
+
smsVerificationAreaCode: string[];
|
|
142
|
+
};
|
|
143
|
+
readonly buffetSetting: {
|
|
144
|
+
enable: boolean;
|
|
145
|
+
showDishesOutOfBuffetInClient: boolean;
|
|
146
|
+
allowDishNumberExceedSetLimitInClient: boolean;
|
|
147
|
+
childStandard: string;
|
|
148
|
+
buffetCombos: BuffetCombosItems[];
|
|
149
|
+
};
|
|
150
|
+
readonly allergenSetting: {
|
|
151
|
+
enable: boolean;
|
|
152
|
+
allergens: AllergenItem[];
|
|
153
|
+
};
|
|
154
|
+
readonly announcementSetting: {
|
|
155
|
+
announcements: AnnouncementItem[];
|
|
156
|
+
};
|
|
157
|
+
readonly memberSetting: {
|
|
158
|
+
savingRules: MemberSavingRule[];
|
|
159
|
+
security: {
|
|
160
|
+
paymentVerification: boolean;
|
|
161
|
+
paymentVerificationLimit: number;
|
|
162
|
+
};
|
|
163
|
+
};
|
|
164
|
+
readonly smsNum: number;
|
|
165
|
+
readonly resource: {
|
|
166
|
+
aiToken: number;
|
|
167
|
+
};
|
|
168
|
+
readonly smsNotificationSetting: {
|
|
169
|
+
becomeMember: boolean;
|
|
170
|
+
memberSave: boolean;
|
|
171
|
+
memberPayout: boolean;
|
|
172
|
+
takeoutConfirm: boolean;
|
|
173
|
+
takeoutCancel: boolean;
|
|
174
|
+
takeoutComplete: boolean;
|
|
175
|
+
};
|
|
176
|
+
readonly taxes: {
|
|
177
|
+
name: string;
|
|
178
|
+
rate: number;
|
|
179
|
+
dishIds: string[];
|
|
180
|
+
}[];
|
|
181
|
+
readonly priceHaveTaxBindOrderTaxes: {
|
|
182
|
+
name: string;
|
|
183
|
+
rate: number;
|
|
184
|
+
}[];
|
|
185
|
+
readonly receptionPrinters: ReceptionPrinter[];
|
|
186
|
+
readonly chefPrinters: ChefPrinter[];
|
|
187
|
+
readonly labelPrinters: LabelPrinter[];
|
|
188
|
+
readonly timeMenu: {
|
|
189
|
+
enable: boolean;
|
|
190
|
+
hideDisabledProductions: boolean;
|
|
191
|
+
loopMode: TimeMenuLoopMode;
|
|
192
|
+
dayLoop: DayLoopItem[];
|
|
193
|
+
weekLoop: {
|
|
194
|
+
Mon: {
|
|
195
|
+
sameAs: WeekEnum;
|
|
196
|
+
dayLoop: DayLoopItem[];
|
|
197
|
+
};
|
|
198
|
+
Tue: {
|
|
199
|
+
sameAs: WeekEnum;
|
|
200
|
+
dayLoop: DayLoopItem[];
|
|
201
|
+
};
|
|
202
|
+
Wed: {
|
|
203
|
+
sameAs: WeekEnum;
|
|
204
|
+
dayLoop: DayLoopItem[];
|
|
205
|
+
};
|
|
206
|
+
Thu: {
|
|
207
|
+
sameAs: WeekEnum;
|
|
208
|
+
dayLoop: DayLoopItem[];
|
|
209
|
+
};
|
|
210
|
+
Fri: {
|
|
211
|
+
sameAs: WeekEnum;
|
|
212
|
+
dayLoop: DayLoopItem[];
|
|
213
|
+
};
|
|
214
|
+
Sat: {
|
|
215
|
+
sameAs: WeekEnum;
|
|
216
|
+
dayLoop: DayLoopItem[];
|
|
217
|
+
};
|
|
218
|
+
Sun: {
|
|
219
|
+
sameAs: WeekEnum;
|
|
220
|
+
dayLoop: DayLoopItem[];
|
|
221
|
+
};
|
|
222
|
+
};
|
|
223
|
+
};
|
|
224
|
+
readonly customPayment: {
|
|
225
|
+
name: string;
|
|
226
|
+
enabled: boolean;
|
|
227
|
+
}[];
|
|
228
|
+
readonly areas: Area[];
|
|
229
|
+
readonly cashDenominations: number[];
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
export interface ReceptionPrinter {
|
|
233
|
+
_id: string;
|
|
234
|
+
name: string;
|
|
235
|
+
type: PrinterDeviceTypeEnum;
|
|
236
|
+
address: string;
|
|
237
|
+
bluetoothName: string;
|
|
238
|
+
printerWidth: PrinterWidthEnum;
|
|
239
|
+
printerNum: number;
|
|
240
|
+
disabled: boolean;
|
|
241
|
+
mergeDishes: boolean;
|
|
242
|
+
bigFont: boolean;
|
|
243
|
+
isPrepayOrderPrinteWithTotalPrice: boolean;
|
|
244
|
+
isAutoPrinteAfterConfirm: boolean;
|
|
245
|
+
isAutoPrinteAfterCheckout: boolean;
|
|
246
|
+
preferLang?: string;
|
|
247
|
+
printChineseAndEnglishAsImg?: boolean;
|
|
248
|
+
largeLineHeight?: boolean;
|
|
249
|
+
lineBetweenDishes?: boolean;
|
|
250
|
+
specificationInNewLine?: boolean;
|
|
251
|
+
customInformationAtStart?: string;
|
|
252
|
+
customInformationAtEnd?: string;
|
|
253
|
+
showWaiterName?: boolean;
|
|
254
|
+
showSalesmanName?: boolean;
|
|
255
|
+
showUnitPrice?: boolean;
|
|
256
|
+
encodeType?: EncodeTypeEnum;
|
|
257
|
+
extendedPrintingLangs?: string[];
|
|
258
|
+
multiLangDirection?: MultiLangDirectionEnum;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
export interface ChefPrinter {
|
|
262
|
+
name: string;
|
|
263
|
+
type: PrinterDeviceTypeEnum;
|
|
264
|
+
address: string;
|
|
265
|
+
bluetoothName: string;
|
|
266
|
+
printerWidth: PrinterWidthEnum;
|
|
267
|
+
printerNum: number;
|
|
268
|
+
disabled: boolean;
|
|
269
|
+
bigFont: boolean;
|
|
270
|
+
dishIds: string[];
|
|
271
|
+
mergeDishes: boolean;
|
|
272
|
+
isSeparateDishes: boolean;
|
|
273
|
+
isSeparateDishesWithTotal: boolean;
|
|
274
|
+
preferLang?: string;
|
|
275
|
+
printChineseAndEnglishAsImg?: boolean;
|
|
276
|
+
largeLineHeight?: boolean;
|
|
277
|
+
lineBetweenDishes?: boolean;
|
|
278
|
+
specificationInNewLine?: boolean;
|
|
279
|
+
countFront?: boolean;
|
|
280
|
+
showWaiterName?: boolean;
|
|
281
|
+
showSalesmanName?: boolean;
|
|
282
|
+
addTableNumBeforeDishName?: boolean;
|
|
283
|
+
encodeType?: EncodeTypeEnum;
|
|
284
|
+
extendedPrintingLangs?: string[];
|
|
285
|
+
multiLangDirection?: MultiLangDirectionEnum;
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
export interface LabelPrinter {
|
|
289
|
+
name: string;
|
|
290
|
+
type: TagPrinterDeviceTypeEnum;
|
|
291
|
+
address: string;
|
|
292
|
+
printerNum: number;
|
|
293
|
+
disabled: boolean;
|
|
294
|
+
dishIds: string[];
|
|
295
|
+
preferLang?: string;
|
|
296
|
+
rotate?: boolean;
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
interface DayLoopItem {
|
|
300
|
+
startMinute: number;
|
|
301
|
+
endMinute: number;
|
|
302
|
+
removeMode: boolean;
|
|
303
|
+
dishId: string[];
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
export interface Area {
|
|
307
|
+
readonly _id?: string;
|
|
308
|
+
readonly name: string;
|
|
309
|
+
readonly tables: Table[];
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
export interface Table {
|
|
313
|
+
readonly _id?: string;
|
|
314
|
+
readonly name: string;
|
|
315
|
+
readonly seatNum: number;
|
|
316
|
+
}
|