@round2ai/r2-cli 1.0.2 → 1.0.3

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 (158) hide show
  1. package/README.md +1 -1
  2. package/dist/index.js +843 -181
  3. package/dist/index.js.map +7 -1
  4. package/package.json +8 -4
  5. package/dist/api.d.ts +0 -45
  6. package/dist/api.d.ts.map +0 -1
  7. package/dist/api.js +0 -90
  8. package/dist/api.js.map +0 -1
  9. package/dist/auth.d.ts +0 -35
  10. package/dist/auth.d.ts.map +0 -1
  11. package/dist/auth.js +0 -240
  12. package/dist/auth.js.map +0 -1
  13. package/dist/commands/ai/chat.d.ts +0 -9
  14. package/dist/commands/ai/chat.d.ts.map +0 -1
  15. package/dist/commands/ai/chat.js +0 -16
  16. package/dist/commands/ai/chat.js.map +0 -1
  17. package/dist/commands/ai/skills.d.ts +0 -9
  18. package/dist/commands/ai/skills.d.ts.map +0 -1
  19. package/dist/commands/ai/skills.js +0 -16
  20. package/dist/commands/ai/skills.js.map +0 -1
  21. package/dist/commands/auth/login.d.ts +0 -24
  22. package/dist/commands/auth/login.d.ts.map +0 -1
  23. package/dist/commands/auth/login.js +0 -288
  24. package/dist/commands/auth/login.js.map +0 -1
  25. package/dist/commands/auth/logout.d.ts +0 -16
  26. package/dist/commands/auth/logout.d.ts.map +0 -1
  27. package/dist/commands/auth/logout.js +0 -49
  28. package/dist/commands/auth/logout.js.map +0 -1
  29. package/dist/commands/auth/status.d.ts +0 -28
  30. package/dist/commands/auth/status.d.ts.map +0 -1
  31. package/dist/commands/auth/status.js +0 -92
  32. package/dist/commands/auth/status.js.map +0 -1
  33. package/dist/commands/base.d.ts +0 -107
  34. package/dist/commands/base.d.ts.map +0 -1
  35. package/dist/commands/base.js +0 -153
  36. package/dist/commands/base.js.map +0 -1
  37. package/dist/commands/business/pricing.d.ts +0 -9
  38. package/dist/commands/business/pricing.d.ts.map +0 -1
  39. package/dist/commands/business/pricing.js +0 -16
  40. package/dist/commands/business/pricing.js.map +0 -1
  41. package/dist/commands/business/report.d.ts +0 -9
  42. package/dist/commands/business/report.d.ts.map +0 -1
  43. package/dist/commands/business/report.js +0 -16
  44. package/dist/commands/business/report.js.map +0 -1
  45. package/dist/commands/inventory/risk.d.ts +0 -9
  46. package/dist/commands/inventory/risk.d.ts.map +0 -1
  47. package/dist/commands/inventory/risk.js +0 -16
  48. package/dist/commands/inventory/risk.js.map +0 -1
  49. package/dist/config.d.ts +0 -54
  50. package/dist/config.d.ts.map +0 -1
  51. package/dist/config.js +0 -111
  52. package/dist/config.js.map +0 -1
  53. package/dist/index.d.ts +0 -7
  54. package/dist/index.d.ts.map +0 -1
  55. package/dist/query/executor.d.ts +0 -138
  56. package/dist/query/executor.d.ts.map +0 -1
  57. package/dist/query/executor.js +0 -232
  58. package/dist/query/executor.js.map +0 -1
  59. package/dist/query/types.d.ts +0 -116
  60. package/dist/query/types.d.ts.map +0 -1
  61. package/dist/query/types.js +0 -15
  62. package/dist/query/types.js.map +0 -1
  63. package/dist/query/utils.d.ts +0 -99
  64. package/dist/query/utils.d.ts.map +0 -1
  65. package/dist/query/utils.js +0 -151
  66. package/dist/query/utils.js.map +0 -1
  67. package/dist/services/ServiceContainer.d.ts +0 -110
  68. package/dist/services/ServiceContainer.d.ts.map +0 -1
  69. package/dist/services/ServiceContainer.js +0 -242
  70. package/dist/services/ServiceContainer.js.map +0 -1
  71. package/dist/services/api/client.d.ts +0 -88
  72. package/dist/services/api/client.d.ts.map +0 -1
  73. package/dist/services/api/client.js +0 -188
  74. package/dist/services/api/client.js.map +0 -1
  75. package/dist/services/api/types.d.ts +0 -233
  76. package/dist/services/api/types.d.ts.map +0 -1
  77. package/dist/services/api/types.js +0 -83
  78. package/dist/services/api/types.js.map +0 -1
  79. package/dist/services/auth/provider.d.ts +0 -73
  80. package/dist/services/auth/provider.d.ts.map +0 -1
  81. package/dist/services/auth/provider.js +0 -339
  82. package/dist/services/auth/provider.js.map +0 -1
  83. package/dist/services/auth/session.d.ts +0 -73
  84. package/dist/services/auth/session.d.ts.map +0 -1
  85. package/dist/services/auth/session.js +0 -200
  86. package/dist/services/auth/session.js.map +0 -1
  87. package/dist/services/business/demand.d.ts +0 -70
  88. package/dist/services/business/demand.d.ts.map +0 -1
  89. package/dist/services/business/demand.js +0 -240
  90. package/dist/services/business/demand.js.map +0 -1
  91. package/dist/services/business/fulfillment.d.ts +0 -122
  92. package/dist/services/business/fulfillment.d.ts.map +0 -1
  93. package/dist/services/business/fulfillment.js +0 -267
  94. package/dist/services/business/fulfillment.js.map +0 -1
  95. package/dist/services/business/inventory.d.ts +0 -54
  96. package/dist/services/business/inventory.d.ts.map +0 -1
  97. package/dist/services/business/inventory.js +0 -245
  98. package/dist/services/business/inventory.js.map +0 -1
  99. package/dist/services/business/pricing.d.ts +0 -41
  100. package/dist/services/business/pricing.d.ts.map +0 -1
  101. package/dist/services/business/pricing.js +0 -133
  102. package/dist/services/business/pricing.js.map +0 -1
  103. package/dist/services/business/report.d.ts +0 -74
  104. package/dist/services/business/report.d.ts.map +0 -1
  105. package/dist/services/business/report.js +0 -380
  106. package/dist/services/business/report.js.map +0 -1
  107. package/dist/services/config/manager.d.ts +0 -105
  108. package/dist/services/config/manager.d.ts.map +0 -1
  109. package/dist/services/config/manager.js +0 -324
  110. package/dist/services/config/manager.js.map +0 -1
  111. package/dist/services/config/types.d.ts +0 -128
  112. package/dist/services/config/types.d.ts.map +0 -1
  113. package/dist/services/config/types.js +0 -209
  114. package/dist/services/config/types.js.map +0 -1
  115. package/dist/services/index.d.ts +0 -17
  116. package/dist/services/index.d.ts.map +0 -1
  117. package/dist/services/index.js +0 -44
  118. package/dist/services/index.js.map +0 -1
  119. package/dist/services/storage/index.d.ts +0 -63
  120. package/dist/services/storage/index.d.ts.map +0 -1
  121. package/dist/services/storage/index.js +0 -136
  122. package/dist/services/storage/index.js.map +0 -1
  123. package/dist/types/api.d.ts +0 -58
  124. package/dist/types/api.d.ts.map +0 -1
  125. package/dist/types/api.js +0 -5
  126. package/dist/types/api.js.map +0 -1
  127. package/dist/types/auth.d.ts +0 -59
  128. package/dist/types/auth.d.ts.map +0 -1
  129. package/dist/types/auth.js +0 -11
  130. package/dist/types/auth.js.map +0 -1
  131. package/dist/types/business.d.ts +0 -201
  132. package/dist/types/business.d.ts.map +0 -1
  133. package/dist/types/business.js +0 -5
  134. package/dist/types/business.js.map +0 -1
  135. package/dist/types/command.d.ts +0 -106
  136. package/dist/types/command.d.ts.map +0 -1
  137. package/dist/types/command.js +0 -5
  138. package/dist/types/command.js.map +0 -1
  139. package/dist/types/config.d.ts +0 -66
  140. package/dist/types/config.d.ts.map +0 -1
  141. package/dist/types/config.js +0 -5
  142. package/dist/types/config.js.map +0 -1
  143. package/dist/utils/async.d.ts +0 -79
  144. package/dist/utils/async.d.ts.map +0 -1
  145. package/dist/utils/async.js +0 -179
  146. package/dist/utils/async.js.map +0 -1
  147. package/dist/utils/format.d.ts +0 -90
  148. package/dist/utils/format.d.ts.map +0 -1
  149. package/dist/utils/format.js +0 -227
  150. package/dist/utils/format.js.map +0 -1
  151. package/dist/utils/logger.d.ts +0 -136
  152. package/dist/utils/logger.d.ts.map +0 -1
  153. package/dist/utils/logger.js +0 -249
  154. package/dist/utils/logger.js.map +0 -1
  155. package/dist/utils/validation.d.ts +0 -100
  156. package/dist/utils/validation.d.ts.map +0 -1
  157. package/dist/utils/validation.js +0 -334
  158. package/dist/utils/validation.js.map +0 -1
