@Override
public int addRemindState() throws ParseException {
QueryPay queryPay = new QueryPay();
queryPayMapper.truncateFrom();
// List<QueryPay> queryPays = queryPayMapper.selectQueryPayList(queryPay);
List<QueryPay> queryPays = queryPayMapper.oldALL();
for (QueryPay pay : queryPays) {
String expire = pay.getPeriod();
String getSignInfo = expire.substring(expire.indexOf("_")+1);//获取开始截取的位置
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date workDate = simpleDateFormat.parse(getSignInfo);
Calendar cal = Calendar.getInstance();
cal.setTime(workDate);
String informDateType = pay.getRegularDate();
if (informDateType.equals("0")) {
cal.add(Calendar.YEAR, -pay.getRegular());
} else if (informDateType.equals("1")) {
cal.add(Calendar.MONTH, -pay.getRegular());
} else if (informDateType.equals("2")) {
cal.add(Calendar.DATE, -pay.getRegular());
}
workDate = cal.getTime();
int compareTo = workDate.compareTo(new Date());
if (compareTo == -1) {
Date date = new Date();
RegularPay regularPay = new RegularPay();
regularPay.setRegularName(pay.getPayWay());
regularPay.setName(pay.getOrganName());
regularPay.setUserId(pay.getUserId());
regularPay.setBusinessId(Math.toIntExact(pay.getBusinessId()));
int i = queryPayMapper.addRemindState(regularPay);
if (i == 0){
return 0;
}
}
}
return 1;
}
定时任务根据到期时间,指定提前某年月日提醒
最新推荐文章于 2024-08-22 10:20:33 发布
该代码片段主要展示了如何使用Java对QueryPay对象进行操作,通过SimpleDateFormat解析日期,使用Calendar调整日期,根据informDateType进行不同单位(-year,-month,-date)的减法计算,并判断结果是否小于当前日期,如果满足条件则执行添加提醒状态的操作。
805

被折叠的 条评论
为什么被折叠?



