| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package com.ymwk.icvp.task;
- import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
- import com.ymwk.icvp.pki.entity.CertificateEntity;
- import com.ymwk.icvp.pki.mapper.CertificateMapper;
- import com.ymwk.icvp.signature.entity.Seal;
- import com.ymwk.icvp.signature.mapper.SealMapper;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.scheduling.annotation.Scheduled;
- import org.springframework.stereotype.Component;
- import java.time.LocalDateTime;
- @Slf4j
- @Component
- public class ExpiryStatusTask {
- private final CertificateMapper certificateMapper;
- private final SealMapper sealMapper;
- public ExpiryStatusTask(CertificateMapper certificateMapper, SealMapper sealMapper) {
- this.certificateMapper = certificateMapper;
- this.sealMapper = sealMapper;
- }
- @Scheduled(initialDelay = 0, fixedDelay = 3_600_000)
- public void updateExpiredStatuses() {
- LocalDateTime now = LocalDateTime.now();
- int expiredCertificates = certificateMapper.update(
- null,
- new LambdaUpdateWrapper<CertificateEntity>()
- .set(CertificateEntity::getStatus, "2")
- .in(CertificateEntity::getStatus, "1", "3")
- .lt(CertificateEntity::getValidTo, now)
- );
- int expiredSeals = sealMapper.update(
- null,
- new LambdaUpdateWrapper<Seal>()
- .set(Seal::getSealStatus, 4)
- .set(Seal::getUpdateTime, now)
- .set(Seal::getUpdateBy, "system")
- .in(Seal::getSealStatus, 1, 2)
- .lt(Seal::getValidEndTime, now)
- );
- if (expiredCertificates > 0 || expiredSeals > 0) {
- log.info("过期状态更新完成: certificates={}, seals={}", expiredCertificates, expiredSeals);
- }
- }
- }
|