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<Long> 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<HrmCertificateDO> 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);
|
}
|
}
|
|
}
|