Merge branch 'master' of http://47.101.195.94:3000/wangchangjiu/xys-FTA
This commit is contained in:
		
						commit
						f23427b6bd
					
				| @ -55,11 +55,24 @@ | |||||||
|             <artifactId>yudao-spring-boot-starter-excel</artifactId> |             <artifactId>yudao-spring-boot-starter-excel</artifactId> | ||||||
|         </dependency> |         </dependency> | ||||||
| 
 | 
 | ||||||
|  |         <!-- Job 定时任务相关 --> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>cn.iocoder.boot</groupId> | ||||||
|  |             <artifactId>yudao-spring-boot-starter-job</artifactId> | ||||||
|  |         </dependency> | ||||||
|  | 
 | ||||||
|         <!-- Test 测试相关 --> |         <!-- Test 测试相关 --> | ||||||
|         <dependency> |         <dependency> | ||||||
|             <groupId>cn.iocoder.boot</groupId> |             <groupId>cn.iocoder.boot</groupId> | ||||||
|             <artifactId>yudao-spring-boot-starter-test</artifactId> |             <artifactId>yudao-spring-boot-starter-test</artifactId> | ||||||
|         </dependency> |         </dependency> | ||||||
|  | 
 | ||||||
|  |         <!--  站内信相关      --> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>cn.iocoder.boot</groupId> | ||||||
|  |             <artifactId>yudao-module-system-api</artifactId> | ||||||
|  |             <version>${revision}</version> | ||||||
|  |         </dependency> | ||||||
|     </dependencies> |     </dependencies> | ||||||
| 
 | 
 | ||||||
|     <properties> |     <properties> | ||||||
|  | |||||||
| @ -0,0 +1,74 @@ | |||||||
|  | package cn.iocoder.yudao.module.fta.dal.dataobject.job; | ||||||
|  | 
 | ||||||
|  | import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; | ||||||
|  | import cn.iocoder.yudao.framework.mybatis.core.query.QueryWrapperX; | ||||||
|  | import cn.iocoder.yudao.framework.quartz.core.handler.JobHandler; | ||||||
|  | import cn.iocoder.yudao.module.fta.dal.dataobject.enterpriseinformation.EnterpriseInformationDO; | ||||||
|  | import cn.iocoder.yudao.module.fta.dal.mysql.enterpriseinformation.EnterpriseInformationMapper; | ||||||
|  | import cn.iocoder.yudao.module.fta.service.enterpriseinformation.CredentialManagementService; | ||||||
|  | import cn.iocoder.yudao.module.fta.service.enterpriseinformation.EnterpriseInformationService; | ||||||
|  | import cn.iocoder.yudao.module.system.api.notify.NotifyMessageSendApi; | ||||||
|  | import cn.iocoder.yudao.module.system.api.notify.dto.NotifySendSingleToUserReqDTO; | ||||||
|  | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | ||||||
|  | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | ||||||
|  | import lombok.extern.slf4j.Slf4j; | ||||||
|  | import org.springframework.stereotype.Component; | ||||||
|  | 
 | ||||||
