package com.stylefeng.guns.modular.system.util;
|
|
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
import com.stylefeng.guns.modular.system.model.HouseResource;
|
import com.stylefeng.guns.modular.system.service.impl.HouseResourceService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.boot.autoconfigure.cache.CacheProperties;
|
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.stereotype.Component;
|
|
import java.time.LocalDateTime;
|
import java.time.ZoneId;
|
import java.time.temporal.ChronoUnit;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
@Component
|
public class MyScheduledTasks {
|
|
@Autowired
|
private HouseResourceService houseResourceService;
|
|
@Autowired
|
private RedisUtil redisUtil;
|
|
@Scheduled(fixedRate = 60000) // 每隔5秒执行一次任务
|
public void myTask() {
|
// 执行定时任务的逻辑
|
System.err.println("定时任务执行中...");
|
List<HouseResource> authStatus = houseResourceService.selectList(new EntityWrapper<HouseResource>().eq("auth_status", 1));
|
if (!authStatus.isEmpty()){
|
LocalDateTime currentTime = LocalDateTime.now();
|
String min = redisUtil.getValue("HouseAuthSetting");
|
if (!min.equals("null")) {
|
List<HouseResource> toUpdate = new ArrayList<>();
|
for (HouseResource resource : authStatus) {
|
// LocalDateTime insertTime = resource.getInsertTime();
|
LocalDateTime insertTime = resource.getInsertTime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
|
LocalDateTime oneMinuteAfter = insertTime.plus(Integer.parseInt(min), ChronoUnit.MINUTES);
|
if (currentTime.isAfter(oneMinuteAfter)) {
|
resource.setAuthStatus(2);
|
// resource.setAppUserId(1);
|
resource.setAuthTime(new Date());
|
toUpdate.add(resource);
|
// 当前时间超过insertTime之后的一分钟
|
System.out.println("当前时间超过了插入时间之后的一分钟");
|
} else {
|
// 当前时间未超过insertTime之后的一分钟
|
System.out.println("当前时间未超过插入时间之后的一分钟");
|
}
|
}
|
if (!toUpdate.isEmpty()) {
|
houseResourceService.updateBatchById(toUpdate);
|
}
|
}
|
}
|
|
|
}
|
}
|