package cn.iocoder.yudao.module.hrm.service.salary; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.hrm.controller.admin.salary.vo.HrmEmployeeSalaryPageReqVO; import cn.iocoder.yudao.module.hrm.dal.dataobject.salary.HrmEmployeeSalaryDO; import cn.iocoder.yudao.module.hrm.dal.mysql.salary.HrmEmployeeSalaryMapper; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import java.util.List; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.module.hrm.enums.ErrorCodeConstants.EMPLOYEE_SALARY_NOT_EXISTS; /** * 员工薪酬档案 Service 实现类 * * @author 超级管理员 */ @Service @Validated public class HrmEmployeeSalaryServiceImpl implements HrmEmployeeSalaryService { @Resource private HrmEmployeeSalaryMapper employeeSalaryMapper; @Override public Long createEmployeeSalary(HrmEmployeeSalaryDO salary) { employeeSalaryMapper.insert(salary); return salary.getId(); } @Override public void updateEmployeeSalary(HrmEmployeeSalaryDO salary) { validateEmployeeSalaryExists(salary.getId()); employeeSalaryMapper.updateById(salary); } @Override public void deleteEmployeeSalary(Long id) { validateEmployeeSalaryExists(id); employeeSalaryMapper.deleteById(id); } @Override public HrmEmployeeSalaryDO getEmployeeSalary(Long id) { return employeeSalaryMapper.selectById(id); } @Override public PageResult getEmployeeSalaryPage(HrmEmployeeSalaryPageReqVO pageReqVO) { return employeeSalaryMapper.selectPage(pageReqVO); } @Override public List getEmployeeSalaryList(Long userId) { return employeeSalaryMapper.selectListByUserId(userId); } @Override public HrmEmployeeSalaryDO getLatestEmployeeSalary(Long userId) { return employeeSalaryMapper.selectLatestByUserId(userId); } private void validateEmployeeSalaryExists(Long id) { if (employeeSalaryMapper.selectById(id) == null) { throw exception(EMPLOYEE_SALARY_NOT_EXISTS); } } }