@@ -1,70 +0,0 @@
1
- /**
2
- * 市场需求分析服务
3
- */
4
- import { SKU, Region, DemandAnalysis, TradeRecord } from "../../types/business.js";
5
- /**
6
- * 需求分析服务
7
- */
8
- export declare class DemandAnalysisService {
9
- /**
10
- * 分析商品在特定地区的需求
11
- */
12
- analyzeDemand(sku: SKU, region: Region, trades: TradeRecord[], historicalData?: DemandAnalysis[]): DemandAnalysis;
13
- /**
14
- * 批量需求分析
15
- */
16
- analyzeDemands(skus: SKU[], region: Region, trades: TradeRecord[], historicalData?: DemandAnalysis[]): DemandAnalysis[];
17
- /**
18
- * 获取特定商品、地区、成色的近期交易
19
- */
20
- private getRecentTrades;
21
- /**
22
- * 计算需求强度(基于交易频率和价格)
23
- */
24
- private calculateDemandIntensity;
25
- /**
26
- * 分析历史趋势
27
- */
28
- private analyzeHistoricalTrend;
29
- /**
30
- * 计算供需缺口
31
- */
32
- private calculateGapPercentage;
33
- /**
34
- * 确定需求等级
35
- */
36
- private determineDemandLevel;
37
- /**
38
- * 确定趋势方向
39
- */
40
- private determineTrend;
41
- /**
42
- * 计算置信度
43
- */
44
- private calculateConfidence;
45
- /**
46
- * 获取区域需求热力图
47
- */
48
- generateDemandHeatmap(analyses: DemandAnalysis[], regions: Region[]): {
49
- regionCode: string;
50
- demandScore: number;
51
- recommendation: string;
52
- }[];
53
- /**
54
- * 预测未来需求
55
- */
56
- predictFutureDemand(currentAnalysis: DemandAnalysis, weeksAhead: number): {
57
- predictedGap: number;
58
- trend: "rising" | "stable" | "falling";
59
- confidence: number;
60
- };
61
- }
62
- /**
63
- * 创建需求分析服务
64
- */
65
- export declare function createDemandAnalysisService(): DemandAnalysisService;
66
- /**
67
- * 默认需求分析服务
68
- */
69
- export declare const demandAnalysisService: DemandAnalysisService;
70
- //# sourceMappingURL=demand.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"demand.d.ts","sourceRoot":"","sources":["../../../src/services/business/demand.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,GAAG,EACH,MAAM,EACN,cAAc,EACd,WAAW,EACZ,MAAM,yBAAyB,CAAC;AAejC;;GAEG;AACH,qBAAa,qBAAqB;IAChC;;OAEG;IACH,aAAa,CACX,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,WAAW,EAAE,EACrB,cAAc,CAAC,EAAE,cAAc,EAAE,GAChC,cAAc;IAwCjB;;OAEG;IACH,cAAc,CACZ,IAAI,EAAE,GAAG,EAAE,EACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,WAAW,EAAE,EACrB,cAAc,CAAC,EAAE,cAAc,EAAE,GAChC,cAAc,EAAE;IAenB;;OAEG;IACH,OAAO,CAAC,eAAe;IAiBvB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAchC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA4B9B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAK9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAa5B;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAO3B;;OAEG;IACH,qBAAqB,CACnB,QAAQ,EAAE,cAAc,EAAE,EAC1B,OAAO,EAAE,MAAM,EAAE,GAChB;QACD,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;KACxB,EAAE;IA6CH;;OAEG;IACH,mBAAmB,CACjB,eAAe,EAAE,cAAc,EAC/B,UAAU,EAAE,MAAM,GACjB;QACD,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;QACvC,UAAU,EAAE,MAAM,CAAC;KACpB;CA4BF;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,qBAAqB,CAEnE;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,uBAAgC,CAAC"}
@@ -1,240 +0,0 @@
1
- /**
2
- * 市场需求分析服务
3
- */
4
- import { logger } from "../../utils/logger.js";
5
- import { SKU, Region, DemandAnalysis, TradeRecord, } from "../../types/business.js";
6
- /**
7
- * 需求分析配置
8
- */
9
- const DEMAND_CONFIG = {
10
- gapThresholds: {
11
- low: 0.3, // 供过于求
12
- medium: 0.7, // 供需平衡
13
- high: 1.5, // 供不应求
14
- },
15
- trendWindow: 30, // 趋势分析窗口(天)
16
- confidenceThreshold: 0.6, // 置信度阈值
17
- };
18
- /**
19
- * 需求分析服务
20
- */
21
- export class DemandAnalysisService {
22
- /**
23
- * 分析商品在特定地区的需求
24
- */
25
- analyzeDemand(sku, region, trades, historicalData) {
26
- // 获取该地区的历史需求数据
27
- const regionHistory = historicalData?.filter(d => d.region.code === region.code);
28
- // 分析最近的交易趋势
29
- const recentTrades = this.getRecentTrades(trades, region.code, sku.condition);
30
- const recentDemand = this.calculateDemandIntensity(recentTrades);
31
- // 获取历史需求趋势
32
- const historicalTrend = this.analyzeHistoricalTrend(regionHistory, recentDemand);
33
- // 计算供需缺口
34
- const gapPercentage = this.calculateGapPercentage(recentDemand, historicalTrend.avg);
35
- // 确定需求等级
36
- const demandLevel = this.determineDemandLevel(gapPercentage);
37
- // 确定趋势方向
38
- const trend = this.determineTrend(historicalTrend.current, historicalTrend.avg);
39
- // 计算置信度
40
- const confidence = this.calculateConfidence(recentTrades.length, recentDemand);
41
- logger.info(`需求分析: SKU=${sku.id}, 地区=${region.name}, 需求等级=${demandLevel}, 供需缺口=${gapPercentage.toFixed(1)}%`);
42
- return {
43
- sku,
44
- region,
45
- demandLevel,
46
- gapPercentage,
47
- trend,
48
- lastUpdated: new Date(),
49
- };
50
- }
51
- /**
52
- * 批量需求分析
53
- */
54
- analyzeDemands(skus, region, trades, historicalData) {
55
- const results = [];
56
- for (const sku of skus) {
57
- const analysis = this.analyzeDemand(sku, region, trades, historicalData);
58
- results.push(analysis);
59
- }
60
- // 按需求等级排序
61
- return results.sort((a, b) => {
62
- const levelOrder = { high: 3, medium: 2, low: 1 };
63
- return levelOrder[b.demandLevel] - levelOrder[a.demandLevel];
64
- });
65
- }
66
- /**
67
- * 获取特定商品、地区、成色的近期交易
68
- */
69
- getRecentTrades(trades, regionCode, condition) {
70
- const thirtyDaysAgo = Date.now() - 30 * 24 * 60 * 60 * 1000;
71
- return trades.filter(t => {
72
- return (t.skuId === regionCode && // 简化:假设 skuId 包含地区信息
73
- t.buyerRegion === regionCode &&
74
- t.condition === condition &&
75
- t.soldDate.getTime() > thirtyDaysAgo);
76
- });
77
- }
78
- /**
79
- * 计算需求强度(基于交易频率和价格)
80
- */
81
- calculateDemandIntensity(trades) {
82
- if (trades.length === 0)
83
- return 0;
84
- // 计算平均价格
85
- const avgPrice = trades.reduce((sum, t) => sum + t.soldPrice, 0) / trades.length;
86
- // 计算交易频率(每千天交易次数)
87
- const timeSpan = 30; // 天
88
- const frequency = (trades.length / timeSpan) * 1000;
89
- // 需求强度 = 频率 * 价格权重
90
- return frequency * (avgPrice / 100);
91
- }
92
- /**
93
- * 分析历史趋势
94
- */
95
- analyzeHistoricalTrend(history, currentDemand) {
96
- if (!history || history.length === 0) {
97
- return { avg: currentDemand, current: currentDemand, trend: "stable" };
98
- }
99
- // 计算历史平均值
100
- const avgDemand = history.reduce((sum, d) => sum + d.gapPercentage, 0) / history.length;
101
- // 判断趋势
102
- let trend;
103
- if (currentDemand > avgDemand * 1.2) {
104
- trend = "rising";
105
- }
106
- else if (currentDemand < avgDemand * 0.8) {
107
- trend = "falling";
108
- }
109
- else {
110
- trend = "stable";
111
- }
112
- return { avg: avgDemand, current: currentDemand, trend };
113
- }
114
- /**
115
- * 计算供需缺口
116
- */
117
- calculateGapPercentage(current, average) {
118
- if (average === 0)
119
- return current > 0 ? 100 : 0;
120
- return (current - average) / average;
121
- }
122
- /**
123
- * 确定需求等级
124
- */
125
- determineDemandLevel(gapPercentage) {
126
- if (gapPercentage < DEMAND_CONFIG.gapThresholds.low) {
127
- return "low";
128
- }
129
- else if (gapPercentage >= DEMAND_CONFIG.gapThresholds.high ||
130
- gapPercentage > DEMAND_CONFIG.gapThresholds.medium) {
131
- return "high";
132
- }
133
- else {
134
- return "medium";
135
- }
136
- }
137
- /**
138
- * 确定趋势方向
139
- */
140
- determineTrend(current, average) {
141
- const ratio = current / average;
142
- if (ratio > 1.1)
143
- return "rising";
144
- if (ratio < 0.9)
145
- return "falling";
146
- return "stable";
147
- }
148
- /**
149
- * 计算置信度
150
- */
151
- calculateConfidence(sampleSize, demand) {
152
- // 基于样本大小和数据密度计算置信度
153
- const sampleScore = Math.min(sampleSize / 10, 1);
154
- const densityScore = Math.min(demand / 50, 1);
155
- return (sampleScore + densityScore) / 2;
156
- }
157
- /**
158
- * 获取区域需求热力图
159
- */
160
- generateDemandHeatmap(analyses, regions) {
161
- return regions.map(region => {
162
- const regionAnalyses = analyses.filter(a => a.region.code === region.code);
163
- if (regionAnalyses.length === 0) {
164
- return {
165
- regionCode: region.code,
166
- demandScore: 0,
167
- recommendation: "暂无数据",
168
- };
169
- }
170
- // 计算综合需求分数
171
- const avgDemandScore = regionAnalyses.reduce((sum, a) => {
172
- let score = 0;
173
- switch (a.demandLevel) {
174
- case "high":
175
- score = 80 + (a.gapPercentage > 1 ? 20 : 0);
176
- break;
177
- case "medium":
178
- score = 50;
179
- break;
180
- case "low":
181
- score = 20;
182
- break;
183
- }
184
- return sum + score;
185
- }, 0) / regionAnalyses.length;
186
- // 生成推荐
187
- const highDemandCount = regionAnalyses.filter(a => a.demandLevel === "high").length;
188
- const recommendation = highDemandCount > regionAnalyses.length * 0.5
189
- ? "重点开拓市场"
190
- : avgDemandScore > 60
191
- ? "关注增长机会"
192
- : "维持现状";
193
- return {
194
- regionCode: region.code,
195
- demandScore: Math.round(avgDemandScore),
196
- recommendation,
197
- };
198
- });
199
- }
200
- /**
201
- * 预测未来需求
202
- */
203
- predictFutureDemand(currentAnalysis, weeksAhead) {
204
- // 基于当前趋势和需求等级预测
205
- let predictedGap = currentAnalysis.gapPercentage;
206
- let trend = currentAnalysis.trend;
207
- // 根据需求等级调整预测
208
- if (currentAnalysis.demandLevel === "high" && weeksAhead > 2) {
209
- predictedGap *= 0.9; // 高需求后可能趋于平衡
210
- }
211
- else if (currentAnalysis.demandLevel === "low") {
212
- predictedGap *= 1.1; // 低需求可能持续恶化
213
- }
214
- // 根据趋势调整
215
- if (trend === "rising" && weeksAhead > 1) {
216
- predictedGap += 0.1 * weeksAhead;
217
- }
218
- else if (trend === "falling" && weeksAhead > 1) {
219
- predictedGap -= 0.1 * weeksAhead;
220
- }
221
- // 限制预测范围
222
- predictedGap = Math.max(-1, Math.min(3, predictedGap));
223
- return {
224
- predictedGap,
225
- trend,
226
- confidence: currentAnalysis.demandLevel === "high" ? 0.8 : 0.6,
227
- };
228
- }
229
- }
230
- /**
231
- * 创建需求分析服务
232
- */
233
- export function createDemandAnalysisService() {
234
- return new DemandAnalysisService();
235
- }
236
- /**
237
- * 默认需求分析服务
238
- */
239
- export const demandAnalysisService = createDemandAnalysisService();
240
- //# sourceMappingURL=demand.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"demand.js","sourceRoot":"","sources":["../../../src/services/business/demand.ts"],"names":[],"mappings":"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"}
@@ -1,122 +0,0 @@
1
- /**
2
- * 履约管理服务
3
- */
4
- /**
5
- * 履约状态
6
- */
7
- export declare enum FulfillmentStatus {
8
- PENDING = "pending",
9
- IN_TRANSIT = "in_transit",
10
- DELIVERED = "delivered",
11
- CANCELLED = "cancelled",
12
- RETURNED = "returned"
13
- }
14
- /**
15
- * 履约记录
16
- */
17
- export interface FulfillmentRecord {
18
- id: string;
19
- orderId: string;
20
- skuId: string;
21
- trackingNumber: string;
22
- fromWarehouse: string;
23
- toRegion: string;
24
- status: FulfillmentStatus;
25
- estimatedDelivery: Date;
26
- actualDelivery?: Date;
27
- createdAt: Date;
28
- updatedAt: Date;
29
- }
30
- /**
31
- * 履约异常
32
- */
33
- export interface FulfillmentException {
34
- id: string;
35
- fulfillmentId: string;
36
- type: "delay" | "lost" | "damaged" | "wrong_item";
37
- severity: "low" | "medium" | "high";
38
- description: string;
39
- reportedAt: Date;
40
- resolvedAt?: Date;
41
- resolution?: string;
42
- }
43
- /**
44
- * 履约追踪服务
45
- */
46
- export declare class FulfillmentService {
47
- private records;
48
- private exceptions;
49
- /**
50
- * 创建履约记录
51
- */
52
- createFulfillment(orderId: string, skuId: string, trackingNumber: string, fromWarehouse: string, toRegion: string, estimatedDelivery: Date): FulfillmentRecord;
53
- /**
54
- * 更新履约状态
55
- */
56
- updateStatus(fulfillmentId: string, status: FulfillmentStatus, trackingNumber?: string, deliveryDate?: Date): FulfillmentRecord | null;
57
- /**
58
- * 报告履约异常
59
- */
60
- reportException(fulfillmentId: string, type: FulfillmentException["type"], severity: FulfillmentException["severity"], description: string): FulfillmentException | null;
61
- /**
62
- * 解决异常
63
- */
64
- resolveException(exceptionId: string, resolution: string): boolean;
65
- /**
66
- * 获取履约记录
67
- */
68
- getFulfillment(id: string): FulfillmentRecord | null;
69
- /**
70
- * 根据订单获取履约记录
71
- */
72
- getByOrderId(orderId: string): FulfillmentRecord | null;
73
- /**
74
- * 根据追踪号获取履约记录
75
- */
76
- getByTrackingNumber(trackingNumber: string): FulfillmentRecord | null;
77
- /**
78
- * 获取履约统计
79
- */
80
- getStatistics(startDate?: Date, endDate?: Date): {
81
- total: number;
82
- delivered: number;
83
- inTransit: number;
84
- pending: number;
85
- exceptions: number;
86
- deliveryRate: number;
87
- averageDeliveryTime: number;
88
- };
89
- /**
90
- * 获取履约延迟报告
91
- */
92
- getDelaysReport(daysThreshold?: number, limit?: number): Array<{
93
- record: FulfillmentRecord;
94
- delayDays: number;
95
- severity: "low" | "medium" | "high";
96
- }>;
97
- /**
98
- * 检查履约异常
99
- */
100
- private checkForExceptions;
101
- /**
102
- * 根据日期范围过滤
103
- */
104
- private filterByDateRange;
105
- /**
106
- * 生成 ID
107
- */
108
- private generateId;
109
- /**
110
- * 清理旧记录
111
- */
112
- cleanupOldRecords(daysToKeep?: number): number;
113
- }
114
- /**
115
- * 创建履约服务
116
- */
117
- export declare function createFulfillmentService(): FulfillmentService;
118
- /**
119
- * 默认履约服务
120
- */
121
- export declare const fulfillmentService: FulfillmentService;
122
- //# sourceMappingURL=fulfillment.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fulfillment.d.ts","sourceRoot":"","sources":["../../../src/services/business/fulfillment.ts"],"names":[],"mappings":"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"}