@be-link/pos-cli-nodejs 1.0.232 → 1.0.234

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/package.json CHANGED
@@ -1,8 +1,17 @@
1
1
  {
2
2
  "name": "@be-link/pos-cli-nodejs",
3
- "version": "1.0.232",
3
+ "version": "1.0.234",
4
4
  "description": "正向订单服务Nodejs客户端",
5
5
  "main": "index.js",
6
+ "scripts": {
7
+ "build": "rm -rf ./dist && tsc && cp package.json README.md ./dist/",
8
+ "test": "npx jest",
9
+ "gen-doc": "npx typedoc --options typedoc.json",
10
+ "update:major": "standard-version --release-as major",
11
+ "update:minor": "standard-version --release-as minor",
12
+ "update:patch": "standard-version --release-as patch",
13
+ "update:beta": "standard-version --prerelease beta"
14
+ },
6
15
  "repository": {
7
16
  "type": "git",
8
17
  "url": "git+https://github.com/snowmountain-top/pos-cli-nodejs.git"
@@ -43,14 +52,5 @@
43
52
  "lodash": "4.17.21",
44
53
  "uuid": "^9.0.1",
45
54
  "vitality-meta": "1.0.240"
46
- },
47
- "scripts": {
48
- "build": "rm -rf ./dist && tsc && cp package.json README.md ./dist/",
49
- "test": "npx jest",
50
- "gen-doc": "npx typedoc --options typedoc.json",
51
- "update:major": "standard-version --release-as major",
52
- "update:minor": "standard-version --release-as minor",
53
- "update:patch": "standard-version --release-as patch",
54
- "update:beta": "standard-version --prerelease beta"
55
55
  }
56
- }
56
+ }
@@ -26,6 +26,10 @@ declare class OrderJobService extends BaseService implements Service.OrderJobCon
26
26
  jobNotifySupplierTomorrowOrder(): Promise<void>;
27
27
  jobNotifySupplierInvoiceOrder(): Promise<void>;
28
28
  jobNotifySupplierInvoiceDay(): Promise<void>;
29
+ jobNotifyPendingSupplierPaid24h(request?: Service.Request.jobNotifyPendingSupplierPaid24h): Promise<Record<string, number>>;
30
+ jobNotifyPendingSupplierT1(request: Service.Request.jobNotifyPendingSupplierT1): Promise<Record<string, number>>;
31
+ jobNotifyPendingInvoiceDay5(request?: Service.Request.jobNotifyPendingInvoiceDay5): Promise<Record<string, number>>;
32
+ jobNotifyRejectedUncontacted72h(request?: Service.Request.jobNotifyRejectedUncontacted72h): Promise<Record<string, number>>;
29
33
  jobNotifyFeishuOfConfirmBus(): Promise<void>;
30
34
  jobPushTourSupplierForConfirmOrder(): Promise<void>;
31
35
  jobCompensateOrderPaid(): Promise<void>;
