88 lines
2.0 KiB
TypeScript
88 lines
2.0 KiB
TypeScript
// 货运人员服务 - 处理货运人员相关的数据操作
|
|
import { DeliveryPerson } from '../types';
|
|
import apiService from './apiService';
|
|
|
|
/**
|
|
* 货运人员服务类
|
|
* 提供货运人员信息管理、状态管理等功能
|
|
*/
|
|
class DeliveryPersonService {
|
|
|
|
/**
|
|
* 构造函数
|
|
*/
|
|
constructor() {
|
|
// 不再使用模拟数据
|
|
}
|
|
|
|
/**
|
|
* 获取所有货运人员
|
|
* @returns 货运人员列表
|
|
*/
|
|
async getDeliveryPersons(): Promise<DeliveryPerson[]> {
|
|
return apiService.getDeliveryPersons();
|
|
}
|
|
|
|
/**
|
|
* 根据ID获取货运人员
|
|
* @param id 货运人员ID
|
|
* @returns 货运人员信息或null
|
|
*/
|
|
async getDeliveryPersonById(id: number): Promise<DeliveryPerson | null> {
|
|
try {
|
|
const result = await apiService.getDeliveryPersonById(id);
|
|
return result;
|
|
} catch (error) {
|
|
console.error('获取货运人员失败:', error);
|
|
return null;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 获取空闲的货运人员
|
|
* @returns 空闲货运人员列表
|
|
*/
|
|
async getIdleDeliveryPersons(): Promise<DeliveryPerson[]> {
|
|
return apiService.getIdleDeliveryPersons();
|
|
}
|
|
|
|
/**
|
|
* 获取忙碌的货运人员
|
|
* @returns 忙碌货运人员列表
|
|
*/
|
|
async getBusyDeliveryPersons(): Promise<DeliveryPerson[]> {
|
|
return apiService.getBusyDeliveryPersons();
|
|
}
|
|
|
|
/**
|
|
* 获取货运人员当前订单
|
|
* @param deliveryPersonId 货运人员ID
|
|
* @returns 订单列表
|
|
*/
|
|
async getDeliveryPersonOrders(deliveryPersonId: number): Promise<Array<{
|
|
id: number;
|
|
startPoint: {
|
|
id: number;
|
|
name: string;
|
|
longitude: number;
|
|
latitude: number;
|
|
};
|
|
endPoint: {
|
|
name: string;
|
|
longitude: number;
|
|
latitude: number;
|
|
};
|
|
status: string;
|
|
goodsType: string;
|
|
goodsWeight: number;
|
|
createTime: number;
|
|
}>> {
|
|
return apiService.getDeliveryPersonOrders(deliveryPersonId);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 货运人员服务单例实例
|
|
* 导出供应用程序全局使用
|
|
*/
|
|
export default new DeliveryPersonService(); |