import { WarehouseInfo } from '../types'; import apiService from './apiService'; /** * 仓库服务类 * 封装了所有仓库相关的操作 */ class WarehouseService { /** * 构造函数 */ constructor() { // 真实API模式下不需要模拟数据 } /** * 获取仓库状态的中文描述 */ getWarehouseStatusText(status: WarehouseInfo['status']): string { const statusMap = { 'open': '营业中', 'closed': '已关闭', 'maintenance': '维护中' }; return statusMap[status || 'open'] || '未知状态'; } /** * 获取所有仓库信息 */ async getWarehouses(): Promise { return apiService.getWarehouses(); } /** * 根据ID获取仓库信息 */ async getWarehouseById(id: number): Promise { return apiService.getWarehouseById(id); } /** * 创建新仓库 */ async createWarehouse(warehouseData: Partial): Promise { try { // 模拟API请求延迟 await new Promise(resolve => setTimeout(resolve, 600)); console.log('创建新仓库:', warehouseData); // 实际应用中这里应该调用后端API // 这里我们创建一个模拟的仓库对象返回 const newWarehouse: WarehouseInfo = { id: Date.now(), // 使用时间戳作为临时ID name: warehouseData.name || '新建仓库', address: warehouseData.address || '', contact: warehouseData.contact, phone: warehouseData.phone, description: warehouseData.description, status: 'open', capacity: warehouseData.capacity || 500, longitude: warehouseData.longitude || 0, latitude: warehouseData.latitude || 0 }; return newWarehouse; } catch (error) { console.error('创建仓库失败:', error); throw new Error('创建仓库失败'); } } /** * 删除仓库 */ async deleteWarehouse(warehouseId: number): Promise { try { // 模拟API请求延迟 await new Promise(resolve => setTimeout(resolve, 400)); console.log(`删除仓库 ${warehouseId}`); // 实际应用中这里应该调用后端API return true; } catch (error) { console.error('删除仓库失败:', error); throw new Error('删除仓库失败'); } } } // 导出单例实例 export default new WarehouseService();