diff --git a/IDEA/src/main/java/com/example/api/service/EmployeeService.java b/IDEA/src/main/java/com/example/api/service/EmployeeService.java new file mode 100644 index 00000000..cdc1d281 --- /dev/null +++ b/IDEA/src/main/java/com/example/api/service/EmployeeService.java @@ -0,0 +1,43 @@ +package com.example.api.service; + +import com.example.api.model.entity.Employee; // 导入Employee实体类,代表员工信息 +import java.util.List; // 导入List类,用于处理列表数据 + +/** + * 员工服务接口,定义员工相关的业务操作。 + */ +public interface EmployeeService { + + /** + * 保存员工信息。 + * @param employee 员工实体对象,包含员工的各个属性 + * @return 保存后的员工实体对象,包含由数据库生成的ID等信息 + */ + Employee save(Employee employee); + + /** + * 更新员工信息。 + * @param employee 要更新的员工实体对象 + */ + void update(Employee employee); + + /** + * 根据ID删除员工信息。 + * @param id 要删除的员工ID + */ + void delete(String id); + + /** + * 根据ID查询员工信息。 + * @param id 要查询的员工ID + * @return 查询到的员工实体对象,如果没有找到则返回null + */ + Employee findById(String id); + + /** + * 查询所有员工信息。 + * @return 员工实体对象列表,包含所有员工的详细信息 + */ + List findAll(); + +} diff --git a/IDEA/src/main/java/com/example/api/service/impl/EmployeeServiceImpl.java b/IDEA/src/main/java/com/example/api/service/impl/EmployeeServiceImpl.java new file mode 100644 index 00000000..0690b182 --- /dev/null +++ b/IDEA/src/main/java/com/example/api/service/impl/EmployeeServiceImpl.java @@ -0,0 +1,70 @@ +package com.example.api.service.impl; + +import com.example.api.model.entity.Employee; // 导入Employee实体类,代表员工信息 +import com.example.api.repository.EmployeeRepository; // 导入EmployeeRepository接口,用于访问员工数据 +import com.example.api.service.EmployeeService; // 导入EmployeeService接口,定义员工服务 +import com.example.api.utils.DataTimeUtil; // 导入DataTimeUtil工具类,用于处理日期和时间 +import org.springframework.stereotype.Service; // 导入Service注解,标识服务组件 + +import javax.annotation.Resource; // 注解,用于注入Spring管理的Bean +import java.util.List; // 导入List类,用于处理列表数据 + +/** + * 员工服务实现类,提供员工相关的业务逻辑。 + */ +@Service +public class EmployeeServiceImpl implements EmployeeService { + + @Resource + private EmployeeRepository employeeRepository; // 使用@Resource注解注入EmployeeRepository + + /** + * 保存员工信息。 + * @param employee 员工实体对象,包含员工的各个属性 + * @return 保存后的员工实体对象,包含由数据库生成的ID等信息 + */ + @Override + public Employee save(Employee employee) { + employee.setCreateAt(DataTimeUtil.getNowTimeString()); // 设置员工的创建时间为当前时间 + return employeeRepository.save(employee); // 调用仓库层方法保存员工信息 + } + + /** + * 更新员工信息。 + * @param employee 要更新的员工实体对象 + */ + @Override + public void update(Employee employee) { + employee.setUpdateAt(DataTimeUtil.getNowTimeString()); // 设置员工的更新时间为当前时间 + employeeRepository.save(employee); // 调用仓库层方法更新员工信息 + } + + /** + * 根据ID删除员工信息。 + * @param id 要删除的员工ID + */ + @Override + public void delete(String id) { + employeeRepository.deleteById(id); // 调用仓库层方法根据ID删除员工信息 + } + + /** + * 根据ID查询员工信息。 + * @param id 要查询的员工ID + * @return 查询到的员工实体对象,如果没有找到则返回null + */ + @Override + public Employee findById(String id) { + return employeeRepository.findById(id).orElse(null); // 调用仓库层方法根据ID查询员工信息 + } + + /** + * 查询所有员工信息。 + * @return 员工实体对象列表,包含所有员工的详细信息 + */ + @Override + public List findAll() { + return employeeRepository.findAll(); // 调用仓库层方法查询所有员工信息 + } + +} \ No newline at end of file