package cn.iocoder.yudao.module.hrm.service.salary; import cn.iocoder.yudao.module.hrm.dal.dataobject.salary.HrmSocialSecurityConfigDO; import cn.iocoder.yudao.module.hrm.dal.mysql.salary.HrmSocialSecurityConfigMapper; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import java.time.LocalDate; import java.util.List; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.module.hrm.enums.ErrorCodeConstants.SOCIAL_SECURITY_CONFIG_NOT_EXISTS; /** * 社保公积金配置 Service 实现类 * * @author 芋道源码 */ @Service @Validated public class HrmSocialSecurityConfigServiceImpl implements HrmSocialSecurityConfigService { @Resource private HrmSocialSecurityConfigMapper socialSecurityConfigMapper; @Override public Long createSocialSecurityConfig(HrmSocialSecurityConfigDO config) { socialSecurityConfigMapper.insert(config); return config.getId(); } @Override public void updateSocialSecurityConfig(HrmSocialSecurityConfigDO config) { validateSocialSecurityConfigExists(config.getId()); socialSecurityConfigMapper.updateById(config); } @Override public void deleteSocialSecurityConfig(Long id) { validateSocialSecurityConfigExists(id); socialSecurityConfigMapper.deleteById(id); } @Override public HrmSocialSecurityConfigDO getSocialSecurityConfig(Long id) { return socialSecurityConfigMapper.selectById(id); } @Override public List getSocialSecurityConfigList() { return socialSecurityConfigMapper.selectListByStatus(null); } @Override public HrmSocialSecurityConfigDO getEffectiveSocialSecurityConfig(LocalDate effectiveDate) { return socialSecurityConfigMapper.selectLatestByEffectiveDate(effectiveDate); } private void validateSocialSecurityConfigExists(Long id) { if (socialSecurityConfigMapper.selectById(id) == null) { throw exception(SOCIAL_SECURITY_CONFIG_NOT_EXISTS); } } }