package org.jeecg.modules.eam.job; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import org.apache.shiro.SecurityUtils; import org.jeecg.common.api.dto.message.MessageDTO; import org.jeecg.common.constant.enums.MessageSplitTypeEnum; import org.jeecg.common.system.api.ISysBaseAPI; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.modules.eam.entity.Equipment; import org.jeecg.modules.eam.service.IEamEquipmentService; import org.jeecg.modules.eam.service.IEquipmentUpdateInfoService; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.springframework.beans.factory.annotation.Autowired; import java.util.Calendar; import java.util.Date; import java.util.List; /** * @author lnl */ public class EquipmentWarrantyEndDateAlertJob implements Job { @Autowired private IEamEquipmentService equipmentService; @Autowired private ISysBaseAPI sysBaseApi; @Override public void execute(JobExecutionContext context) throws JobExecutionException { Calendar currentDate = Calendar.getInstance(); currentDate.add(Calendar.DATE, 30); Date finalDay = currentDate.getTime(); QueryWrapper queryWrapper = new QueryWrapper() .lt("warranty_end",finalDay).gt("warranty_end",new Date()).eq("del_flag",0); List equipmentList = equipmentService.list(queryWrapper); String title = "设备质保到期提醒!"; String msg = "统一编码为:"; for(Equipment equipment:equipmentList){ msg = msg+"【"+equipment.getNum()+"】"; } msg = msg+"的设备质保结束日期小于30天,请及时处理"; MessageDTO messageDTO = new MessageDTO(); messageDTO.setTitle(title); messageDTO.setContent(msg); messageDTO.setMessageType(MessageSplitTypeEnum.untilMaintenancePeriod.getType()); messageDTO.setCategory("系统消息"); messageDTO.setFromUser("到期提醒小助手-小醒"); messageDTO.setToUser("admin"); if(equipmentList.size()!=0){ sysBaseApi.sendSysAnnouncement(messageDTO); } } }