package cn.iocoder.yudao.module.hrm.service.certificate; import cn.hutool.core.collection.CollUtil; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.hrm.controller.admin.certificate.vo.HrmCertificatePageReqVO; import cn.iocoder.yudao.module.hrm.controller.admin.certificate.vo.HrmCertificateSaveReqVO; import cn.iocoder.yudao.module.hrm.dal.dataobject.certificate.HrmCertificateDO; import cn.iocoder.yudao.module.hrm.dal.mysql.certificate.HrmCertificateMapper; import cn.iocoder.yudao.module.hrm.service.employee.HrmEmployeeService; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import java.util.Collection; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.module.hrm.enums.ErrorCodeConstants.HRM_CERTIFICATE_NOT_EXISTS; import static cn.iocoder.yudao.module.hrm.enums.ErrorCodeConstants.HRM_EMPLOYEE_NOT_EXISTS; /** * HRM 证书资质 Service 实现类 * * @author xiaoyi */ @Service @Validated public class HrmCertificateServiceImpl implements HrmCertificateService { @Resource private HrmCertificateMapper certificateMapper; @Resource private HrmEmployeeService employeeService; @Override public Long createCertificate(HrmCertificateSaveReqVO createReqVO) { validateEmployee(createReqVO.getEmployeeId()); HrmCertificateDO certificate = BeanUtils.toBean(createReqVO, HrmCertificateDO.class); certificateMapper.insert(certificate); return certificate.getId(); } @Override public void updateCertificate(HrmCertificateSaveReqVO updateReqVO) { validateCertificateExists(updateReqVO.getId()); validateEmployee(updateReqVO.getEmployeeId()); certificateMapper.updateById(BeanUtils.toBean(updateReqVO, HrmCertificateDO.class)); } @Override public void deleteCertificate(Collection ids) { if (CollUtil.isEmpty(ids)) { return; } for (Long id : ids) { validateCertificateExists(id); certificateMapper.deleteById(id); } } @Override public HrmCertificateDO getCertificate(Long id) { return certificateMapper.selectById(id); } @Override public PageResult getCertificatePage(HrmCertificatePageReqVO pageReqVO) { return certificateMapper.selectPage(pageReqVO); } private void validateEmployee(Long employeeId) { if (employeeService.getEmployee(employeeId) == null) { throw exception(HRM_EMPLOYEE_NOT_EXISTS); } } private void validateCertificateExists(Long id) { if (certificateMapper.selectById(id) == null) { throw exception(HRM_CERTIFICATE_NOT_EXISTS); } } }