地图订单修改

This commit is contained in:
2025-12-10 22:49:22 +08:00
parent 271b88232c
commit 528e4757dd
17 changed files with 325 additions and 183 deletions

View File

@@ -14,6 +14,27 @@ export interface StatisticsData {
timestamp: number; // 数据时间戳
}
/**
* 工作统计数据接口
*/
export interface WorkStats {
todayOrders: number; // 今日订单数
completedOrders: number; // 已完成订单数
pendingOrders: number; // 待处理订单数
timestamp: number; // 数据时间戳
}
/**
* 个人统计数据接口
*/
export interface PersonalStats {
totalOrders: number; // 总订单数
completedOrders: number; // 已完成订单数
pendingOrders: number; // 待处理订单数
averageDeliveryTime: number; // 平均配送时间(分钟)
timestamp: number; // 数据时间戳
}
/**
* 统计服务类
* 提供系统统计数据的获取和缓存功能
@@ -25,6 +46,13 @@ class StatisticsService {
// 缓存超时时间5分钟
private readonly cacheTimeout = 5 * 60 * 1000;
/**
* 构造函数
*/
constructor() {
// 不需要初始化HTTP客户端直接使用apiService
}
/**
* 获取系统统计数据
* 采用一个API请求获取三个统计数据后续操作客户端自行统计
@@ -101,6 +129,64 @@ class StatisticsService {
}
}
/**
* 获取工作统计数据
*/
async getWorkStats(): Promise<WorkStats> {
try {
// 使用apiService的getOrderStats方法获取今日订单统计
const response = await apiService.getOrderStats('today');
// 转换API响应格式为WorkStats格式
return {
todayOrders: response.totalOrders || 0,
completedOrders: response.completedOrders || 0,
pendingOrders: response.inProgressOrders || 0,
timestamp: Date.now()
};
} catch (error) {
console.error('获取工作统计数据失败:', error);
// 如果API调用失败返回默认值
return {
todayOrders: 0,
completedOrders: 0,
pendingOrders: 0,
timestamp: Date.now()
};
}
}
/**
* 获取个人统计数据
* 由于API中没有直接的个人统计接口这里返回默认值
* 实际应用中应该从订单服务中获取当前用户的订单统计
*/
async getPersonalStats(): Promise<PersonalStats> {
try {
// 在实际应用中,这里应该调用订单服务获取当前用户的订单统计
// 由于API限制暂时返回默认值
console.warn('个人统计API不可用返回默认值');
return {
totalOrders: 0,
completedOrders: 0,
pendingOrders: 0,
averageDeliveryTime: 0,
timestamp: Date.now()
};
} catch (error) {
console.error('获取个人统计数据失败:', error);
// 如果API调用失败返回默认值
return {
totalOrders: 0,
completedOrders: 0,
pendingOrders: 0,
averageDeliveryTime: 0,
timestamp: Date.now()
};
}
}
/**
* 手动刷新统计数据(清除缓存)
*/