@freedom_sky/feige-lib 5.13.0 → 5.14.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.
Files changed (172) hide show
  1. package/.eslintignore +2 -2
  2. package/.eslintrc.js +15 -15
  3. package/.prettierrc.js +6 -6
  4. package/CHANGE.md +24 -24
  5. package/dist/announcement/enum/announcement.enum.d.ts +11 -11
  6. package/dist/announcement/enum/announcement.enum.js +15 -15
  7. package/dist/buffet/index.d.ts +46 -46
  8. package/dist/buffet/index.js +95 -95
  9. package/dist/const/const.d.ts +363 -363
  10. package/dist/const/const.js +2416 -2416
  11. package/dist/enum/ai-token.enum.d.ts +10 -10
  12. package/dist/enum/ai-token.enum.js +14 -14
  13. package/dist/enum/checkout.enum.d.ts +13 -13
  14. package/dist/enum/checkout.enum.js +17 -17
  15. package/dist/enum/common.enum.d.ts +14 -14
  16. package/dist/enum/common.enum.js +18 -18
  17. package/dist/enum/continent.enum.d.ts +8 -8
  18. package/dist/enum/continent.enum.js +11 -11
  19. package/dist/enum/dish.enum.d.ts +4 -4
  20. package/dist/enum/dish.enum.js +7 -7
  21. package/dist/enum/from.enum.d.ts +14 -14
  22. package/dist/enum/from.enum.js +17 -17
  23. package/dist/enum/member.enum.d.ts +16 -16
  24. package/dist/enum/member.enum.js +21 -21
  25. package/dist/enum/menu-io.enum.d.ts +4 -4
  26. package/dist/enum/menu-io.enum.js +7 -7
  27. package/dist/enum/order.enum.d.ts +7 -7
  28. package/dist/enum/order.enum.js +10 -10
  29. package/dist/enum/pay-company.enum.d.ts +4 -4
  30. package/dist/enum/pay-company.enum.js +7 -7
  31. package/dist/enum/printer.enum.d.ts +37 -37
  32. package/dist/enum/printer.enum.js +46 -46
  33. package/dist/enum/receptionist.enum.d.ts +8 -8
  34. package/dist/enum/receptionist.enum.js +11 -11
  35. package/dist/enum/role.enum.d.ts +7 -7
  36. package/dist/enum/role.enum.js +10 -10
  37. package/dist/enum/sms.enum.d.ts +14 -14
  38. package/dist/enum/sms.enum.js +18 -18
  39. package/dist/enum/tax.enum.d.ts +4 -4
  40. package/dist/enum/tax.enum.js +7 -7
  41. package/dist/enum/time-menu.enum.d.ts +4 -4
  42. package/dist/enum/time-menu.enum.js +7 -7
  43. package/dist/enum/timezone.emum.d.ts +33 -33
  44. package/dist/enum/timezone.emum.js +36 -36
  45. package/dist/enum/user-status.enum.d.ts +9 -9
  46. package/dist/enum/user-status.enum.js +12 -12
  47. package/dist/enum/visit-task.enum.d.ts +13 -13
  48. package/dist/enum/visit-task.enum.js +17 -17
  49. package/dist/enum/yeepay.enum.d.ts +22 -22
  50. package/dist/enum/yeepay.enum.js +30 -30
  51. package/dist/index.d.ts +200 -200
  52. package/dist/index.js +561 -561
  53. package/dist/interfaces/common/language.interface.d.ts +15 -15
  54. package/dist/interfaces/common/language.interface.js +2 -2
  55. package/dist/interfaces/member/member-transaction.interface.d.ts +27 -27
  56. package/dist/interfaces/member/member-transaction.interface.js +2 -2
  57. package/dist/interfaces/member/member.interface.d.ts +16 -16
  58. package/dist/interfaces/member/member.interface.js +2 -2
  59. package/dist/interfaces/order/baseOrder.interface.d.ts +84 -83
  60. package/dist/interfaces/order/baseOrder.interface.js +2 -2
  61. package/dist/interfaces/order/buffetOrder.interface.d.ts +13 -13
  62. package/dist/interfaces/order/buffetOrder.interface.js +2 -2
  63. package/dist/interfaces/order/deliveryOrder.interface.d.ts +9 -9
  64. package/dist/interfaces/order/deliveryOrder.interface.js +2 -2
  65. package/dist/interfaces/order/index.d.ts +7 -7
  66. package/dist/interfaces/order/index.js +6 -6
  67. package/dist/interfaces/order/order.interface.d.ts +75 -75
  68. package/dist/interfaces/order/order.interface.js +17 -17
  69. package/dist/interfaces/order/pickupOrder.interface.d.ts +8 -8
  70. package/dist/interfaces/order/pickupOrder.interface.js +2 -2
  71. package/dist/interfaces/order/serialOrder.interface.d.ts +4 -4
  72. package/dist/interfaces/order/serialOrder.interface.js +2 -2
  73. package/dist/interfaces/order/tableOrder.interface.d.ts +7 -7
  74. package/dist/interfaces/order/tableOrder.interface.js +2 -2
  75. package/dist/interfaces/store/classification.interface.d.ts +7 -7
  76. package/dist/interfaces/store/classification.interface.js +2 -2
  77. package/dist/interfaces/store/dish.interface.d.ts +18 -18
  78. package/dist/interfaces/store/dish.interface.js +2 -2
  79. package/dist/interfaces/store/dishSnapshot.interface.d.ts +11 -11
  80. package/dist/interfaces/store/dishSnapshot.interface.js +2 -2
  81. package/dist/interfaces/store/member.interface.d.ts +8 -8
  82. package/dist/interfaces/store/member.interface.js +2 -2
  83. package/dist/interfaces/store/menu-export.interface.d.ts +12 -12
  84. package/dist/interfaces/store/menu-export.interface.js +2 -2
  85. package/dist/interfaces/store/specification.interface.d.ts +17 -17
  86. package/dist/interfaces/store/specification.interface.js +2 -2
  87. package/dist/interfaces/store/store.interface.d.ts +287 -287
  88. package/dist/interfaces/store/store.interface.js +2 -2
  89. package/dist/interfaces/store/subscription.interface.d.ts +43 -43
  90. package/dist/interfaces/store/subscription.interface.js +2 -2
  91. package/dist/interfaces/user/user.interface.d.ts +139 -139
  92. package/dist/interfaces/user/user.interface.js +2 -2
  93. package/dist/interfaces/visit-task/visit-task.interface.d.ts +17 -17
  94. package/dist/interfaces/visit-task/visit-task.interface.js +2 -2
  95. package/dist/order/index.d.ts +21 -21
  96. package/dist/order/index.js +57 -57
  97. package/jest.config.js +189 -189
  98. package/josn-hub/orders/tax-have-price-bind-order.ts +381 -381
  99. package/josn-hub/orders/tax-order.ts +371 -371
  100. 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
  101. 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
  102. 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
  103. 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
  104. 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
  105. 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
  106. 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
  107. 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
  108. package/package.json +55 -55
  109. package/src/announcement/enum/announcement.enum.ts +12 -12
  110. package/src/buffet/index.ts +123 -123
  111. package/src/const/const.ts +2433 -2433
  112. package/src/enum/ai-token.enum.ts +10 -10
  113. package/src/enum/checkout.enum.ts +14 -14
  114. package/src/enum/common.enum.ts +15 -15
  115. package/src/enum/continent.enum.ts +8 -8
  116. package/src/enum/dish.enum.ts +4 -4
  117. package/src/enum/from.enum.ts +14 -14
  118. package/src/enum/member.enum.ts +16 -16
  119. package/src/enum/menu-io.enum.ts +4 -4
  120. package/src/enum/order.enum.ts +7 -7
  121. package/src/enum/pay-company.enum.ts +4 -4
  122. package/src/enum/printer.enum.ts +41 -41
  123. package/src/enum/receptionist.enum.ts +8 -8
  124. package/src/enum/role.enum.ts +7 -7
  125. package/src/enum/sms.enum.ts +14 -14
  126. package/src/enum/tax.enum.ts +4 -4
  127. package/src/enum/time-menu.enum.ts +4 -4
  128. package/src/enum/timezone.emum.ts +33 -33
  129. package/src/enum/user-status.enum.ts +9 -9
  130. package/src/enum/visit-task.enum.ts +14 -14
  131. package/src/enum/yeepay.enum.ts +27 -27
  132. package/src/index.spec.ts +1082 -1082
  133. package/src/index.ts +612 -612
  134. package/src/interfaces/common/language.interface.ts +15 -15
  135. package/src/interfaces/member/member-transaction.interface.ts +32 -32
  136. package/src/interfaces/member/member.interface.ts +16 -16
  137. package/src/interfaces/order/baseOrder.interface.ts +89 -88
  138. package/src/interfaces/order/buffetOrder.interface.ts +14 -14
  139. package/src/interfaces/order/deliveryOrder.interface.ts +10 -10
  140. package/src/interfaces/order/index.ts +7 -7
  141. package/src/interfaces/order/order.interface.ts +84 -84
  142. package/src/interfaces/order/pickupOrder.interface.ts +9 -9
  143. package/src/interfaces/order/serialOrder.interface.ts +5 -5
  144. package/src/interfaces/order/tableOrder.interface.ts +8 -8
  145. package/src/interfaces/store/classification.interface.ts +7 -7
  146. package/src/interfaces/store/dish.interface.ts +18 -18
  147. package/src/interfaces/store/dishSnapshot.interface.ts +12 -12
  148. package/src/interfaces/store/member.interface.ts +9 -9
  149. package/src/interfaces/store/menu-export.interface.ts +13 -13
  150. package/src/interfaces/store/specification.interface.ts +17 -17
  151. package/src/interfaces/store/store.interface.ts +303 -303
  152. package/src/interfaces/store/subscription.interface.ts +43 -43
  153. package/src/interfaces/user/user.interface.ts +139 -139
  154. package/src/interfaces/visit-task/visit-task.interface.ts +17 -17
  155. package/src/order/index.ts +89 -89
  156. package/tsconfig.json +12 -12
  157. package/dist/enum/checkout.emum.d.ts +0 -11
  158. package/dist/enum/checkout.emum.js +0 -15
  159. package/dist/enum/language.enum.d.ts +0 -21
  160. package/dist/enum/language.enum.js +0 -29
  161. package/dist/interfaces/member-transaction/member-transaction.interface.d.ts +0 -16
  162. package/dist/interfaces/member-transaction/member-transaction.interface.js +0 -2
  163. package/dist/interfaces/member-transaction/member.interface.d.ts +0 -16
  164. package/dist/interfaces/member-transaction/member.interface.js +0 -2
  165. package/dist/interfaces/order/pickupOrder.interface copy.d.ts +0 -8
  166. package/dist/interfaces/order/pickupOrder.interface copy.js +0 -2
  167. package/dist/interfaces/order/seriesOrder.interface.d.ts +0 -4
  168. package/dist/interfaces/order/seriesOrder.interface.js +0 -2
  169. package/dist/interfaces/order/tableOrder.interface copy.d.ts +0 -6
  170. package/dist/interfaces/order/tableOrder.interface copy.js +0 -2
  171. package/dist/interfaces/store/subscription.interface copy.d.ts +0 -27
  172. package/dist/interfaces/store/subscription.interface copy.js +0 -2