|  | import javax.annotation.Resource; | ||||||
|  | import java.time.LocalDate; | ||||||
|  | import java.time.temporal.ChronoUnit; | ||||||
|  | import java.util.HashMap; | ||||||
|  | import java.util.Map; | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * 企业证件过期查询 | ||||||
|  |  */ | ||||||
|  | @Slf4j | ||||||
|  | @Component | ||||||
|  | public class credentialManagementJob implements JobHandler { | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     @Resource | ||||||
|  |     private NotifyMessageSendApi notifySendApi; | ||||||
|  |     @Resource | ||||||
|  |     private CredentialManagementService credentialManagementService; | ||||||
|  | 
 | ||||||
|  |     private EnterpriseInformationMapper enterpriseInformationMapper; | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * 每天凌晨1点执行一次 | ||||||
|  |      */ | ||||||
|  |     public void checkCertificateExpiration() { | ||||||
|  |         LocalDate today = LocalDate.now(); | ||||||
|  |         int daysDifference = 15; // 证书到期时间和当前时间相差的天数阈值 | ||||||
|  | 
 | ||||||
|  |         //查询到到期时间 | ||||||
|  |         credentialManagementService.getAllCertificates().forEach(certificate -> { | ||||||
|  |             LocalDate expiryDate = certificate.getExpiryDate(); | ||||||
|  |             long daysUntilExpiration = ChronoUnit.DAYS.between(today, expiryDate); | ||||||
|  | 
 | ||||||
|  |             Map<String, Object> templateParams = new HashMap<>(); | ||||||
|  | 
 | ||||||
|  |             LambdaQueryWrapper<EnterpriseInformationDO> wrapper = new LambdaQueryWrapper<EnterpriseInformationDO>() | ||||||
|  |                     .eq(EnterpriseInformationDO::getId, certificate.getInformationId()); | ||||||
|  |             EnterpriseInformationDO enterpriseInformation = enterpriseInformationMapper.selectOne(wrapper); | ||||||
|  | 
 | ||||||
|  |             String templateCode = "fta_credential_management"; | ||||||
|  |              templateParams.put("idType","安全证"); | ||||||
|  |             // 如果到期时间和当前时间相差15天,则发送通知 | ||||||
|  |             if (daysUntilExpiration == daysDifference) { | ||||||
|  |                 // 执行你的逻辑,例如发送通知 | ||||||
|  |                 log.info("[checkCertificateExpiration][证书 {} 到期时间与当前时间相差 {} 天]", certificate.getCertificateNumber(), daysDifference); | ||||||
|  |                 // 这里可以添加发送通知的逻辑 | ||||||
|  | 
 | ||||||
|  |                 notifySendApi.sendSingleMessageToAdmin(new NotifySendSingleToUserReqDTO() | ||||||
|  |                         .setUserId(Long.parseLong(enterpriseInformation.getCreator())).setTemplateCode(templateCode).setTemplateParams(templateParams)); | ||||||
|  |             } | ||||||
|  |         }); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Override | ||||||
|  |     public String execute(String param) throws Exception { | ||||||
|  |         return null; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -7,6 +7,7 @@ import cn.iocoder.yudao.module.fta.dal.dataobject.enterpriseinformation.Credenti | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| import javax.validation.*; | import javax.validation.*; | ||||||
|  | import java.util.List; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
| @ -54,4 +55,13 @@ public interface CredentialManagementService { | |||||||
|      */ |      */ | ||||||
|     PageResult<CredentialManagementDO> getCredentialManagementPage(CredentialManagementPageReqVO pageReqVO); |     PageResult<CredentialManagementDO> getCredentialManagementPage(CredentialManagementPageReqVO pageReqVO); | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  |     // 假设这里有一个方法用于从数据库或其他地方获取所有证书的列表 | ||||||
|  |      List<CredentialManagementDO> getAllCertificates(); | ||||||
|  | 
 | ||||||
|  |     // 假设这里有一个方法用于发送通知 | ||||||
|  |     //public void sendNotification(Certificate certificate) { | ||||||
|  |     //    // 实现发送通知的逻辑 | ||||||
|  |     //} | ||||||
|  | 
 | ||||||
| } | } | ||||||
| @ -5,12 +5,19 @@ import cn.iocoder.yudao.module.fta.controller.admin.enterpriseinformation.vo.Cre | |||||||
| import cn.iocoder.yudao.module.fta.controller.admin.enterpriseinformation.vo.CredentialManagementSaveReqVO; | import cn.iocoder.yudao.module.fta.controller.admin.enterpriseinformation.vo.CredentialManagementSaveReqVO; | ||||||
| import cn.iocoder.yudao.module.fta.dal.dataobject.enterpriseinformation.CredentialManagementDO; | import cn.iocoder.yudao.module.fta.dal.dataobject.enterpriseinformation.CredentialManagementDO; | ||||||
| import cn.iocoder.yudao.module.fta.dal.mysql.enterpriseinformation.CredentialManagementMapper; | import cn.iocoder.yudao.module.fta.dal.mysql.enterpriseinformation.CredentialManagementMapper; | ||||||
|  | import com.sun.deploy.security.CredentialInfo; | ||||||
| import org.springframework.stereotype.Service; | import org.springframework.stereotype.Service; | ||||||
| import javax.annotation.Resource; | import javax.annotation.Resource; | ||||||
| import org.springframework.validation.annotation.Validated; | import org.springframework.validation.annotation.Validated; | ||||||
| 
 | 
 | ||||||
| import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | ||||||
| 
 | 
 | ||||||
|  | import java.time.LocalDate; | ||||||
|  | import java.util.ArrayList; | ||||||
|  | import java.util.HashMap; | ||||||
|  | import java.util.List; | ||||||
|  | import java.util.Map; | ||||||
|  | 
 | ||||||
| import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | ||||||
| import static cn.iocoder.yudao.module.fta.enums.ErrorCodeConstants.*; | import static cn.iocoder.yudao.module.fta.enums.ErrorCodeConstants.*; | ||||||
| 
 | 
 | ||||||
| @ -68,4 +75,53 @@ public class CredentialManagementServiceImpl implements CredentialManagementServ | |||||||
|         return credentialManagementMapper.selectPage(pageReqVO); |         return credentialManagementMapper.selectPage(pageReqVO); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     @Override | ||||||
|  |     public List<CredentialManagementDO> getAllCertificates() { | ||||||
|  |         /** | ||||||
|  |          * 1、查询出所有的CredentialManagementDO信息 | ||||||
|  |          */ | ||||||
|  |         return credentialManagementMapper.selectList(); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     //public List<Map<String, Object>> getAllCertificates() { | ||||||
|  |     //    List<Map<String, Object>> certificates = new ArrayList<>(); | ||||||
|  |     // | ||||||
|  |     //    // 查询出所有的企业ID | ||||||
|  |     //    List<String> enterpriseIds = credentialManagementMapper.selectById(); | ||||||
|  |     // | ||||||
|  |     //    // 查询每个企业的证书到期时间 | ||||||
|  |     //    for (String enterpriseId : enterpriseIds) { | ||||||
|  |     //        // 查询该企业的证书到期时间 | ||||||
|  |     //        LocalDate expiryDate = credentialManagementMapper.selectExpiryDateByEnterpriseId(enterpriseId); | ||||||
|  |     // | ||||||
|  |     //        // 构造证书信息对象,包含企业ID和到期时间 | ||||||
|  |     //        Map<String, Object> certificateInfo = new HashMap<>(); | ||||||
|  |     //        certificateInfo.put("enterpriseId", enterpriseId); | ||||||
|  |     //        certificateInfo.put("expiryDate", expiryDate); | ||||||
|  |     // | ||||||
|  |     //        // 将证书信息添加到列表中 | ||||||
|  |     //        certificates.add(certificateInfo); | ||||||
|  |     //    } | ||||||
|  |     // | ||||||
|  |     //    return certificates; | ||||||
|  |     //} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     //List<CredentialInfo> certificates = new ArrayList<>(); | ||||||
|  |     // | ||||||
|  |     //// 在这里查询企业证件信息,你的实现可能会有所不同 | ||||||
|  |     // | ||||||
|  |     //// 假设这里是一个数据库查询的示例 | ||||||
|  |     //List<CredentialManagementDO> credentialManagementList = credentialManagementMapper.selectList(); | ||||||
|  |     // | ||||||
|  |     //    for (CredentialManagementDO credential : credentialManagementList) { | ||||||
|  |     //    // 获取企业ID和到期时间 | ||||||
|  |     //    String informationId = credential.getInformationId(); | ||||||
|  |     //    LocalDate expiryDate = credential.getExpiryDate(); | ||||||
|  |     // | ||||||
|  |     //    // 构造 CredentialInfo 对象 | ||||||
|  |     //    CredentialInfo credentialInfo = new CredentialInfo(informationId, expiryDate); | ||||||
|  |     //    certificates.add(credentialInfo); | ||||||
|  |     //} | ||||||
| } | } | ||||||
| @ -8,7 +8,7 @@ spring: | |||||||
|   autoconfigure: |   autoconfigure: | ||||||
|     exclude: |     exclude: | ||||||
|       - com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure # 排除 Druid 的自动配置,使用 dynamic-datasource-spring-boot-starter 配置多数据源 |       - com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure # 排除 Druid 的自动配置,使用 dynamic-datasource-spring-boot-starter 配置多数据源 | ||||||
|       - org.springframework.boot.autoconfigure.quartz.QuartzAutoConfiguration # 默认 local 环境,不开启 Quartz 的自动配置 | #      - org.springframework.boot.autoconfigure.quartz.QuartzAutoConfiguration # 默认 local 环境,不开启 Quartz 的自动配置 | ||||||
|       - de.codecentric.boot.admin.server.config.AdminServerAutoConfiguration # 禁用 Spring Boot Admin 的 Server 的自动配置 |       - de.codecentric.boot.admin.server.config.AdminServerAutoConfiguration # 禁用 Spring Boot Admin 的 Server 的自动配置 | ||||||
|       - de.codecentric.boot.admin.server.ui.config.AdminServerUiAutoConfiguration # 禁用 Spring Boot Admin 的 Server UI 的自动配置 |       - de.codecentric.boot.admin.server.ui.config.AdminServerUiAutoConfiguration # 禁用 Spring Boot Admin 的 Server UI 的自动配置 | ||||||
|       - de.codecentric.boot.admin.client.config.SpringBootAdminClientAutoConfiguration # 禁用 Spring Boot Admin 的 Client 的自动配置 |       - de.codecentric.boot.admin.client.config.SpringBootAdminClientAutoConfiguration # 禁用 Spring Boot Admin 的 Client 的自动配置 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user