@@ -82,6 +82,18 @@ class OrderJobService extends service_1.default {
82
82
  jobNotifySupplierInvoiceDay() {
83
83
  return (0, http_1.callApi)(this.getApiUrl(this.jobNotifySupplierInvoiceDay));
84
84
  }
85
+ jobNotifyPendingSupplierPaid24h(request) {
86
+ return (0, http_1.callApi)(this.getApiUrl(this.jobNotifyPendingSupplierPaid24h), request);
87
+ }
88
+ jobNotifyPendingSupplierT1(request) {
89
+ return (0, http_1.callApi)(this.getApiUrl(this.jobNotifyPendingSupplierT1), request);
90
+ }
91
+ jobNotifyPendingInvoiceDay5(request) {
92
+ return (0, http_1.callApi)(this.getApiUrl(this.jobNotifyPendingInvoiceDay5), request);
93
+ }
94
+ jobNotifyRejectedUncontacted72h(request) {
95
+ return (0, http_1.callApi)(this.getApiUrl(this.jobNotifyRejectedUncontacted72h), request);
96
+ }
85
97
  jobNotifyFeishuOfConfirmBus() {
86
98
  return (0, http_1.callApi)(this.getApiUrl(this.jobNotifyFeishuOfConfirmBus));
87
99
  }
@@ -4,6 +4,24 @@ export declare namespace Service {
4
4
  orderIds?: string[];
5
5
  scene?: 'T-1-10:00' | 'T-1-15:00' | 'manual';
6
6
  }
7
+ interface jobNotifyPendingSupplierPaid24h {
8
+ now?: number;
9
+ lookbackHours?: number;
10
+ dryRun?: boolean;
11
+ }
12
+ interface jobNotifyPendingSupplierT1 {
13
+ now?: number;
14
+ bizTypes: Array<'TOUR' | 'PARTY_HOTEL' | 'ONE_SECOND_PARTY'>;
15
+ dryRun?: boolean;
16
+ }
17
+ interface jobNotifyPendingInvoiceDay5 {
18
+ now?: number;
19
+ dryRun?: boolean;
20
+ }
21
+ interface jobNotifyRejectedUncontacted72h {
22
+ now?: number;
23
+ dryRun?: boolean;
24
+ }
7
25
  }
