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.HrmSalaryStructurePageReqVO; import cn.iocoder.yudao.module.hrm.dal.dataobject.salary.HrmSalaryStructureDO; import cn.iocoder.yudao.module.hrm.dal.mysql.salary.HrmSalaryStructureMapper; 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.SALARY_STRUCTURE_NOT_EXISTS; /** * 薪酬结构 Service 实现类 * * @author 超级管理员 */ @Service @Validated public class HrmSalaryStructureServiceImpl implements HrmSalaryStructureService { @Resource private HrmSalaryStructureMapper structureMapper; @Override public Long createStructure(HrmSalaryStructureDO structure) { structureMapper.insert(structure); return structure.getId(); } @Override public void updateStructure(HrmSalaryStructureDO structure) { validateStructureExists(structure.getId()); structureMapper.updateById(structure); } @Override public void deleteStructure(Long id) { validateStructureExists(id); structureMapper.deleteById(id); } @Override public HrmSalaryStructureDO getStructure(Long id) { return structureMapper.selectById(id); } @Override public List getStructureList(Integer status) { return structureMapper.selectListByStatus(status); } @Override public PageResult getStructurePage(HrmSalaryStructurePageReqVO pageReqVO) { return structureMapper.selectPage(pageReqVO); } private void validateStructureExists(Long id) { if (structureMapper.selectById(id) == null) { throw exception(SALARY_STRUCTURE_NOT_EXISTS); } } }