// 员工管理服务 - 处理员工相关的数据操作 import { EmployeeInfo } from '../types'; import apiService from './apiService'; /** * 员工管理服务类 * 提供员工信息的增删改查功能 */ class EmployeeService { /** * 构造函数 */ constructor() { // 不再使用模拟数据 } /** * 获取所有员工列表 * @returns 员工信息数组 */ async getEmployees(): Promise { try { return await apiService.getEmployees(); } catch (error) { console.error('获取员工列表失败:', error); // API调用失败时返回空数组 return []; } } /** * 添加新员工 * @param employeeInfo 员工信息 * @returns 添加的员工信息 */ async addEmployee(employeeInfo: { name: string; phone: string; role: string }): Promise { try { return await apiService.addEmployee(employeeInfo); } catch (error) { console.error('添加员工失败:', error); throw new Error('添加员工失败,请稍后重试'); } } /** * 删除员工 * @param employeeId 员工ID * @returns 删除结果 */ async deleteEmployee(employeeId: number): Promise<{ success: boolean; message?: string }> { try { return await apiService.deleteEmployee(employeeId); } catch (error) { console.error('删除员工失败:', error); return { success: false, message: '删除员工失败,请稍后重试' }; } } /** * 更新员工信息 * @param employeeId 员工ID * @param employeeInfo 员工信息 * @returns 更新后的员工信息 */ async updateEmployee(employeeId: number, employeeInfo: { name?: string; phone?: string; role?: string }): Promise { try { return await apiService.updateEmployee(employeeId, employeeInfo); } catch (error) { console.error('更新员工信息失败:', error); throw new Error('更新员工信息失败,请稍后重试'); } } /** * 根据手机号查找员工 * @param phone 手机号 * @returns 员工信息或null */ async findEmployeeByPhone(phone: string): Promise { const employees = await this.getEmployees(); return employees.find(emp => emp.phone === phone) || null; } /** * 验证员工信息(用于注册时检查) * @param name 姓名 * @param phone 手机号 * @returns 验证结果 */ async validateEmployee(name: string, phone: string): Promise<{ success: boolean; message?: string; employee?: EmployeeInfo }> { const employees = await this.getEmployees(); const employee = employees.find(emp => emp.name === name && emp.phone === phone); if (employee) { return { success: true, message: '员工信息验证成功', employee }; } else { return { success: false, message: '员工信息不存在,请联系管理员添加' }; } } } /** * 员工管理服务单例实例 * 导出供应用程序全局使用 */ export default new EmployeeService();