逻辑优化
This commit is contained in:
parent
7a3701de92
commit
9455bf7cbe
|
|
@ -96,7 +96,7 @@ public class EnterpriseService {
|
|||
sourceFileService.saveResourceFile(dto.getFiles());
|
||||
// 4.检查身份证是否过期,存在过期则保存至异常信息表
|
||||
ErrorInfo errorInfo = CertificateUtil.checkCertificateState(dto.getIdCardStartDate(), CertificateConstants.NATIONAL_EMBLEM_ID_CARD,
|
||||
dto.getEnterpriseId(), dto.getEnterpriseId());
|
||||
dto.getEnterpriseId(), dto.getEnterpriseId(),TableConstants.TB_ENTERPRISE);
|
||||
if (Objects.nonNull(errorInfo)) {
|
||||
List<ErrorInfo> errorInfos = Collections.singletonList(errorInfo);
|
||||
imdErrorInfoService.addErrorInfo(errorInfos);
|
||||
|
|
@ -149,7 +149,7 @@ public class EnterpriseService {
|
|||
Collections.singletonList(CertificateConstants.NATIONAL_EMBLEM_ID_CARD));
|
||||
// 6.检查身份证是否过期,存在过期则保存至异常信息表
|
||||
ErrorInfo errorInfo = CertificateUtil.checkCertificateState(dto.getIdCardStartDate(), CertificateConstants.NATIONAL_EMBLEM_ID_CARD,
|
||||
dto.getEnterpriseId(), dto.getEnterpriseId());
|
||||
dto.getEnterpriseId(), dto.getEnterpriseId(),TableConstants.TB_ENTERPRISE);
|
||||
if (Objects.nonNull(errorInfo)) {
|
||||
List<ErrorInfo> errorInfos = Collections.singletonList(errorInfo);
|
||||
imdErrorInfoService.addErrorInfo(errorInfos);
|
||||
|
|
|
|||
|
|
@ -118,7 +118,8 @@ public class PersonnelService {
|
|||
ErrorInfo errorInfo = CertificateUtil.checkCertificateState(item.getPersonnelCertificate().getCertificateValidityPeriod(),
|
||||
item.getPersonnelCertificate().getCertificateType(),
|
||||
item.getPersonnelCertificate().getPersonnelCertificateId(),
|
||||
dto.getEnterpriseId());
|
||||
dto.getEnterpriseId(),
|
||||
TableConstants.TB_ENTERPRISE_PERSONNEL);
|
||||
if (Objects.nonNull(errorInfo)) {
|
||||
errorInfos.add(errorInfo);
|
||||
}
|
||||
|
|
@ -215,7 +216,8 @@ public class PersonnelService {
|
|||
ErrorInfo errorInfo = CertificateUtil.checkCertificateState(item.getPersonnelCertificate().getCertificateValidityPeriod(),
|
||||
item.getPersonnelCertificate().getCertificateType(),
|
||||
item.getPersonnelCertificate().getPersonnelCertificateId(),
|
||||
dto.getEnterpriseId());
|
||||
dto.getEnterpriseId(),
|
||||
TableConstants.TB_ENTERPRISE_PERSONNEL);
|
||||
if (Objects.nonNull(errorInfo)) {
|
||||
errorInfos.add(errorInfo);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -110,7 +110,8 @@ public class QualificationService {
|
|||
endDateStr,
|
||||
dto.getQualificationType(),
|
||||
dto.getQualificationId(),
|
||||
dto.getEnterpriseId()
|
||||
dto.getEnterpriseId(),
|
||||
TableConstants.TB_ENTERPRISE_QUALIFICATION
|
||||
);
|
||||
if (Objects.nonNull(errorInfo)) {
|
||||
List<ErrorInfo> errorInfos = new ArrayList<>();
|
||||
|
|
@ -179,7 +180,8 @@ public class QualificationService {
|
|||
endDateStr,
|
||||
dto.getQualificationType(),
|
||||
dto.getQualificationId(),
|
||||
dto.getEnterpriseId()
|
||||
dto.getEnterpriseId(),
|
||||
TableConstants.TB_ENTERPRISE_QUALIFICATION
|
||||
);
|
||||
if (Objects.nonNull(newErrorInfo)) {
|
||||
List<ErrorInfo> newErrorInfos = new ArrayList<>();
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import com.bonus.common.constant.Constants;
|
|||
import com.bonus.common.constant.TableConstants;
|
||||
import com.bonus.common.core.domain.AjaxResult;
|
||||
import com.bonus.common.domain.file.po.ResourceFilePo;
|
||||
import com.bonus.common.domain.file.po.ResourceFileRecordPo;
|
||||
import com.bonus.common.domain.file.vo.ResourceFileVo;
|
||||
import com.bonus.common.domain.mainDatabase.dto.TechnicalDto;
|
||||
import com.bonus.common.domain.mainDatabase.dto.ToolDto;
|
||||
|
|
@ -16,6 +17,7 @@ import com.bonus.common.enums.ErrorMessageEnum;
|
|||
import com.bonus.common.utils.ValidatorsUtils;
|
||||
import com.bonus.file.service.FileUploadService;
|
||||
import com.bonus.file.service.SourceFileService;
|
||||
import com.bonus.framework.manager.AsyncManager;
|
||||
import com.bonus.mainDataBase.service.IMDToolService;
|
||||
import com.bonus.web.util.ImportExcelUtils;
|
||||
import com.bonus.web.validateService.ToolValidateService;
|
||||
|
|
@ -238,14 +240,21 @@ public class ToolService {
|
|||
imdToolService.batchImportData(dto, toolList);
|
||||
// 5.添加文件
|
||||
List<ResourceFilePo> files = new ArrayList<>();
|
||||
List<ResourceFileRecordPo> resourceFileRecordPos = new ArrayList<>();
|
||||
for (ToolDto toolDto : toolList) {
|
||||
for (ResourceFilePo po : toolDto.getFiles()) {
|
||||
ResourceFileRecordPo recordPo = new ResourceFileRecordPo();
|
||||
po.setBusinessId(toolDto.getToolId()); // 业务id
|
||||
po.setSourceTable(TableConstants.TB_ENTERPRISE_TOOL); // 来源表
|
||||
recordPo.setFilePath(po.getFilePath());
|
||||
files.add(po);
|
||||
}
|
||||
}
|
||||
sourceFileService.saveResourceFile(files);
|
||||
// 6.保存系统资源存储记录
|
||||
if(CollectionUtils.isNotEmpty(resourceFileRecordPos)) {
|
||||
AsyncManager.me().executeSaveResourceFilesModule(resourceFileRecordPos);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error(e.toString(), e);
|
||||
return AjaxResult.error(e.getMessage());
|
||||
|
|
@ -323,4 +332,5 @@ public class ToolService {
|
|||
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -66,4 +66,9 @@ public class PersonnelCertificate {
|
|||
*/
|
||||
private String professionalName;
|
||||
|
||||
/**
|
||||
* 企业id
|
||||
* */
|
||||
private Long enterpriseId;
|
||||
|
||||
}
|
||||
|
|
@ -53,7 +53,7 @@ public class CertificateUtil {
|
|||
* @date 2025/10/23 10:02
|
||||
*/
|
||||
public static ErrorInfo checkCertificateState(String endDate, String certificateType,
|
||||
Long businessId, Long enterpriseId) {
|
||||
Long businessId, Long enterpriseId,String sourceTable) {
|
||||
// 检查证书是否过期
|
||||
boolean isExpired = isCertificateExpired(endDate, certificateType);
|
||||
|
||||
|
|
@ -62,7 +62,7 @@ public class CertificateUtil {
|
|||
}
|
||||
|
||||
// 构建错误信息
|
||||
return buildErrorInfo(businessId, enterpriseId, certificateType);
|
||||
return buildErrorInfo(businessId, enterpriseId, certificateType,sourceTable);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -128,7 +128,7 @@ public class CertificateUtil {
|
|||
/**
|
||||
* 构建错误信息对象
|
||||
*/
|
||||
private static ErrorInfo buildErrorInfo(Long businessId, Long enterpriseId, String certificateType) {
|
||||
private static ErrorInfo buildErrorInfo(Long businessId, Long enterpriseId, String certificateType,String sourceTable) {
|
||||
String errorContent = CERTIFICATE_ERROR_MAP.getOrDefault(certificateType, "证书过期");
|
||||
|
||||
ErrorInfo errorInfo = new ErrorInfo();
|
||||
|
|
@ -137,6 +137,8 @@ public class CertificateUtil {
|
|||
errorInfo.setEnterpriseId(enterpriseId);
|
||||
errorInfo.setErrorTime(new Date());
|
||||
errorInfo.setErrorContent(errorContent);
|
||||
errorInfo.setBusinessType(certificateType);
|
||||
errorInfo.setSourceTable(sourceTable);
|
||||
|
||||
return errorInfo;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -85,4 +85,12 @@ public interface ISourceFileMapper {
|
|||
* @date 2025/11/14 15:26
|
||||
*/
|
||||
void addResourceFileRecord(List<ResourceFileRecordPo> list);
|
||||
|
||||
/**
|
||||
* 查询需要删除的文件
|
||||
* @return List<ResourceFileRecordPo>
|
||||
* @author cwchen
|
||||
* @date 2025/11/14 18:11
|
||||
*/
|
||||
List<ResourceFileRecordPo> getDelFiles();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -121,4 +121,19 @@ public class SourceFileService {
|
|||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询需要删除的文件
|
||||
* @return List<ResourceFileRecordPo>
|
||||
* @author cwchen
|
||||
* @date 2025/11/14 16:17
|
||||
*/
|
||||
public List<ResourceFileRecordPo> getDelFiles() {
|
||||
try {
|
||||
return Optional.ofNullable(mapper.getDelFiles()).orElse(new ArrayList<>());
|
||||
} catch (Exception e) {
|
||||
log.error(e.toString(),e);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -109,4 +109,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<!--查询需要删除的文件-->
|
||||
<select id="getDelFiles" resultType="com.bonus.common.domain.file.po.ResourceFileRecordPo">
|
||||
SELECT file_path AS filePath FROM sys_resource_file WHERE DATE(create_time) = CURRENT_DATE AND del_flag = '1'
|
||||
UNION ALL
|
||||
SELECT srfr.file_path AS filePath
|
||||
FROM sys_resource_file_record srfr
|
||||
LEFT JOIN sys_resource_file srf ON srfr.file_path = srf.file_path AND DATE(create_time) = CURRENT_DATE AND srf.del_flag = '0'
|
||||
WHERE srfr.create_date = CURRENT_DATE AND srf.file_path IS NULL
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -113,6 +113,24 @@ public class AsyncManager
|
|||
return execute(callable);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量执行保存系统资源文件的异步任务
|
||||
* @param list
|
||||
* @return Future<Map<String,String>>
|
||||
* @author cwchen
|
||||
* @date 2025/11/14 15:35
|
||||
*/
|
||||
public Future<Void> executeSaveResourceFilesModule(List<ResourceFileRecordPo> list) {
|
||||
Callable<Void> callable = new Callable<Void>() {
|
||||
@Override
|
||||
public Void call() throws Exception {
|
||||
SpringUtils.getBean(SourceFileService.class).addResourceFileRecord(list);
|
||||
return null; // 必须返回 null
|
||||
}
|
||||
};
|
||||
return execute(callable);
|
||||
}
|
||||
|
||||
/**
|
||||
* 停止任务线程池
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.bonus.mainDataBase.mapper;
|
||||
|
||||
import com.bonus.common.domain.mainDatabase.dto.EnterpriseDto;
|
||||
import com.bonus.common.domain.mainDatabase.po.ErrorInfo;
|
||||
import com.bonus.common.domain.mainDatabase.vo.EnterpriseVo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
|
@ -70,4 +71,12 @@ public interface IMDEnterpriseMapper {
|
|||
* @date 2025/10/23 14:08
|
||||
*/
|
||||
int isRepeat(EnterpriseDto dto);
|
||||
|
||||
/**
|
||||
* 查询主体库过期证件
|
||||
* @return List<ErrorInfo>
|
||||
* @author cwchen
|
||||
* @date 2025/11/16 20:30
|
||||
*/
|
||||
List<EnterpriseVo.EnterpriseDetailVo> queryExpiredCertificate();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package com.bonus.mainDataBase.mapper;
|
|||
import com.bonus.common.domain.mainDatabase.dto.EnterpriseDto;
|
||||
import com.bonus.common.domain.mainDatabase.dto.EnterprisePersonnelDto;
|
||||
import com.bonus.common.domain.mainDatabase.po.EnterprisePersonnel;
|
||||
import com.bonus.common.domain.mainDatabase.po.PersonnelCertificate;
|
||||
import com.bonus.common.domain.mainDatabase.vo.EnterprisePersonnelVo;
|
||||
import com.bonus.common.domain.mainDatabase.vo.EnterpriseVo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
|
@ -66,4 +67,12 @@ public interface IMDPersonnelMapper {
|
|||
* @date 2025/10/24 13:27
|
||||
*/
|
||||
EnterprisePersonnel getPersonnelData(EnterprisePersonnelDto dto);
|
||||
|
||||
/**
|
||||
* 查询证件有效期
|
||||
* @return List<PersonnelCertificate>
|
||||
* @author cwchen
|
||||
* @date 2025/11/16 20:56
|
||||
*/
|
||||
List<PersonnelCertificate> queryExpiredCertificate();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.bonus.mainDataBase.service;
|
||||
|
||||
import com.bonus.common.domain.mainDatabase.dto.EnterpriseDto;
|
||||
import com.bonus.common.domain.mainDatabase.po.ErrorInfo;
|
||||
import com.bonus.common.domain.mainDatabase.vo.EnterpriseVo;
|
||||
|
||||
import java.util.List;
|
||||
|
|
@ -58,4 +59,12 @@ public interface IMDEnterpriseService {
|
|||
* @date 2025/10/23 14:07
|
||||
*/
|
||||
int isRepeat(EnterpriseDto dto);
|
||||
|
||||
/**
|
||||
* 查询主体库过期证件
|
||||
* @return List<ErrorInfo>
|
||||
* @author cwchen
|
||||
* @date 2025/11/16 20:29
|
||||
*/
|
||||
List<ErrorInfo> queryExpiredCertificate();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.bonus.mainDataBase.service;
|
|||
|
||||
import com.bonus.common.domain.mainDatabase.dto.EnterprisePersonnelDto;
|
||||
import com.bonus.common.domain.mainDatabase.po.EnterprisePersonnel;
|
||||
import com.bonus.common.domain.mainDatabase.po.ErrorInfo;
|
||||
import com.bonus.common.domain.mainDatabase.vo.EnterprisePersonnelVo;
|
||||
|
||||
import java.util.List;
|
||||
|
|
@ -60,4 +61,12 @@ public interface IMDPersonnelService {
|
|||
* @date 2025/10/24 13:26
|
||||
*/
|
||||
EnterprisePersonnel getPersonnelData(EnterprisePersonnelDto dto);
|
||||
|
||||
/**
|
||||
* 查询人员库过期证件
|
||||
* @return List<ErrorInfo>
|
||||
* @author cwchen
|
||||
* @date 2025/11/16 20:42
|
||||
*/
|
||||
List<ErrorInfo> queryExpiredCertificate();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,16 +1,19 @@
|
|||
package com.bonus.mainDataBase.service.impl;
|
||||
|
||||
import com.bonus.common.constant.CertificateConstants;
|
||||
import com.bonus.common.constant.TableConstants;
|
||||
import com.bonus.common.domain.mainDatabase.dto.EnterpriseDto;
|
||||
import com.bonus.common.domain.mainDatabase.po.ErrorInfo;
|
||||
import com.bonus.common.domain.mainDatabase.vo.EnterpriseVo;
|
||||
import com.bonus.common.utils.CertificateUtil;
|
||||
import com.bonus.mainDataBase.mapper.IMDEnterpriseMapper;
|
||||
import com.bonus.mainDataBase.service.IMDEnterpriseService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @className:MDEnterpriseServiceImpl
|
||||
|
|
@ -73,4 +76,25 @@ public class MDEnterpriseServiceImpl implements IMDEnterpriseService {
|
|||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ErrorInfo> queryExpiredCertificate() {
|
||||
try {
|
||||
List <ErrorInfo> errorInfos = new ArrayList<>();
|
||||
List<EnterpriseVo.EnterpriseDetailVo> list = Optional.ofNullable(imdEnterpriseMapper.queryExpiredCertificate()).orElse(new ArrayList<>());
|
||||
if(CollectionUtils.isNotEmpty(list)){
|
||||
for (EnterpriseVo.EnterpriseDetailVo vo : list) {
|
||||
ErrorInfo errorInfo = CertificateUtil.checkCertificateState(vo.getIdCardStartDate(), CertificateConstants.NATIONAL_EMBLEM_ID_CARD,
|
||||
vo.getEnterpriseId(), vo.getEnterpriseId(), TableConstants.TB_ENTERPRISE);
|
||||
if(Objects.nonNull(errorInfo)){
|
||||
errorInfos.add(errorInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
return errorInfos;
|
||||
} catch (Exception e) {
|
||||
log.error(e.toString(), e);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,19 +1,22 @@
|
|||
package com.bonus.mainDataBase.service.impl;
|
||||
|
||||
import com.bonus.common.constant.CertificateConstants;
|
||||
import com.bonus.common.constant.TableConstants;
|
||||
import com.bonus.common.domain.mainDatabase.dto.EnterprisePersonnelDto;
|
||||
import com.bonus.common.domain.mainDatabase.po.EnterprisePersonnel;
|
||||
import com.bonus.common.domain.mainDatabase.po.ErrorInfo;
|
||||
import com.bonus.common.domain.mainDatabase.po.PersonnelCertificate;
|
||||
import com.bonus.common.domain.mainDatabase.vo.EnterprisePersonnelVo;
|
||||
import com.bonus.common.domain.mainDatabase.vo.EnterpriseVo;
|
||||
import com.bonus.common.utils.CertificateUtil;
|
||||
import com.bonus.mainDataBase.mapper.IMDPersonnelMapper;
|
||||
import com.bonus.mainDataBase.service.IMDPersonnelService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @className:MDPersonnelServiceImpl
|
||||
|
|
@ -74,4 +77,25 @@ public class MDPersonnelServiceImpl implements IMDPersonnelService {
|
|||
return new EnterprisePersonnel();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ErrorInfo> queryExpiredCertificate() {
|
||||
try {
|
||||
List <ErrorInfo> errorInfos = new ArrayList<>();
|
||||
List<PersonnelCertificate> list = Optional.ofNullable(imdPersonnelMapper.queryExpiredCertificate()).orElse(new ArrayList<>());
|
||||
if(CollectionUtils.isNotEmpty(list)){
|
||||
for (PersonnelCertificate vo : list) {
|
||||
ErrorInfo errorInfo = CertificateUtil.checkCertificateState(vo.getCertificateValidityPeriod(), vo.getCertificateType(),
|
||||
vo.getPersonnelCertificateId(), vo.getEnterpriseId(), TableConstants.TB_PERSONNEL_CERTIFICATE);
|
||||
if(Objects.nonNull(errorInfo)){
|
||||
errorInfos.add(errorInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
return errorInfos;
|
||||
} catch (Exception e) {
|
||||
log.error(e.toString(), e);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -143,4 +143,12 @@
|
|||
UPDATE tb_enterprise SET del_flag = '1' WHERE enterprise_id = #{params.enterpriseId}
|
||||
</if>
|
||||
</insert>
|
||||
|
||||
<!--查询主体库过期证件-->
|
||||
<select id="queryExpiredCertificate" resultType="com.bonus.common.domain.mainDatabase.vo.EnterpriseVo$EnterpriseDetailVo">
|
||||
SELECT enterprise_id AS enterpriseId,
|
||||
id_card_start_date AS idCardStartDate
|
||||
FROM tb_enterprise
|
||||
WHERE del_flag = '0'
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -119,4 +119,15 @@
|
|||
FROM tb_enterprise_personnel
|
||||
WHERE personnel_id = #{personnelId}
|
||||
</select>
|
||||
|
||||
<!--查询证件有效期-->
|
||||
<select id="queryExpiredCertificate" resultType="com.bonus.common.domain.mainDatabase.po.PersonnelCertificate">
|
||||
SELECT tpc.personnel_certificate_id AS personnelCertificateId,
|
||||
tpc.certificate_validity_period AS certificateValidityPeriod,
|
||||
tpc.certificate_type AS certificateType,
|
||||
tep.enterprise_id AS enterpriseId
|
||||
FROM tb_personnel_certificate tpc
|
||||
LEFT JOIN tb_enterprise_personnel tep ON tpc.personnel_id = tep.personnel_id
|
||||
WHERE tpc.del_flag = '0' AND tep.del_flag = '0'
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -34,6 +34,14 @@
|
|||
<groupId>com.bonus</groupId>
|
||||
<artifactId>bonus-common</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.bonus</groupId>
|
||||
<artifactId>bonus-file</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.bonus</groupId>
|
||||
<artifactId>bonus-mainDatabase</artifactId>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue