地图订单修改
This commit is contained in:
@@ -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()
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 手动刷新统计数据(清除缓存)
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user