8
26
  interface OrderJobController {
9
27
  /** 自动完结订单 */
@@ -54,6 +72,14 @@ export declare namespace Service {
54
72
  jobNotifySupplierInvoiceOrder(): Promise<void>;
55
73
  /** 每天通知超过5天未处理的发票 */
56
74
  jobNotifySupplierInvoiceDay(): Promise<void>;
75
+ /** 每10分钟补扫支付满24小时仍待接单 */
76
+ jobNotifyPendingSupplierPaid24h(request?: Request.jobNotifyPendingSupplierPaid24h): Promise<Record<string, number>>;
77
+ /** 出行前一天仍待接单 */
78
+ jobNotifyPendingSupplierT1(request: Request.jobNotifyPendingSupplierT1): Promise<Record<string, number>>;
79
+ /** 申请发票第5天仍未开票 */
80
+ jobNotifyPendingInvoiceDay5(request?: Request.jobNotifyPendingInvoiceDay5): Promise<Record<string, number>>;
81
+ /** 拒单满72小时且销售未联系用户 */
82
+ jobNotifyRejectedUncontacted72h(request?: Request.jobNotifyRejectedUncontacted72h): Promise<Record<string, number>>;
57
83
  /** 每天早上10点,出团前5天飞书通知客服再次确认班车 */
58
84
  jobNotifyFeishuOfConfirmBus(): Promise<void>;
59
85
  /** 从8点开始每隔3小时催促供应商接单 */
@@ -39,28 +39,22 @@ describe('自动接单订单查询契约', () => {
39
39
  beforeEach(() => {
40
40
  mockCallApi.mockReset().mockResolvedValue([]);
41
41
  });
42
- it.each([0, 1])('list/count/statistics 透传属性值 %s', (value) => __awaiter(void 0, void 0, void 0, function* () {
43
- yield store_1.default.queryOrderList(storeListRequest(value, value));
44
- yield store_1.default.getOrderCount(storeCountRequest(value, value));
45
- yield web_1.default.queryOrderForStatistics(statisticsRequest(value, value));
46
- expect(mockCallApi.mock.calls.map((call) => call[1])).toEqual([
47
- expect.objectContaining({
48
- conditions: expect.objectContaining({
49
- isAutoConfirmedOrder: value,
50
- isSupplierAcknowledged: value,
51
- }),
52
- }),
53
- expect.objectContaining({
54
- isAutoConfirmedOrder: value,
55
- isSupplierAcknowledged: value,
56
- }),
57
- expect.objectContaining({
58
- conditions: expect.objectContaining({
59
- isAutoConfirmedOrder: value,
60
- isSupplierAcknowledged: value,
61
- }),
62
- }),
63
- ]);
42
+ it.each([
43
+ [0, 0],
44
+ [0, 1],
45
+ [1, 0],
46
+ [1, 1],
47
+ ])('list/count/statistics 透传属性值 (%s, %s)', (isAutoConfirmedOrder, isSupplierAcknowledged) => __awaiter(void 0, void 0, void 0, function* () {
48
+ yield store_1.default.queryOrderList(storeListRequest(isAutoConfirmedOrder, isSupplierAcknowledged));
49
+ yield store_1.default.getOrderCount(storeCountRequest(isAutoConfirmedOrder, isSupplierAcknowledged));
50
+ yield web_1.default.queryOrderForStatistics(statisticsRequest(isAutoConfirmedOrder, isSupplierAcknowledged));
51
+ const [listRequest, countRequest, statisticsRequestValue] = mockCallApi.mock.calls.map((call) => call[1]);
52
+ expect(listRequest.conditions.isAutoConfirmedOrder).toBe(isAutoConfirmedOrder);
53
+ expect(listRequest.conditions.isSupplierAcknowledged).toBe(isSupplierAcknowledged);
54
+ expect(countRequest.isAutoConfirmedOrder).toBe(isAutoConfirmedOrder);
55
+ expect(countRequest.isSupplierAcknowledged).toBe(isSupplierAcknowledged);
56
+ expect(statisticsRequestValue.conditions.isAutoConfirmedOrder).toBe(isAutoConfirmedOrder);
57
+ expect(statisticsRequestValue.conditions.isSupplierAcknowledged).toBe(isSupplierAcknowledged);
64
58
  }));
65
59
  it('未传新增字段时保持旧请求结构', () => __awaiter(void 0, void 0, void 0, function* () {
66
60
  const listRequest = storeListRequest();
@@ -30,8 +30,10 @@ export declare namespace Service {
30
30
  interface getOrderInvoiceRequest {
31
31
  /** 开票状态 */
32
32
  invoiceStatus?: string;
33
- /** 创建时间 */
33
+ /** 创建时间(旧累计查询上限) */
34
34
  createdAt?: number;
35
+ /** 创建时间左闭右开范围 */
36
+ createdAtRange?: [number, number];
35
37
  /** 开票方 */
36
38
  invoiceBase?: string;
37
39
  page?: number;
package/types.d.ts CHANGED
@@ -132,6 +132,10 @@ export interface IPositiveAttributes {
132
132
  isMigratedItemOrder: boolean;
133
133
  /** 是否为同程视频号订单 */
134
134
  isTongchengVideoAccountOrder: boolean;
135
+ /** 是否为自动接单订单 */
136
+ isAutoConfirmedOrder?: boolean;
137
+ /** 供应商是否已知晓 */
138
+ isSupplierAcknowledged?: boolean;
135
139
  /** 跟团游不成团状态 GroupFormationStatusEnum:null 非不成团 / PENDING / RESCHEDULING / RESOLVED */
136
140
  isGroupFormationFailed: string | null;
137
141
  /** 不成团操作时间(毫秒时间戳,仅存于 attributes JSON) */
@@ -0,0 +1 @@
1
+ export {};
package/types.test.js ADDED
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const positiveAttributes = {
4
+ isAutoConfirmedOrder: true,
5
+ isSupplierAcknowledged: false,
6
+ };
7
+ const isAutoConfirmedOrder = 1;
8
+ const isSupplierAcknowledged = 0;
9
+ // @ts-expect-error 原始订单结构中的布尔属性统一映射为数值
10
+ const invalidIsAutoConfirmedOrder = true;
11
+ describe('订单属性类型', () => {
12
+ it('IPositiveAttributes 声明布尔字段,IRawOrderStructure 映射为数值字段', () => {
13
+ expect(positiveAttributes.isAutoConfirmedOrder).toBe(true);
14
+ expect(positiveAttributes.isSupplierAcknowledged).toBe(false);
15
+ expect(isAutoConfirmedOrder).toBe(1);
16
+ expect(isSupplierAcknowledged).toBe(0);
17
+ expect(invalidIsAutoConfirmedOrder).toBe(true);
18
+ });
19
+ });