package/.eslintignore CHANGED
@@ -1,3 +1,3 @@
1
- dist
2
- node_modules
1
+ dist
2
+ node_modules
3
3
  jest.config.js
package/.eslintrc.js CHANGED
@@ -1,16 +1,16 @@
1
- module.exports = {
2
- parser: "@typescript-eslint/parser", // Specifies the ESLint parser
3
- extends: [
4
- "plugin:@typescript-eslint/recommended", // Uses the recommended rules from the @typescript-eslint/eslint-plugin
5
- "prettier/@typescript-eslint", // Uses eslint-config-prettier to disable ESLint rules from @typescript-eslint/eslint-plugin that would conflict with prettier
6
- "plugin:jsdoc/recommended",
7
- "plugin:prettier/recommended" // Enables eslint-plugin-prettier and eslint-config-prettier. This will display prettier errors as ESLint errors. Make sure this is always the last configuration in the extends array.
8
- ],
9
- parserOptions: {
10
- ecmaVersion: 2018, // Allows for the parsing of modern ECMAScript features
11
- sourceType: "module" // Allows for the use of imports
12
- },
13
- rules: {
14
- '@typescript-eslint/no-use-before-define': 'off',
15
- },
1
+ module.exports = {
2
+ parser: "@typescript-eslint/parser", // Specifies the ESLint parser
3
+ extends: [
4
+ "plugin:@typescript-eslint/recommended", // Uses the recommended rules from the @typescript-eslint/eslint-plugin
5
+ "prettier/@typescript-eslint", // Uses eslint-config-prettier to disable ESLint rules from @typescript-eslint/eslint-plugin that would conflict with prettier
6
+ "plugin:jsdoc/recommended",
7
+ "plugin:prettier/recommended" // Enables eslint-plugin-prettier and eslint-config-prettier. This will display prettier errors as ESLint errors. Make sure this is always the last configuration in the extends array.
8
+ ],
9
+ parserOptions: {
10
+ ecmaVersion: 2018, // Allows for the parsing of modern ECMAScript features
11
+ sourceType: "module" // Allows for the use of imports
12
+ },
13
+ rules: {
14
+ '@typescript-eslint/no-use-before-define': 'off',
15
+ },
16
16
  };
package/.prettierrc.js CHANGED
@@ -1,7 +1,7 @@
1
- module.exports = {
2
- semi: true,
3
- trailingComma: "all",
4
- singleQuote: true,
5
- printWidth: 120,
6
- tabWidth: 4
1
+ module.exports = {
2
+ semi: true,
3
+ trailingComma: "all",
4
+ singleQuote: true,
5
+ printWidth: 120,
6
+ tabWidth: 4
7
7
  };
package/CHANGE.md CHANGED
@@ -1,24 +1,24 @@
1
- # 4.45.0
2
- - add store auditedNames
3
- # 4.44.0
4
- - add half hour timezone
5
- # 4.43.0
6
- - add Czech language
7
- # 4.42.0
8
- - add STORE_DESCRIPTION_MAX_LENGTH
9
- # 4.41.0
10
- - add currency CZK
11
- # 4.40.0
12
- - add proclamationPopUp
13
-
14
- # 4.39.0
15
- - add China Kazakh language kk-Arab-CN
16
-
17
- # 4.38.1
18
- - change ug dateFormat to DateFormat.YEAR_MONTH_DAY,
19
-
20
- # 4.38.0
21
- - add extendedPrintingLangs and multiLangDirection to store printer interface
22
-
23
- # 4.37.0
24
- - add MultiLangDirectionEnum
1
+ # 4.45.0
2
+ - add store auditedNames
3
+ # 4.44.0
4
+ - add half hour timezone
5
+ # 4.43.0
6
+ - add Czech language
7
+ # 4.42.0
8
+ - add STORE_DESCRIPTION_MAX_LENGTH
9
+ # 4.41.0
10
+ - add currency CZK
11
+ # 4.40.0
12
+ - add proclamationPopUp
13
+
14
+ # 4.39.0
15
+ - add China Kazakh language kk-Arab-CN
16
+
17
+ # 4.38.1
18
+ - change ug dateFormat to DateFormat.YEAR_MONTH_DAY,
19
+
20
+ # 4.38.0
21
+ - add extendedPrintingLangs and multiLangDirection to store printer interface
22
+
23
+ # 4.37.0
24
+ - add MultiLangDirectionEnum
@@ -1,11 +1,11 @@
1
- export declare enum AnnouncementTypeEnum {
2
- Text = "text",
3
- Image = "image"
4
- }
5
- export declare enum AnnouncementTargetEnum {
6
- Table = "table",
7
- Buffet = "buffet",
8
- Serial = "serial",
9
- PickUp = "pickup",
10
- Delivery = "delivery"
11
- }
1
+ export declare enum AnnouncementTypeEnum {
2
+ Text = "text",
3
+ Image = "image"
4
+ }
5
+ export declare enum AnnouncementTargetEnum {
6
+ Table = "table",
7
+ Buffet = "buffet",
8
+ Serial = "serial",
9
+ PickUp = "pickup",
10
+ Delivery = "delivery"
11
+ }
@@ -1,15 +1,15 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var AnnouncementTypeEnum;
4
- (function (AnnouncementTypeEnum) {
5
- AnnouncementTypeEnum["Text"] = "text";
6
- AnnouncementTypeEnum["Image"] = "image";
7
- })(AnnouncementTypeEnum = exports.AnnouncementTypeEnum || (exports.AnnouncementTypeEnum = {}));
8
- var AnnouncementTargetEnum;
9
- (function (AnnouncementTargetEnum) {
10
- AnnouncementTargetEnum["Table"] = "table";
11
- AnnouncementTargetEnum["Buffet"] = "buffet";
12
- AnnouncementTargetEnum["Serial"] = "serial";
13
- AnnouncementTargetEnum["PickUp"] = "pickup";
14
- AnnouncementTargetEnum["Delivery"] = "delivery";
15
- })(AnnouncementTargetEnum = exports.AnnouncementTargetEnum || (exports.AnnouncementTargetEnum = {}));
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var AnnouncementTypeEnum;
4
+ (function (AnnouncementTypeEnum) {
5
+ AnnouncementTypeEnum["Text"] = "text";
6
+ AnnouncementTypeEnum["Image"] = "image";
7
+ })(AnnouncementTypeEnum = exports.AnnouncementTypeEnum || (exports.AnnouncementTypeEnum = {}));
8
+ var AnnouncementTargetEnum;
9
+ (function (AnnouncementTargetEnum) {
10
+ AnnouncementTargetEnum["Table"] = "table";
11
+ AnnouncementTargetEnum["Buffet"] = "buffet";
12
+ AnnouncementTargetEnum["Serial"] = "serial";
13
+ AnnouncementTargetEnum["PickUp"] = "pickup";
14
+ AnnouncementTargetEnum["Delivery"] = "delivery";
15
+ })(AnnouncementTargetEnum = exports.AnnouncementTargetEnum || (exports.AnnouncementTargetEnum = {}));
@@ -1,46 +1,46 @@
1
- import { BuffetCombosItems, BuffetDishItem, Order } from '../index';
2
- /**
3
- * 计算自助餐总价
4
- */
5
- /**
6
- *
7
- */
8
- export declare function getDishItemInBuffet({ dishId, buffet, }: {
9
- dishId: string;
10
- buffet?: BuffetCombosItems;
11
- }): BuffetDishItem | undefined;
12
- /**
13
- *
14
- */
15
- export declare function getMaxBuffetDishUpperLimit({ buffetDishItem, adultNum, childNum, }: {
16
- buffetDishItem: BuffetDishItem;
17
- adultNum: number;
18
- childNum: number;
19
- }): number;
20
- /**
21
- * @param buffetCombosItem
22
- * @param adultNum
23
- * @param childNum
24
- */
25
- export declare function calcBuffetTotalPrice(buffetCombosItem: BuffetCombosItems, adultNum: number, childNum: number): number;
26
- /**
27
- *
28
- */
29
- export declare function dishShowPriceWithBuffet({ dishPrice, dishId, buffet, orderedCound, adultNum, childNum, }: {
30
- dishPrice: number;
31
- dishId: string;
32
- buffet?: BuffetCombosItems;
33
- orderedCound: number;
34
- adultNum: number;
35
- childNum: number;
36
- }): number;
37
- /**
38
- *
39
- */
40
- export declare function getRoundCoundAndSecondsToNextTurn({ order, }: {
41
- order: Order;
42
- }): {
43
- roundCount?: number;
44
- maxRounds?: number;
45
- secondsToNextTurn: number;
46
- };
1
+ import { BuffetCombosItems, BuffetDishItem, Order } from '../index';
2
+ /**
3
+ * 计算自助餐总价
4
+ */
5
+ /**
6
+ *
7
+ */
8
+ export declare function getDishItemInBuffet({ dishId, buffet, }: {
9
+ dishId: string;
10
+ buffet?: BuffetCombosItems;
11
+ }): BuffetDishItem | undefined;
12
+ /**
13
+ *
14
+ */
15
+ export declare function getMaxBuffetDishUpperLimit({ buffetDishItem, adultNum, childNum, }: {
16
+ buffetDishItem: BuffetDishItem;
17
+ adultNum: number;
18
+ childNum: number;
19
+ }): number;
20
+ /**
21
+ * @param buffetCombosItem
22
+ * @param adultNum
23
+ * @param childNum
24
+ */
25
+ export declare function calcBuffetTotalPrice(buffetCombosItem: BuffetCombosItems, adultNum: number, childNum: number): number;
26
+ /**
27
+ *
28
+ */
29
+ export declare function dishShowPriceWithBuffet({ dishPrice, dishId, buffet, orderedCound, adultNum, childNum, }: {
30
+ dishPrice: number;
31
+ dishId: string;
32
+ buffet?: BuffetCombosItems;
33
+ orderedCound: number;
34
+ adultNum: number;
35
+ childNum: number;
36
+ }): number;
37
+ /**
38
+ *
39
+ */
40
+ export declare function getRoundCoundAndSecondsToNextTurn({ order, }: {
41
+ order: Order;
42
+ }): {
43
+ roundCount?: number;
44
+ maxRounds?: number;
45
+ secondsToNextTurn: number;
46
+ };
@@ -1,95 +1,95 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var index_1 = require("../index");
4
- /**
5
- * 计算自助餐总价
6
- */
7
- /**
8
- *
9
- */
10
- function getDishItemInBuffet(_a) {
11
- var dishId = _a.dishId, buffet = _a.buffet;
12
- return buffet === null || buffet === void 0 ? void 0 : buffet.dishes.find(function (item) { return String(item.dishId) === String(dishId); });
13
- }
14
- exports.getDishItemInBuffet = getDishItemInBuffet;
15
- /**
16
- *
17
- */
18
- function getMaxBuffetDishUpperLimit(_a) {
19
- var buffetDishItem = _a.buffetDishItem, adultNum = _a.adultNum, childNum = _a.childNum;
20
- if (!buffetDishItem)
21
- throw 'No buffet dish item';
22
- if (!buffetDishItem.upperLimit.enable)
23
- return Infinity;
24
- return Math.ceil(buffetDishItem.upperLimit.adult * adultNum + buffetDishItem.upperLimit.child * childNum);
25
- }
26
- exports.getMaxBuffetDishUpperLimit = getMaxBuffetDishUpperLimit;
27
- /**
28
- * @param buffetCombosItem
29
- * @param adultNum
30
- * @param childNum
31
- */
32
- function calcBuffetTotalPrice(buffetCombosItem, adultNum, childNum) {
33
- return buffetCombosItem.price.adult * adultNum + buffetCombosItem.price.child * childNum;
34
- }
35
- exports.calcBuffetTotalPrice = calcBuffetTotalPrice;
36
- /**
37
- *
38
- */
39
- function dishShowPriceWithBuffet(_a) {
40
- var dishPrice = _a.dishPrice, dishId = _a.dishId, buffet = _a.buffet, orderedCound = _a.orderedCound, adultNum = _a.adultNum, childNum = _a.childNum;
41
- var buffetDishItem = getDishItemInBuffet({ dishId: dishId, buffet: buffet });
42
- if (buffetDishItem) {
43
- if (orderedCound < getMaxBuffetDishUpperLimit({ buffetDishItem: buffetDishItem, adultNum: adultNum, childNum: childNum })) {
44
- return 0;
45
- }
46
- else {
47
- return dishPrice;
48
- }
49
- }
50
- else {
51
- return dishPrice;
52
- }
53
- }
54
- exports.dishShowPriceWithBuffet = dishShowPriceWithBuffet;
55
- /**
56
- *
57
- */
58
- function getRoundCoundAndSecondsToNextTurn(_a) {
59
- var order = _a.order;
60
- var _b, _c;
61
- var secondsToNextTurn = 0;
62
- var buffetCombosItems = (_b = order.buffet) === null || _b === void 0 ? void 0 : _b.snapshot;
63
- if (!((_c = buffetCombosItems.orderingByTurns) === null || _c === void 0 ? void 0 : _c.enable)) {
64
- throw 'Buffet ordering by turns is not enabled';
65
- }
66
- var _d = buffetCombosItems.orderingByTurns, interval = _d.interval, maxRounds = _d.maxRounds;
67
- var previousBuffetSubmitTasks = order.tasks.filter(function (task) {
68
- return (task.type === index_1.CONST.TASK_TYPE.CHECK || task.type === index_1.CONST.TASK_TYPE.APPEND) &&
69
- _haveAtLeastOneSameItem(task.content.map(function (content) { return String(content.dishSnapshot._id); }), buffetCombosItems.dishes.map(function (dish) { return String(dish.dishId); }));
70
- });
71
- if (previousBuffetSubmitTasks.length === 0) {
72
- secondsToNextTurn = 0;
73
- }
74
- else if (previousBuffetSubmitTasks.length >= maxRounds) {
75
- secondsToNextTurn = Infinity;
76
- }
77
- else {
78
- var lastBuffetSubmitTime = previousBuffetSubmitTasks[previousBuffetSubmitTasks.length - 1].date;
79
- secondsToNextTurn = interval * 60 - Math.floor((Date.now() - new Date(lastBuffetSubmitTime).getTime()) / 1000);
80
- }
81
- return {
82
- roundCount: previousBuffetSubmitTasks.length,
83
- secondsToNextTurn: secondsToNextTurn,
84
- maxRounds: maxRounds,
85
- };
86
- }
87
- exports.getRoundCoundAndSecondsToNextTurn = getRoundCoundAndSecondsToNextTurn;
88
- /**
89
- * @param arr1
90
- * @param arr2
91
- */
92
- function _haveAtLeastOneSameItem(arr1, arr2) {
93
- var set1 = new Set(arr1);
94
- return arr2.some(function (item) { return set1.has(item); });
95
- }
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var index_1 = require("../index");
4
+ /**
5
+ * 计算自助餐总价
6
+ */
7
+ /**
8
+ *
9
+ */
10
+ function getDishItemInBuffet(_a) {
11
+ var dishId = _a.dishId, buffet = _a.buffet;
12
+ return buffet === null || buffet === void 0 ? void 0 : buffet.dishes.find(function (item) { return String(item.dishId) === String(dishId); });
13
+ }
14
+ exports.getDishItemInBuffet = getDishItemInBuffet;
15
+ /**
16
+ *
17
+ */
18
+ function getMaxBuffetDishUpperLimit(_a) {
19
+ var buffetDishItem = _a.buffetDishItem, adultNum = _a.adultNum, childNum = _a.childNum;
20
+ if (!buffetDishItem)
21
+ throw 'No buffet dish item';
22
+ if (!buffetDishItem.upperLimit.enable)
23
+ return Infinity;
24
+ return Math.ceil(buffetDishItem.upperLimit.adult * adultNum + buffetDishItem.upperLimit.child * childNum);
25
+ }
26
+ exports.getMaxBuffetDishUpperLimit = getMaxBuffetDishUpperLimit;
27
+ /**
28
+ * @param buffetCombosItem
29
+ * @param adultNum
30
+ * @param childNum
31
+ */
32
+ function calcBuffetTotalPrice(buffetCombosItem, adultNum, childNum) {
33
+ return buffetCombosItem.price.adult * adultNum + buffetCombosItem.price.child * childNum;
34
+ }
35
+ exports.calcBuffetTotalPrice = calcBuffetTotalPrice;
36
+ /**
37
+ *
38
+ */
39
+ function dishShowPriceWithBuffet(_a) {
40
+ var dishPrice = _a.dishPrice, dishId = _a.dishId, buffet = _a.buffet, orderedCound = _a.orderedCound, adultNum = _a.adultNum, childNum = _a.childNum;
41
+ var buffetDishItem = getDishItemInBuffet({ dishId: dishId, buffet: buffet });
42
+ if (buffetDishItem) {
43
+ if (orderedCound < getMaxBuffetDishUpperLimit({ buffetDishItem: buffetDishItem, adultNum: adultNum, childNum: childNum })) {
44
+ return 0;
45
+ }
46
+ else {
47
+ return dishPrice;
48
+ }
49
+ }
50
+ else {
51
+ return dishPrice;
52
+ }
53
+ }
54
+ exports.dishShowPriceWithBuffet = dishShowPriceWithBuffet;
55
+ /**
56
+ *
57
+ */
58
+ function getRoundCoundAndSecondsToNextTurn(_a) {
59
+ var order = _a.order;
60
+ var _b, _c;
61
+ var secondsToNextTurn = 0;
62
+ var buffetCombosItems = (_b = order.buffet) === null || _b === void 0 ? void 0 : _b.snapshot;
63
+ if (!((_c = buffetCombosItems.orderingByTurns) === null || _c === void 0 ? void 0 : _c.enable)) {
64
+ throw 'Buffet ordering by turns is not enabled';
65
+ }
66
+ var _d = buffetCombosItems.orderingByTurns, interval = _d.interval, maxRounds = _d.maxRounds;
67
+ var previousBuffetSubmitTasks = order.tasks.filter(function (task) {
68
+ return (task.type === index_1.CONST.TASK_TYPE.CHECK || task.type === index_1.CONST.TASK_TYPE.APPEND) &&
69
+ _haveAtLeastOneSameItem(task.content.map(function (content) { return String(content.dishSnapshot._id); }), buffetCombosItems.dishes.map(function (dish) { return String(dish.dishId); }));
70
+ });
71
+ if (previousBuffetSubmitTasks.length === 0) {
72
+ secondsToNextTurn = 0;
73
+ }
74
+ else if (previousBuffetSubmitTasks.length >= maxRounds) {
75
+ secondsToNextTurn = Infinity;
76
+ }
77
+ else {
78
+ var lastBuffetSubmitTime = previousBuffetSubmitTasks[previousBuffetSubmitTasks.length - 1].date;
79
+ secondsToNextTurn = interval * 60 - Math.floor((Date.now() - new Date(lastBuffetSubmitTime).getTime()) / 1000);
80
+ }
81
+ return {
82
+ roundCount: previousBuffetSubmitTasks.length,
83
+ secondsToNextTurn: secondsToNextTurn,
84
+ maxRounds: maxRounds,
85
+ };
86
+ }
87
+ exports.getRoundCoundAndSecondsToNextTurn = getRoundCoundAndSecondsToNextTurn;
88
+ /**
89
+ * @param arr1
90
+ * @param arr2
91
+ */
92
+ function _haveAtLeastOneSameItem(arr1, arr2) {
93
+ var set1 = new Set(arr1);
94
+ return arr2.some(function (item) { return set1.has(item); });
95
+ }