package com.ruoyi.web.controller.task;
|
|
import cn.hutool.core.util.StrUtil;
|
import com.ruoyi.bussiness.enums.MessageTypeEnum;
|
import com.ruoyi.bussiness.service.PlacementBatchHouseholdService;
|
import com.ruoyi.bussiness.utils.PaymentCycleHelper;
|
import com.ruoyi.system.domain.SysNotice;
|
import com.ruoyi.system.service.ISysNoticeService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.stereotype.Component;
|
|
import java.math.BigDecimal;
|
import java.util.Date;
|
|
@Component
|
public class MessageTask {
|
|
|
@Autowired
|
private ISysNoticeService sysNoticeService;
|
@Autowired
|
private PlacementBatchHouseholdService placementBatchHouseholdService;
|
|
|
// 每年 12月、3月、6月、9月 的 15号早上9点提醒(季度前一个月15号)
|
@Scheduled(cron = "0 0 9 15 12,3,6,9 ?")
|
public void remindQuarterlyPaymentMid() {
|
String month = PaymentCycleHelper.getFirstPaymentCycle(new Date());
|
BigDecimal money = placementBatchHouseholdService.getPayMoneyByQuarter(month);
|
SysNotice sysNotice = new SysNotice();
|
String title = StrUtil.format(MessageTypeEnum.PLACEMENT_MONTH_PAY.getMessage(), money);
|
sysNotice.setNoticeTitle(title);
|
sysNotice.setStatus("0");
|
sysNotice.setNoticeType("1");
|
sysNotice.setCountNum(money);
|
sysNotice.setCreateTime(new Date());
|
sysNotice.setUpdateTime(new Date());
|
sysNoticeService.save(sysNotice);
|
}
|
|
// 每年 3月、6月、9月、12月 的最后一天早上9点提醒(季度前一个月最后一天)
|
//月底提醒:(3月/12月)
|
@Scheduled(cron = "0 0 9 31 3,12 ?")
|
public void remindQuarterlyPaymentEnd_Mar_Dec() {
|
String month = PaymentCycleHelper.getFirstPaymentCycle(new Date());
|
BigDecimal money = placementBatchHouseholdService.getPayMoneyByQuarter(month);
|
SysNotice sysNotice = new SysNotice();
|
String title = StrUtil.format(MessageTypeEnum.PLACEMENT_MONTH_PAY.getMessage(), money);
|
sysNotice.setNoticeTitle(title);
|
sysNotice.setStatus("0");
|
sysNotice.setNoticeType("1");
|
sysNotice.setCountNum(money);
|
sysNotice.setCreateTime(new Date());
|
sysNotice.setUpdateTime(new Date());
|
sysNoticeService.save(sysNotice);
|
}
|
|
/**
|
* 每年 3月、6月、9月、12月 的最后一天早上9点提醒(季度前一个月最后一天)
|
* 月底提醒:(6月/9月)
|
*/
|
@Scheduled(cron = "0 0 9 30 6,9 ?")
|
public void remindQuarterlyPaymentEnd_Jun_Sep() {
|
String month = PaymentCycleHelper.getFirstPaymentCycle(new Date());
|
BigDecimal money = placementBatchHouseholdService.getPayMoneyByQuarter(month);
|
SysNotice sysNotice = new SysNotice();
|
String title = StrUtil.format(MessageTypeEnum.PLACEMENT_MONTH_PAY.getMessage(), money);
|
sysNotice.setNoticeTitle(title);
|
sysNotice.setStatus("0");
|
sysNotice.setNoticeType("1");
|
sysNotice.setCountNum(money);
|
sysNotice.setCreateTime(new Date());
|
sysNotice.setUpdateTime(new Date());
|
sysNoticeService.save(sysNotice);
|
}
|
|
}
|