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: Omit): Promise { try { const result = await apiService.createWarehouse(warehouseData); console.log('创建仓库结果:', result); if (result.success && result.data) { return result.data; } else { throw new Error(result.message || '创建仓库失败'); } } catch (error) { console.error('创建仓库失败:', error); throw new Error('创建仓库失败'); } } /** * 更新仓库信息 */ async updateWarehouse(warehouseId: number, warehouseInfo: { name?: string; address?: string; contact?: string; phone?: string; description?: string; capacity?: number; longitude?: number; latitude?: number; status?: 'open' | 'closed' | 'maintenance' }): Promise { try { const result = await apiService.updateWarehouse(warehouseId, warehouseInfo); console.log(`更新仓库 ${warehouseId} 结果:`, result); if (result.success && result.data) { return result.data; } else { throw new Error(result.message || '更新仓库失败'); } } catch (error) { console.error('更新仓库失败:', error); throw new Error('更新仓库失败'); } } /** * 删除仓库 */ async deleteWarehouse(warehouseId: number): Promise { try { const result = await apiService.deleteWarehouse(warehouseId); console.log(`删除仓库 ${warehouseId} 结果:`, result); return result.success; } catch (error) { console.error('删除仓库失败:', error); throw new Error('删除仓库失败'); } } } // 导出单例实例 export default new WarehouseService();