BorrowTimer.java 1.31 KB
package com.ruoyi.service.timer;

import com.ruoyi.domain.ArchivesBorrow;
import com.ruoyi.mapper.ArchivesBorrowMapper;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.Scheduled;



import javax.annotation.Resource;
import java.time.Instant;
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.List;
import java.util.Date;

@Configuration
public class BorrowTimer {

    @Resource
    ArchivesBorrowMapper archivesBorrowMapper;

    @Scheduled(cron = "0 5 0 * * ?")

    void borrowTimer(){
        ArchivesBorrow ab=new ArchivesBorrow();
        ab.setStatus("wgh");
        List<ArchivesBorrow> list=archivesBorrowMapper.selectArchivesBorrowList(new ArchivesBorrow());
        list.forEach(archivesBorrow -> {
            Date date=archivesBorrow.getBorrowDate();
            Instant instant = date.toInstant();
            ZoneId zoneId = ZoneId.systemDefault();
            LocalDate borrowDate = instant.atZone(zoneId).toLocalDate();
            LocalDate returnDate =borrowDate.plusDays(archivesBorrow.getReturnDate());
            //逾期
            if(LocalDate.now().isAfter(returnDate)){
                archivesBorrow.setStatus("2");
                archivesBorrowMapper.updateArchivesBorrowById(archivesBorrow);
            }
        });
    }

}