hyingbo
2025-05-27 3a740faa161ec976986c0735ba18837f570a525f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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<Equipment> queryWrapper = new QueryWrapper<Equipment>()
                .lt("warranty_end",finalDay).gt("warranty_end",new Date()).eq("del_flag",0);
        List<Equipment> 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);
        }
    }
}