| | |
| | | package com.ruoyi.web.controller.task; |
| | | |
| | | |
| | | import com.ruoyi.system.model.TOldster; |
| | | import com.ruoyi.system.model.TOldsterWarning; |
| | | import com.ruoyi.system.model.TOtherConfig; |
| | | import com.ruoyi.system.service.TOldsterService; |
| | | import com.ruoyi.system.service.TOldsterWarningService; |
| | | import com.ruoyi.system.service.TOtherConfigService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.scheduling.annotation.Scheduled; |
| | | import org.springframework.stereotype.Component; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author xiaochen |
| | |
| | | @Component |
| | | public class TaskUtil { |
| | | |
| | | @Autowired |
| | | private TOldsterService oldsterService; |
| | | @Autowired |
| | | private TOldsterWarningService oldsterWarningService; |
| | | @Autowired |
| | | private TOtherConfigService otherConfigService; |
| | | |
| | | /** |
| | | * 每日0点定时任务 |
| | | */ |
| | | @Scheduled(cron = "0 0 0 * * ?") |
| | | public void generateOldsterWarning(){ |
| | | |
| | | // 查询所有老人信息 |
| | | List<TOldster> oldsterList = oldsterService.list(); |
| | | // 查询预警阈值 |
| | | TOtherConfig otherConfig = otherConfigService.getById(1); |
| | | Integer elderlyAge = otherConfig.getElderlyAge(); |
| | | Integer days = otherConfig.getDays(); |
| | | List<TOldsterWarning> oldsterWarningList = new ArrayList<>(); |
| | | for (TOldster oldster : oldsterList) { |
| | | LocalDate birthDate = oldster.getBirthDate(); |
| | | // 判断年龄是否与elderlyAge是否为同一年 |
| | | if(birthDate.plusYears(elderlyAge).getYear() == LocalDate.now().getYear() && birthDate.plusYears(elderlyAge).minusDays(days).isEqual(LocalDate.now())){ |
| | | // 添加预警信息 |
| | | TOldsterWarning oldsterWarning = new TOldsterWarning(); |
| | | oldsterWarning.setOldsterId(oldster.getId()); |
| | | oldsterWarning.setWarningTime(LocalDateTime.now()); |
| | | oldsterWarningList.add(oldsterWarning); |
| | | } |
| | | } |
| | | if(!CollectionUtils.isEmpty(oldsterWarningList)){ |
| | | oldsterWarningService.saveBatch(oldsterWarningList); |
| | | } |
| | | } |
| | | |
| | | } |