定期检查资质证书过期数据

This commit is contained in:
LHD_HY 2025-11-18 14:51:16 +08:00
parent d1809af5e4
commit c5975f90ae
6 changed files with 103 additions and 3 deletions

View File

@ -14,4 +14,9 @@ public class CertificateConstants {
/**营业执照*/
public static final String BUSINESS_LICENSE = "business_license";
/**资质证书*/
public static final String QUALIFICATON_CERTIFICATE = "qualification_certificate";
}

View File

@ -2,6 +2,7 @@ package com.bonus.mainDataBase.mapper;
import com.bonus.common.domain.mainDatabase.dto.QualificationDto;
import com.bonus.common.domain.mainDatabase.po.Qualification;
import com.bonus.common.domain.mainDatabase.vo.EnterpriseVo;
import com.bonus.common.domain.mainDatabase.vo.QualificationVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@ -58,4 +59,13 @@ public interface IMDQualificationMapper {
* @date 2025/10/30 14:10
*/
QualificationVo getQualificationData(QualificationDto dto);
/**
* 查询资质库过期证件
* @return List<ErrorInfo>
* @author csy
* @date 2025/11/16 20:30
*/
List<QualificationVo> queryExpiredCertificate();
}

View File

@ -1,6 +1,7 @@
package com.bonus.mainDataBase.service;
import com.bonus.common.domain.mainDatabase.dto.QualificationDto;
import com.bonus.common.domain.mainDatabase.po.ErrorInfo;
import com.bonus.common.domain.mainDatabase.po.Qualification;
import com.bonus.common.domain.mainDatabase.vo.QualificationVo;
@ -52,4 +53,13 @@ public interface IMDQualificationService {
* @date 2025/10/30 10:32
*/
QualificationVo getQualificationData(QualificationDto dto);
/**
* 查询资质库过期证件
* @return List<ErrorInfo>
* @author csy
* @date 2025/11/16 20:29
*/
List<ErrorInfo> queryExpiredCertificate();
}

View File

@ -1,17 +1,21 @@
package com.bonus.mainDataBase.service.impl;
import com.bonus.common.constant.CertificateConstants;
import com.bonus.common.domain.mainDatabase.dto.QualificationDto;
import com.bonus.common.domain.mainDatabase.po.Qualification;
import com.bonus.common.domain.mainDatabase.po.ErrorInfo;
import com.bonus.common.domain.mainDatabase.vo.QualificationVo;
import com.bonus.mainDataBase.mapper.IMDQualificationMapper;
import com.bonus.mainDataBase.service.IMDQualificationService;
import org.apache.commons.collections4.CollectionUtils;
import com.bonus.common.utils.CertificateUtil;
import com.bonus.common.constant.TableConstants;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.text.SimpleDateFormat;
import java.util.*;
/**
* @className:MDQualificationServiceImpl
@ -86,4 +90,45 @@ public class MDQualificationServiceImpl implements IMDQualificationService {
return new QualificationVo();
}
}
@Override
public List<ErrorInfo> queryExpiredCertificate() {
try {
List<ErrorInfo> errorInfos = new ArrayList<>();
// 定义日期格式化器根据实际需求调整格式如yyyy-MM-dd
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// 查询所有资质信息
List<QualificationVo> qualificationList = Optional.ofNullable(imdQualificationMapper.queryExpiredCertificate())
.orElse(new ArrayList<>());
if (CollectionUtils.isNotEmpty(qualificationList)) {
for (QualificationVo vo : qualificationList) {
// 将Date类型的证书截止日期转换为String类型
String certificateEndDateStr = null;
Date endDate = vo.getCertificateEndDate();
if (endDate != null) {
certificateEndDateStr = sdf.format(endDate);
}
// 调用工具类检查证书状态传入转换后的字符串
ErrorInfo errorInfo = CertificateUtil.checkCertificateState(
certificateEndDateStr, // 转换后的String类型截止日期
CertificateConstants.QUALIFICATON_CERTIFICATE,
vo.getQualificationId(),
vo.getEnterpriseId(),
TableConstants.TB_ENTERPRISE_QUALIFICATION
);
if (Objects.nonNull(errorInfo)) {
errorInfos.add(errorInfo);
}
}
}
return errorInfos;
} catch (Exception e) {
log.error("查询过期资质证书异常", e);
return new ArrayList<>();
}
}
}

View File

@ -168,4 +168,14 @@
and qualification_id = #{qualificationId}
</select>
<select id="queryExpiredCertificate" resultMap="qualificationResult">
SELECT
q.qualification_id AS qualificationId,
q.enterprise_id AS enterpriseId,
q.certificate_name AS certificateName,
q.certificate_end_date AS certificateEndDate
FROM tb_enterprise_qualification q
WHERE q.del_flag = '0'
</select>
</mapper>

View File

@ -5,6 +5,7 @@ import com.bonus.common.domain.mainDatabase.po.ErrorInfo;
import com.bonus.mainDataBase.service.IMDEnterpriseService;
import com.bonus.mainDataBase.service.IMDErrorInfoService;
import com.bonus.mainDataBase.service.IMDPersonnelService;
import com.bonus.mainDataBase.service.IMDQualificationService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Component;
@ -33,6 +34,9 @@ public class ScanCertificateTask {
@Resource(name = "IMDPersonnelService")
private IMDPersonnelService imdPersonnelService;
@Resource(name = "IMDQualificationService")
private IMDQualificationService imdQualificationService;
public void scanCertificate() {
log.info("开始扫描证件是否过期");
List<ErrorInfo> totalList = new ArrayList<>();
@ -62,6 +66,10 @@ public class ScanCertificateTask {
List<ErrorInfo> personnelCertificateList = handlePersonnelCertificateErrorInfo();
errorInfos.addAll(personnelCertificateList);
break;
case TableConstants.TB_ENTERPRISE_QUALIFICATION: // 人员证件
List<ErrorInfo> qualificaitonList = handleQualificationErrorInfo();
errorInfos.addAll(qualificaitonList);
break;
default:
break;
}
@ -87,6 +95,18 @@ public class ScanCertificateTask {
* @author cwchen
* @date 2025/11/17 14:50
*/
private List<ErrorInfo> handleQualificationErrorInfo() {
List<ErrorInfo> expiredList = imdQualificationService.queryExpiredCertificate();
return filterNotExistErrorInfo(expiredList, TableConstants.TB_PERSONNEL_CERTIFICATE);
}
/**
* 处理资质证件过期异常数据
*
* @return List<ErrorInfo>
* @author lhdhy
* @date 2025/11/17 16:50
*/
private List<ErrorInfo> handlePersonnelCertificateErrorInfo() {
List<ErrorInfo> expiredList = imdPersonnelService.queryExpiredCertificate();
return filterNotExistErrorInfo(expiredList, TableConstants.TB_PERSONNEL_CERTIFICATE);